NetWorker: Помилка розбору параметрів PBE: Очікування ідентифікатора об'єкта для шифру AES
Summary: Самопідписаний сертифікат сервісу автентифікації NetWorker був замінений на сертифікати, підписані CA. Сервіс сервера NetWorker не запускається, повідомляючи про «PBE parameter parsing error: waiting the object identifier for the AES cipher» ...
Symptoms
- Самопідписаний сертифікат сервісу автентифікації NetWorker був замінений на сертифікати, підписані CA.
- Серверні сервіси NetWorker не запускаються після заміни сертифікатів. Журнал демонів сервера повідомляє про таку помилку під час запуску сервісу:
- Linux:
/nsr/logs/daemon.raw - Windows (за замовчуванням):
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw - NetWorker: Як користуватися
nsr_render_logдля рендерингу .raw файлів журналів
- Linux:
notice authservice: Caused by: java.io.IOException: PBE parameter parsing error: expecting the object identifier for AES cipher
Cause
Процес заміни самопідписаних сертифікатів на сертифікати, підписані CA, вимагає використання Java keytoolі OpenSSLгенерувати запит на підписання сертифікатів (CSR) та створити PKCS12 (p12) справ
.Ця проблема виникає через несумісність алгоритмів шифрування, які використовуються в PKCS12 Файли та Java keytoolздатності їх аналізувати, особливо коли йдеться про різні версії OpenSSL та Java.
Нові версії OpenSSL можуть за замовчуванням використовувати шифрування AES (наприклад, AES-256-CBC) при створенні .p12 Файли, які забезпечують захист приватних ключів і сертифікатів. Це безпечніше, ніж старі алгоритми, такі як 3DES.
Старіші версії Java (8u291 і раніше) не підтримують шифрування AES у PKCS12 Файли. Вони очікують, що шифрування використовуватиме старі алгоритми, такі як:
PBEWithSHAAnd3KeyTripleDESPBEWithSHAAndRC2_40
Тож коли Java keytool намагається імпортувати .p12 файл, зашифрований за допомогою AES, він не розбирає параметри шифрування на основі пароля (PBE), оскільки не розпізнає ідентифікатор об'єкта (OID) для AES.
Цю проблему можна також спостерігати, якщо на сервері встановлено кілька екземплярів Java. Наприклад, NetWorker налаштований на використання середовища виконання NetWorker Runtime Environment (NRE) і оновлюється до останньої версії NRE, яку підтримує версія NetWorker; однак на сервері також встановлена старіша версія Java Runtime Environment (JRE). Коли keytool Використовується команда в старішій версії, що спричинило проблему сумісності між .p12 та сховища сертифікатів, які використовує NetWorker.
Resolution
- Настійно рекомендується, щоб NetWorker був налаштований на використання NetWorker Runtime Environment (NRE). Переконайтеся, що NetWorker налаштований на використання NRE і що NRE регулярно оновлюється до останньої доступної версії, підтримуваної релізом NetWorker:
-
- NetWorker 19.12 та раніше: NRE 8.0.x
- NetWorker 19.13 і пізніше: NRE 17.0.x
- Середовище виконання NetWorker (NRE): Вступ і встановлення
ПРИМІТКА. Оновлення OsRollup та NetWorker Virtual Edition (NVE) використовуються для оновлення пакету NRE. NVE за замовчуванням налаштований на використання NRE.
- Під час виконання процедури заміни самопідписаних сертифікатів NetWorker або вкажіть повний шлях до keytool NRE, або використайте змінну для встановлення шляху в командній оболонці.
Linux: java_bin=/opt/nre/java/latest/bin
Вікна: set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
ПРИМІТКА. Шлях у Windows залежить від місця встановлення, обраного адміністратором резервного копію. Шлях також включає різні версії JRE залежно від встановленої версії NRE.
Усі наступні keyool Команди потім виконуються шляхом виклику змінної:
Linux: $java_bin/keytool OPTIONS
Вікна: %java_bin%\keytool OPTIONS
Повний процес описано у наступних статтях, специфічних для ОС: