我们可以从 JRE 的 "cacerts" 文件中导出证书并将其导入到更高版本的 JRE 中吗?
Can we export certificates from JRE's "cacerts" file and import it to higher JRE version?
我正在使用 JRE 8u211。而且我在 cacerts 中添加的证书很少。但是当我将 JRE 升级到 8u261 时,这些证书没有被导入。所以现在我想使用别名以编程方式从 8u211 的 cacerts 文件中导出所需的证书,然后将这些证书导入到 8u261 的 cacerts 文件中。
这是否可行或受支持?
提前致谢。
证书只是一个数据。您绝对可以将其导出到文件中,然后将该数据导入到其他文件中。
如果您只是想将一个信任库文件的数据导入到另一个文件中,您可以直接使用缓冲区而不将数据存储到中间文件中:
keytool.exe -importkeystore -srckeystore %JAVA_HOME%\lib\security\cacerts -destkeystore \your\file\path\filename
-deststoretype jks
-srcstorepass changeit -deststorepass changeit
-v -noprompt
不过,你也可以将这两个操作一一进行:
要导出证书:
keytool -export -alias alias_name -keystore path_to_keystore_file -rfc -file path_to_certificate_file
要导入证书:
keytool -importcert -alias alias_name -file path_to_certificate_file -keystore truststore_file
我正在使用 JRE 8u211。而且我在 cacerts 中添加的证书很少。但是当我将 JRE 升级到 8u261 时,这些证书没有被导入。所以现在我想使用别名以编程方式从 8u211 的 cacerts 文件中导出所需的证书,然后将这些证书导入到 8u261 的 cacerts 文件中。
这是否可行或受支持?
提前致谢。
证书只是一个数据。您绝对可以将其导出到文件中,然后将该数据导入到其他文件中。
如果您只是想将一个信任库文件的数据导入到另一个文件中,您可以直接使用缓冲区而不将数据存储到中间文件中:
keytool.exe -importkeystore -srckeystore %JAVA_HOME%\lib\security\cacerts -destkeystore \your\file\path\filename
-deststoretype jks
-srcstorepass changeit -deststorepass changeit
-v -noprompt
不过,你也可以将这两个操作一一进行:
要导出证书:
keytool -export -alias alias_name -keystore path_to_keystore_file -rfc -file path_to_certificate_file
要导入证书:
keytool -importcert -alias alias_name -file path_to_certificate_file -keystore truststore_file