【问题标题】:Creating a Keystore with a signed der file and private key使用签名的 der 文件和私钥创建密钥库
【发布时间】:2016-09-15 04:34:54
【问题描述】:

目前,我有一个 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

我相信,在解决了这个问题之后,我应该使用类似的东西:

keytool -importkeystore -srckeystore test-keystore.p12  -srcstoretype pkcs12 -destkeystore test-keystore.jks -deststoretype  JKS

提前致谢。

【问题讨论】:

    标签: openssl keytool digital-certificate


    【解决方案1】:

    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
    

    另外:您不应指定与-in-certfile 相同的证书。 -in 应该是与私钥匹配的证书。如果您想要包含另一个证书,包括但不限于链证书,这就是-certfile 的用途。这种“额外”证书是否必要或可取取决于您的证书是如何颁发的,以及在某种程度上需要谁/什么来验证它,您甚至没有在问题中暗示过。

    请注意,如果您的信任库中有链证书,无论是默认证书还是您使用-CAfile 和/或-CApath 指定的证书,您都可以指定-chain,OpenSSL 将自动查找/选择所需的链为您提供的证书;这可能比手动决定 -certfile 中的内容更容易。

    同样,您无需将-deststoretype jks 指定为keytool,因为这是默认设置。

    【讨论】:

    • 感谢您的反馈,但我们现在遇到的主要问题是我们的集成平台只接受 DER 中的文件,而不接受 PEM 中的文件。
    猜你喜欢
    • 1970-01-01
    • 2016-01-17
    • 2015-07-10
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多