无法导入 .p12 密钥库

2022-09-02 21:23:32

我使用来自 pkcs8 密钥库的 openssl 创建了一个 .p12 密钥库。现在,我正在尝试使用 java Keytool 将私钥导入到新的 JKS 密钥库中。我尝试了以下命令:

keytool -importkeystore -srckeystore newKS.p12 -srcstoretype pkcs12 -srcstorepass pass -destkeystore exportedJks.jks -deststoretype jks -deststorepass pass

但是我收到以下错误消息:

keytool error: java.security.UnrecoverableKeyException: Get Key failed: EC KeyFactory 不可用

如何解决此错误,以便将此密钥导入到新的 JKS 密钥库中?


答案 1

错误消息意味着 Java 运行时找不到 ECC(椭圆曲线加密)算法的加密提供程序。

Java 6只包含对ECC的基本支持:它知道大多数EC算法的OID,因此知道它必须找到一个“EC KeyFactory”。但是,默认情况下,未安装可以处理这些算法的提供程序。

在 Java 7 中添加了具有完全 ECC 支持的 SunEC 提供程序,因此解决此问题的最简单方法是从 Java 7 或 8 运行时中使用 keytool。


答案 2