用keytool检察或倒入Windows2000的证书服务器根证书出错?
我用Windows2000的证书服务器颁发证书,根证书存为Base64编码,文件名为ca.cer,另外又给一个服务器颁发了证书,文件名存为server1.cer。
使用java自带的keytool时出现下列现象:
1、keytool -v -printcert -file ca.cer报错;
2、keytool -v -printcert -file server1.cer却没有出错;
3、ca.cer可以双击打开查看证书,用记事本打开后看应该格式没有错:
-----BEGIN CERTIFICATE-----
MIIDOTCCAqKgAwIBAgIQXNipnjsEkqlK17VuVW6JNDANBgkqhkiG9w0BAQUFADBz
MRwwGgYJKoZIhvcNAQkBFg1scGpAZmltbXUuY29tMQswCQYDVQQGEwJDTjELMAkG
A1UECBMCR0QxCzAJBgNVBAcTAkdaMQ4wDAYDVQQKEwVGSU1NVTEMMAoGA1UECxMD
Tk1DMQ4wDAYDVQQDEwVMUEpDQTAeFw0wNDA4MTAwNTI5MzlaFw0xNDA4MTAwNTM4
NTVaMHMxHDAaBgkqhkiG9w0BCQEWDWxwakBmaW1tdS5jb20xCzAJBgNVBAYTAkNO
MQswCQYDVQQIEwJHRDELMAkGA1UEBxMCR1oxDjAMBgNVBAoTBUZJTU1VMQwwCgYD
VQQLEwNOTUMxDjAMBgNVBAMTBUxQSkNBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
iQKBgQCwBiUPh20a0JB5wuUL4x/s+7yIJOK41nhpkBMZ/uvpEIpGYac9xZo8vmy8
64G1vEa3L5hpAxlz02qQ2n5RI0IBu67Tle1Pxw9c5sqQX2NLi+a5U+vgG03A4rg0
AZBA0XJSIV8aoWo41euoe1Xj9i2D9Dqcn7xa3tv12GN5e2NqIwIDAQABo4HNMIHK
MAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSbjM9Z1smk
/vAYkpQovOWzaH51RTB3BgNVHR8EcDBuMDSgMqAwhi5odHRwOi8vbHBqLTdhNjQ4
NzVkZDY2L0NlcnRFbnJvbGwvTFBKQ0EoMSkuY3JsMDagNKAyhjBmaWxlOi8vXFxs
cGotN2E2NDg3NWRkNjZcQ2VydEVucm9sbFxMUEpDQSgxKS5jcmwwEgYJKwYBBAGC
NxUBBAUCAwEAATANBgkqhkiG9w0BAQUFAAOBgQCcW1T45tDLny3F0dtbDk+eQQde
lCmotM2rw6qslOKFZILSneGbLx1Qfx+QBkZ0RrFC8qVakCH4bobj+Jn+DkJdV6R0
UjqeehELnRBQNXY6mxXr3ysNwK1AWyb+KfIofKT4rgHkfUexOk/6QtGnbM9X3hkY
GldkPj0sKPE7I0kksg==
-----END CERTIFICATE-----
不知是何原因,有没有人碰到过这种情况?
附:keytool -v -printcert -file ca.cer报错信息:
sun.security.pkcs.ParsingException: X509.ObjectIdentifier() -- data isn't an obj
ect ID (tag = 48)
at sun.security.pkcs.PKCS7.parse(PKCS7.java:118)
at sun.security.pkcs.PKCS7.<init>(PKCS7.java:68)
at sun.security.provider.X509Factory.parseX509orPKCS7Cert(X509Factory.ja
va:530)
at sun.security.provider.X509Factory.engineGenerateCertificates(X509Fact
ory.java:407)
at java.security.cert.CertificateFactory.generateCertificates(Certificat
eFactory.java:511)
at sun.security.tools.KeyTool.doPrintCert(KeyTool.java:1021)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:539)
at sun.security.tools.KeyTool.run(KeyTool.java:124)
at sun.security.tools.KeyTool.main(KeyTool.java:118)
Caused by: java.io.IOException: X509.ObjectIdentifier() -- data isn't an object
ID (tag = 48)
at sun.security.util.ObjectIdentifier.<init>(ObjectIdentifier.java:134)
at sun.security.util.DerInputStream.getOID(DerInputStream.java:250)
at sun.security.pkcs.ContentInfo.<init>(ContentInfo.java:120)
at sun.security.pkcs.PKCS7.parse(PKCS7.java:136)
at sun.security.pkcs.PKCS7.parse(PKCS7.java:115)
... 8 more
keytool错误: java.lang.Exception: 无法对输入进行语法分析
请高手指教,谢谢!