日期:2014-05-20  浏览次数:20772 次

运行Applet出现java.security.cert.CertificateParsingException
运行applet的时候,出现这个证书什么版本错误的,求大虾帮忙。。。
客户端环境:win7 家庭版/IE8

Java code

java.security.cert.CertificateParsingException: no more data allowed for version 1 certificate
    at sun.security.x509.X509CertInfo.parse(Unknown Source)
    at sun.security.x509.X509CertInfo.<init>(Unknown Source)
    at sun.security.x509.X509CertImpl.parse(Unknown Source)
    at sun.security.x509.X509CertImpl.<init>(Unknown Source)
    at sun.security.provider.X509Factory.parseX509orPKCS7Cert(Unknown Source)
    at sun.security.provider.X509Factory.engineGenerateCertificates(Unknown Source)
    at java.security.cert.CertificateFactory.generateCertificates(Unknown Source)
    at com.sun.deploy.security.WIExplorerCertStore.generateCertificate(Unknown Source)
    at com.sun.deploy.security.WIExplorerCertStore.loadCertificates(Native Method)
    at com.sun.deploy.security.WIExplorerCertStore.load(Unknown Source)
    at com.sun.deploy.security.WIExplorerCertStore.load(Unknown Source)
    at com.sun.deploy.security.LazyRootStore.loadBrowserStore(Unknown Source)
    at com.sun.deploy.security.LazyRootStore.getTrustAnchors(Unknown Source)
    at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
    at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
    at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.isAppletSigned(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)




------解决方案--------------------
no more data allowed for version 1 certificate

这里提示好像是版本1
------解决方案--------------------
好像是本地的证书没有删除掉吧,删除干净了再将新版证书?
------解决方案--------------------
这个问题不是jar包的签名证书引起的。而是验证jar包签名时,会遍历IE中的所有证书,如果某个证书是版本1,又包含扩展属性,就会出现这个问题。如工行的某个根证书:CCB CA Root