0

当我尝试使用它将我的证书导入密钥库时,keytool它显示:

keytool error: java.security.cert.CertificateException: java.io.IOException: Illegal footer: ----END CERTIFICATE-----
java.security.cert.CertificateException: java.io.IOException: Illegal footer: ----END CERTIFICATE-----
        at sun.security.provider.X509Factory.engineGenerateCertificates(X509Factory.java:337)
        at java.security.cert.CertificateFactory.generateCertificates(CertificateFactory.java:462)
        at sun.security.tools.KeyTool.installReply(KeyTool.java:2571)
        at sun.security.tools.KeyTool.doCommands(KeyTool.java:998)
        at sun.security.tools.KeyTool.run(KeyTool.java:340)
        at sun.security.tools.KeyTool.main(KeyTool.java:333)
Caused by: java.io.IOException: Illegal footer: ----END CERTIFICATE-----
        at sun.security.provider.X509Factory.checkHeaderFooter(X509Factory.java:590)
        at sun.security.provider.X509Factory.readOneBlock(X509Factory.java:575)
        at sun.security.provider.X509Factory.parseX509orPKCS7Cert(X509Factory.java:413)
        at sun.security.provider.X509Factory.engineGenerateCertificates(X509Factory.java:335)
        ... 5 more

我已经成功地将 CA 证书添加到我的密钥库中,没有任何问题。任何人都可以帮忙吗?有语法错误吗?我正在使用带有 java 7 的 Glassfish 3.1.2.2。

4

1 回答 1

2

使用 -----END CERTIFICATE----- 而不是 ----END CERTIFICATE-----

Java 7 需要 5 个前导 -,Java 6 可能没有。见源http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/sun/security/provider/X509Factory.java

于 2014-01-21T14:25:57.723 回答