Ошибка чтения сертификата

1

При запуске моего приложения на другом сервере появляется следующее исключение. Код работает на двух разных серверах tomcat, но по конкретному он не работает.

java.lang.NoClassDefFoundError: org/bouncycastle/asn1/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
    Да, ваш путь к классу во время выполнения не содержит указанный класс.
  • 0
    Должен ли я указать это на classpath моего сервера Tomcat?
Показать ещё 1 комментарий
Теги:
base64
certificate
private-key

1 ответ

1

java.lang.NoClassDefFoundError Это исключение возникает, когда JVM не может найти определенный класс во время выполнения, который был доступен во время компиляции.

Эта ссылка поможет вам

  • 0
    Я добавил bouncycastle.jar в мой classpath

Ещё вопросы

Сообщество Overcoder
Наверх
Меню