在其他服务器上运行我的应用程序时出现以下异常。代码在两个不同的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());
有人知道为什么会这样吗?
答案 0 :(得分:1)
java.lang.NoClassDefFoundError 当JVM无法在运行时找到编译时可用的特定类时抛出此异常。