线程“主”中的异常java.lang.VerifyError:类org.bouncycastle.asn1.ASN1Primitive覆盖最终方法equals。(Ljava / lang / Object;)Z

萨朗

我正在将bcpkix-jdk15on-151.jar用于PEMParser.java类和oracle java 7,

但是在线

PEMParser pemRd =新的PEMParser(fRd);

我受到追捧

Exception in thread "main" java.lang.VerifyError: class org.bouncycastle.asn1.ASN1Primitive overrides final method equals.(Ljava/lang/Object;)Z
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at org.bouncycastle.openssl.PEMParser.<init>(Unknown Source)
    at com.sarang.test.CertificateLoader.getCertificate(CertificateLoader.java:24)
    at com.sarang.test.CertificateLoader.main(CertificateLoader.java:43)

我的源代码是:

public static X509Certificate getCertificate() throws IOException {
        String pemfile = "/home/sarang07/keys/key1.crt";
        java.security.cert.X509Certificate cert = null;

        try {
            FileReader fRd = new FileReader(pemfile);
            PEMParser pemRd = new PEMParser(fRd);

            Object o;
            o = pemRd.readPemObject();
            if (o instanceof java.security.cert.X509Certificate)
            {
                cert = (java.security.cert.X509Certificate) o;
            } else {
                throw new IOException("fail to load certificate from file " + pemfile);
            }
        } catch (FileNotFoundException e) {
            throw new IOException("Can't find file " + pemfile);
        }

        return cert;
    }
萨朗

终于我从下面的代码片段中得到了解决方案...

public static java.security.cert.X509Certificate getCertificate(String pemfile) throws Exception
{
    java.security.cert.X509Certificate cert = null;
    try {
        FileReader fRd = new FileReader(pemfile);
        final PemReader certReader = new PemReader(fRd);
        final PemObject certAsPemObject = certReader.readPemObject();
        if (!certAsPemObject.getType().equalsIgnoreCase("CERTIFICATE")) {
            throw new Exception("Certificate file does not contain a certificate but a " + certAsPemObject.getType());
        }
        final byte[] x509Data = certAsPemObject.getContent();
        final CertificateFactory fact = CertificateFactory.getInstance("X509");
        cert = (X509Certificate) fact.generateCertificate(new ByteArrayInputStream(x509Data));
        if (!(cert instanceof X509Certificate)) {
            throw new Exception("Certificate file does not contain an X509 certificate");
        }

    } catch (FileNotFoundException e) {
        throw new IOException("Can't find file " + pemfile);
    }
    return cert;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档