【问题标题】:Input not an X.509 certificate Not working even after converting to DER输入不是 X.509 证书即使在转换为 DER 后也不起作用
【发布时间】:2012-05-10 13:31:17
【问题描述】:

首先我已经看过keytool error: java.lang.Exception: Input not an X.509 certificate这个帖子了。我无法在我的情况下应用相同的解决方案,这就是我发布此线程的原因。当我尝试将我的 PEM 文件导入 keytoo 时,它说

keytool 错误:java.lang.Exception:输入不是 X.509 证书

当我尝试使用 openssl 连接到具有 -CAfile 选项作为此 PEM 文件的服务器时。它连接得很好。

我按照上面帖子中的建议使用,将 PEM 文件转换为 DER 文件,

openssl x509 -outform der -in foo.pem -out foo.der

我成功将der文件导入keytool。但是,当我尝试连接到使用 openSSL 中的 PEM 文件可连接的服务器时,我无法连接。它在扔

javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source)
        at com.ibm.net.ssl.www.protocol.https.b.b(Unknown Source)
        at com.ibm.net.ssl.www.protocol.http.cb.a(Unknown Source)
        at com.ibm.net.ssl.www.protocol.http.cb.p(Unknown Source)

我创建了一个新线程来立即引起你们的关注,因为它是如此紧急。请帮忙。

【问题讨论】:

  • PEM 文件中包含接近 160 个证书

标签: keytool


【解决方案1】:

keytool 仅支持单个证书 PEM 文件。它们不能包含-----BEGIN CERTIFICATE----------END CERTIFICATE----- 括号之外的任何内容。

使用多部分 PEM 文件(例如 ca-bundle.crt)时,您需要将每个证书提取到单独的文件中。在使用 keytool 导入之前无需将它们转换为 DER

您也可以使用我的工具https://code.google.com/p/java-keyutil/,它可以将多部分 PEM 文件直接导入 JKS 文件。

【讨论】:

    猜你喜欢
    • 2016-06-25
    • 2013-01-31
    • 1970-01-01
    • 2014-08-16
    • 2014-11-16
    • 2023-03-21
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多