NetWorker. Ошибка анализа параметра PBE: Ожидание идентификатора объекта для шифрования AES
Summary: Самозаверяющий сертификат службы проверки подлинности NetWorker заменен сертификатами, подписанными ИС. Не удается запустить службу сервера NetWorker, выводя сообщение об ошибке анализа параметров PBE: ожидание идентификатора объекта для шифрования AES. ...
Symptoms
- Самозаверяющий сертификат службы проверки подлинности NetWorker заменен сертификатами, подписанными ИС.
- После замены сертификатов службы сервера 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
Процесс замены самозаверяющих сертификатов сертификатами, подписанными ИС, требует использования Java keytoolи OpenSSLдля создания запроса подписи сертификата (CSR) и создания PKCS12 (p12) файлов.
Эта проблема возникает из-за несовместимости между алгоритмами шифрования, используемыми в PKCS12 files и 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): Введение и установка
ПРИМЕЧАНИЕ. Для обновления пакета NRE используются обновления NetWorker Virtual Edition (NVE) OsRollup и NetWorker. По умолчанию NVE настроен на использование NRE.
- При выполнении процедуры замены самозаверяющих сертификатов NetWorker укажите полный путь к NRE keytool или используйте переменную для задания пути в командной оболочке.
Linux: java_bin=/opt/nre/java/latest/bin
Windows: set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
ПРИМЕЧАНИЕ. Путь в Windows отличается в зависимости от местоположения установки, выбранного администратором резервного копирования. Путь также включает различные версии JRE в зависимости от установленной версии NRE.
Все последующие keyool Затем команды выполняются путем вызова переменной:
Linux: $java_bin/keytool OPTIONS
Windows: %java_bin%\keytool OPTIONS
Полный процесс описан в следующих статьях, посвященных конкретным ОС: