NetWorker: Błąd analizy parametrów PBE: Oczekiwanie na identyfikator obiektu dla szyfru AES
Summary: Certyfikat z podpisem własnym usługi uwierzytelniania NetWorker został zastąpiony certyfikatami podpisanymi przez urząd certyfikacji. Usługa serwera NetWorker nie uruchamia się, zgłaszając błąd analizy parametrów PBE: oczekiwanie na identyfikator obiektu dla szyfru AES" ...
Symptoms
- Certyfikat z podpisem własnym usługi uwierzytelniania NetWorker został zastąpiony certyfikatami podpisanymi przez urząd certyfikacji.
- Usługi serwera NetWorker nie uruchamiają się po zastąpieniu certyfikatów. Dziennik demona serwera zgłasza następujący błąd podczas uruchamiania usługi:
- Linux:
/nsr/logs/daemon.raw - Windows (ustawienie domyślne):
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw - NetWorker: Sposób użycia
nsr_render_logAby wyrenderować pliki dziennika .raw
- Linux:
notice authservice: Caused by: java.io.IOException: PBE parameter parsing error: expecting the object identifier for AES cipher
Cause
Proces używany do zastępowania certyfikatów z podpisem własnym certyfikatami podpisanymi przez instytucję certyfikującą wymaga użycia Java keytooli OpenSSL, aby wygenerować żądanie podpisania certyfikatu (CSR) i utworzyć PKCS12 (p12) plików.
Ten problem wynika z niezgodności między algorytmami szyfrowania używanymi w PKCS12 pliki i Java keytoolzdolność do ich analizowania, zwłaszcza gdy w grę wchodzą różne wersje OpenSSL i Java.
Nowsze wersje OpenSSL mogą domyślnie korzystać z szyfrowania AES (np. AES-256-CBC) podczas tworzenia .p12 plików, zabezpieczania kluczy prywatnych i certyfikatów. Jest to bezpieczniejsze niż starsze algorytmy, takie jak 3DES.
Starsze wersje języka Java (8u291 i starsze) nie obsługują szyfrowania AES w PKCS12 Pliki. Oczekują, że szyfrowanie będzie używać starszych algorytmów, takich jak:
PBEWithSHAAnd3KeyTripleDESPBEWithSHAAndRC2_40
Więc kiedy Java keytool próbuje zaimportować plik .p12 plik zaszyfrowany za pomocą AES, nie przetwarza parametrów szyfrowania opartego na hasłach (PBE), ponieważ nie rozpoznaje identyfikatora obiektu (OID) dla AES.
Ten problem można również zaobserwować, jeśli na serwerze zainstalowano wiele instancji oprogramowania Java. Na przykład NetWorker jest skonfigurowany do korzystania ze środowiska NetWorker Runtime Environment (NRE) i jest aktualizowany do najnowszej wersji NRE obsługiwanej przez wersję NetWorker; jednak serwer ma również zainstalowaną starszą wersję środowiska Java Runtime Environment (JRE). Po zakończeniu keytool użyto starszego polecenia, co spowodowało problem ze zgodnością między .p12 i magazyny certyfikatów używane przez NetWorker.
Resolution
- Zdecydowanie zaleca się, aby NetWorker był skonfigurowany do korzystania ze środowiska NetWorker Runtime Environment (NRE). Upewnij się, że narzędzie NetWorker jest skonfigurowane do korzystania z funkcji NRE i że funkcja NRE jest rutynowo aktualizowana do najnowszej dostępnej wersji obsługiwanej przez daną wersję NetWorker:
-
- NetWorker 19.12 i wcześniejsze: NRE 8.0.x
- NetWorker 19.13 i nowsze wersje: NRE 17.0.x
- Środowisko wykonawcze NetWorker (NRE): Wprowadzenie i instalacja
UWAGA: Do uaktualnienia pakietu NRE służą uaktualnienia NetWorker Virtual Edition (NVE) OsRollup i NetWorker. Narzędzie NVE jest domyślnie skonfigurowane do korzystania z NRE.
- Podczas wykonywania procedury zastępowania certyfikatów NetWorker z podpisem własnym należy określić pełną ścieżkę do narzędzia klucza NRE lub użyć zmiennej, aby ustawić ścieżkę w powłoce poleceń.
Linux: java_bin=/opt/nre/java/latest/bin
Windows: set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
UWAGA: Ścieżka w systemie Windows różni się w zależności od lokalizacji instalacji wybranej przez administratora kopii zapasowych. Ścieżka obejmuje również różne wersje środowiska JRE w zależności od zainstalowanej wersji NRE.
Wszystkie kolejne keyool Polecenia są następnie uruchamiane przez wywołanie zmiennej:
Linux: $java_bin/keytool OPTIONS
Windows: %java_bin%\keytool OPTIONS
Cały proces jest udokumentowany w następujących artykułach specyficznych dla systemu operacyjnego: