我使用pkcs8密钥库中的openssl创建了一个.p12密钥库。现在我尝试使用Java Keytool将私钥导入到新的JKS密钥库中。我尝试了命令:
keytool -importkeystore -srckeystore newKS.p12 -srcstoretype pkcs12 -srcstorepass传递-destkeystore exportedJks.jks -deststoretype jks -deststorepass传递
但是我收到以下错误消息:
keytool错误:java.security.UnrecoverableKeyException:获取密钥 失败:EC KeyFactory不可用
如何解决此错误,以便将此密钥导入新的JKS密钥库?
答案 0 :(得分:24)
错误消息表示Java运行时无法找到ECC(椭圆曲线加密)算法的加密提供程序。
Java 6仅包含对ECC的基本支持:它知道大多数EC算法的OID,因此知道它必须找到“EC KeyFactory”。但是,默认情况下,没有安装可以处理这些算法的提供程序。
在Java 7中添加了具有完全ECC支持的SunEC provider,因此解决此问题的最简单方法是使用Java 7或8运行时的keytool。