阅读证书错误

时间:2014-08-06 16:00:02

标签: java certificate base64 private-key

在其他服务器上运行我的应用程序时出现以下异常。代码在两个不同的tomcat服务器中工作,但在特定的服务器上它不起作用。

  

java.lang.NoClassDefFoundError:   组织/ BouncyCastle的/ ASN 1 / PKCS / PrivateKeyInfo进行     org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi.engineGeneratePrivate(未知   来源)java.security.KeyFactory.generatePrivate(KeyFactory.java:372)

当我收到错误时,代码中的部分内容如下:

> pk = kf.generatePrivate(ks);

 PrivateKey pk = null;        
    X509Certificate cert = null;

Security.addProvider(new BouncyCastleProvider());
try{
    byte [] key = Base64.decodeBase64(llave.getBytes());
    byte [] cer = Base64.decodeBase64(certificado.getBytes());                              

    KeyFactory kf = KeyFactory.getInstance("RSA");
    PKCS8EncodedKeySpec ks = new PKCS8EncodedKeySpec(key);
    pk = kf.generatePrivate(ks);
    pk.getEncoded();

    CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
    InputStream in = new ByteArrayInputStream(cer);
    cert = (X509Certificate)certFactory.generateCertificate(in);

    DateTime fechaDesde = new DateTime(cert.getNotBefore());
    DateTime fechaHasta = new DateTime(cert.getNotAfter());

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

java.lang.NoClassDefFoundError 当JVM无法在运行时找到编译时可用的特定类时抛出此异常。

This link will help you