将包含 3DES 密钥的 Java JCEKS 密钥库转换为 PKCS12
Convert Java JCEKS keystore containing 3DES key to PKCS12
我正在尝试将 Java JCEKS 密钥库转换为包含两个对称密钥(一个 AES 和一个 3DES)的 PKCS12。
AES 密钥可以很好地导入到 PKCS12 文件中,但不能导入 3DES 密钥。
我使用的命令是:
"c:\Program Files\Java\jdk-10.0.1\bin\keytool.exe" -importkeystore -srckeystore D:\temp\ssc.jceks -srcstoretype jceks -destkeystore D:\temp\ssc.p12 -deststoretype pkcs12
我收到以下错误消息:
java.security.KeyStoreException: Key protection algorithm not found: java.security.NoSuchAlgorithmException: unrecognized algorithm name: DESede
这是 Java 10.0.1,我也试过 Java 8u171 和 Java 11 EA 17.
Keytool 可以很好地列出 JCEKS 密钥库:
"c:\Program Files\Java\jdk-10.0.1\bin\keytool.exe" -list -keystore D:\temp\ssc.jceks -storepass xxxxx -storetype jceks -v
知道如何将 3DES 密钥导入 PKCS12 密钥库吗?
谢谢。
看起来实现 PKCS12
KeyStore 的默认 SunJSSE
提供商不支持 DESede
算法。
你最好的选择是将它们放在 JCEKS
密钥库中(它是 Java 的专有,但 PKCS#11 标准是不存储非私钥的。即使你有做,可能不支持 DESede,因为 AES 被认为比 DESede 安全得多,并且是行业标准。)
我正在尝试将 Java JCEKS 密钥库转换为包含两个对称密钥(一个 AES 和一个 3DES)的 PKCS12。
AES 密钥可以很好地导入到 PKCS12 文件中,但不能导入 3DES 密钥。
我使用的命令是:
"c:\Program Files\Java\jdk-10.0.1\bin\keytool.exe" -importkeystore -srckeystore D:\temp\ssc.jceks -srcstoretype jceks -destkeystore D:\temp\ssc.p12 -deststoretype pkcs12
我收到以下错误消息:
java.security.KeyStoreException: Key protection algorithm not found: java.security.NoSuchAlgorithmException: unrecognized algorithm name: DESede
这是 Java 10.0.1,我也试过 Java 8u171 和 Java 11 EA 17.
Keytool 可以很好地列出 JCEKS 密钥库:
"c:\Program Files\Java\jdk-10.0.1\bin\keytool.exe" -list -keystore D:\temp\ssc.jceks -storepass xxxxx -storetype jceks -v
知道如何将 3DES 密钥导入 PKCS12 密钥库吗?
谢谢。
看起来实现 PKCS12
KeyStore 的默认 SunJSSE
提供商不支持 DESede
算法。
你最好的选择是将它们放在 JCEKS
密钥库中(它是 Java 的专有,但 PKCS#11 标准是不存储非私钥的。即使你有做,可能不支持 DESede,因为 AES 被认为比 DESede 安全得多,并且是行业标准。)