1

首先,我已经看到 post 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)

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

4

1 回答 1

0

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

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

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

于 2013-02-22T23:34:05.380 回答