Openssl 使用已签名的der文件和私钥创建密钥库
目前,我有一个der文件和一个私有文件,但目前我无法找到一个合适的文档来允许我基于der和我的私有密钥创建一个jks密钥库文件 到目前为止,我所尝试的: 创建pkcs12文件:Openssl 使用已签名的der文件和私钥创建密钥库,openssl,keytool,digital-certificate,Openssl,Keytool,Digital Certificate,目前,我有一个der文件和一个私有文件,但目前我无法找到一个合适的文档来允许我基于der和我的私有密钥创建一个jks密钥库文件 到目前为止,我所尝试的: 创建pkcs12文件: openssl pkcs12 -export -in received_ca_cert.der -inkey mykey.key -certfile received_ca_cert.der -out test-keystore.p12 错误消息: unable to load certificates 我相信
openssl pkcs12 -export -in received_ca_cert.der -inkey mykey.key -certfile received_ca_cert.der -out test-keystore.p12
错误消息:
unable to load certificates
我相信,在解决了这个问题之后,我应该使用以下方法:
keytool -importkeystore -srckeystore test-keystore.p12 -srcstoretype pkcs12 -destkeystore test-keystore.jks -deststoretype JKS
提前感谢。
pkcs12-export
要求它的所有输入文件——私钥和一个或多个证书——都是PEM格式(正如OpenSSL所定义/扩展的,因为二十年前实际的PEM没有涵盖这一点)将证书从DER转换为PEM,使用:
openssl x509 -in certfile.der -inform DER -out certfile.pem
# you can specify -outform PEM but it's the default and hence unneeded
另外:您不应在和-certfile
中指定与-in相同的证书<代码>-在
中应该是与私钥匹配的证书。如果您希望包含另一个或多个证书,包括但不限于链证书,则这就是-certfile
的用途。此类“额外”证书是必要的还是可取的,取决于您的证书是如何颁发的,以及在一定程度上需要谁/什么来验证,而您在问题中甚至没有暗示这一点
请注意,如果您的信任库中有链证书,无论是默认证书还是使用-CAfile
和/或-CApath
指定的证书,您都可以指定-chain
,OpenSSL将自动为您查找/选择所需的链证书;这可能比手动决定进入-certfile
的内容更容易
同样,您不需要将
-deststoretype jks
指定为keytool
,因为这是默认设置。感谢您的反馈,但我们目前的主要问题是,我们的集成平台只接受DER中的文件,而不是PEM中的文件。