Криптография Glassfish 5 работает только при запуске внутри среды IDE Netbeans 9.0 - PullRequest
0 голосов
/ 31 октября 2019

Я использую Netbeans IDE 9.0 Glassfish 5.0 JDK 1.8.0_191 x64

Я также использую AES Cryptogtraphy для запросов / ответов на Glassfish. Когда я запускаю glassfish 5.0 из среды IDE Netbeans, код криптографии работает. При запуске одного только Glassfish 5.0 (asenv.exe) криптография выдает ошибку: Не удается найти провайдера, поддерживающего AES / CBC / PKCS5Padding

Перед обновлением до Glassfish 5 я использовал Glassfish 4.0, и криптография работала в обоих случаях(запускается один и внутри Netbeans).

Когда я запускаю glassfish 4.0 самостоятельно или внутри Netbeans, криптография работает нормально. В обоих случаях (glassfish 4.0, glassfish 5.0) мое приложение .war точно такое же.

Я запускаю Netbeans 5.0, glasssfish 5.0, glassfish 4.0 с тем же JDK (1.8.0_191 x64).

Я предполагаю, что некоторые библиотеки не поставляются в Glassfish 5.0, хотя я не смогнайти решение.

Код, который я использую для шифрования всех ответов в моем приложении glassfish:

    cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    key = new SecretKeySpec(encryptionKey.getBytes("UTF-8"), "AES");
    cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(iv.getBytes("UTF-8")));
    enc1 = cipher.doFinal(in.toByteArray());
    out.write(enc1);

encryptionKey и iv - 16-символьные строки (128-битные ключи).

Ошибка журнала, которую я получаю:

2019-10-31 13: 22: 46: 807 ОШИБКА Не удается найти любого поставщика, поддерживающего AES / CBC / PKCS5Padding

java.security.NoSuchAlgorithmException: не удается найтилюбой провайдер, поддерживающий AES / CBC / PKCS5Padding на

javax.crypto.Cipher.getInstance (Cipher.java:539)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...