NetWorker: Fel vid parsning av PBE-parameter: Förväntar sig objektidentifieraren för AES-chiffer
Summary: Det självsignerade certifikatet för NetWorker-autentiseringstjänsten har ersatts med CA-signerade certifikat. NetWorker-servertjänsten startar inte, vilket rapporterar "PBE parameter parsing error: expecting the object identifier for the AES cipher" ...
Symptoms
- Det självsignerade certifikatet för NetWorker-autentiseringstjänsten har ersatts med CA-signerade certifikat.
- NetWorker-servertjänsterna startar inte efter att certifikaten har ersatts. Serverdaemonloggen rapporterar följande fel när tjänsten startas:
- Linux:
/nsr/logs/daemon.raw - Windows (Standard):
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw - NetWorker: Så här använder du den
nsr_render_logSå här återger du .raw loggfiler
- Linux:
notice authservice: Caused by: java.io.IOException: PBE parameter parsing error: expecting the object identifier for AES cipher
Cause
Den process som används för att ersätta självsignerade certifikat med CA-signerade certifikat kräver att du använder Java keytooloch OpenSSLför att generera CSR (Certificate Signing Request) och skapa PKCS12 (p12) filer.
Problemet uppstår på grund av inkompatibilitet mellan krypteringsalgoritmer som används i PKCS12 filer och Java keytools förmåga att analysera dem, särskilt när olika versioner av OpenSSL och Java är inblandade.
Nyare OpenSSL-versioner kan som standard använda AES-kryptering (t.ex. AES-256-CBC) när du skapar .p12 filer, skydda privata nycklar och certifikat. Detta är säkrare än äldre algoritmer som 3DES.
Äldre versioner av Java (8u291 och tidigare) har inte stöd för AES-kryptering i PKCS12 filer. De förväntar sig att krypteringen ska använda äldre algoritmer som:
PBEWithSHAAnd3KeyTripleDESPBEWithSHAAndRC2_40
Så när Java keytool försöker importera en .p12 fil krypterad med AES, kan den inte parsa parametrarna för lösenordsbaserad kryptering (PBE) eftersom den inte känner igen objektidentifieraren (OID) för AES.
Det här problemet kan också observeras om det finns flera instanser av Java installerade på servern. NetWorker är till exempel konfigurerat för att använda NetWorker Runtime Environment (NRE) och uppdateras till den senaste NRE-versionen som stöds av NetWorker-versionen. Servern har dock även en äldre version av Java Runtime Environment (JRE) installerad. När keytool används den äldre versionen användes, orsakade detta ett kompatibilitetsproblem mellan .p12 filer och de certifikatarkiv som används av NetWorker.
Resolution
- Vi rekommenderar starkt att NetWorker konfigureras för användning av NetWorker Runtime Environment (NRE). Kontrollera att NetWorker har konfigurerats för att använda NRE och att NRE regelbundet uppdateras till den senaste tillgängliga versionen som stöds av NetWorker-versionen:
-
- NetWorker 19.12 och tidigare: NRE 8.0.x
- NetWorker 19.13 och senare: NRE 17.0.x
- NetWorker Runtime-miljö (NRE): Introduktion och installation
Obs! NetWorker Virtual Edition (NVE) OsRollup- och NetWorker-uppgraderingarna används för att uppgradera NRE-paketet. NVE är konfigurerat att använda NRE som standard.
- När du följer proceduren för att ersätta självsignerade NetWorker-certifikat anger du antingen den fullständiga sökvägen till NRE-nyckelverktyget eller använder en variabel för att ange sökvägen i kommandogränssnittet.
Linux: java_bin=/opt/nre/java/latest/bin
Windows: set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
Obs! Sökvägen i Windows varierar beroende på vilken installationsplats som valts av administratören för säkerhetskopieringen. Sökvägen innehåller även olika JRE-versionshantering beroende på vilken NRE-version som är installerad.
Alla efterföljande keyool Kommandon körs sedan genom att anropa variabeln:
Linux: $java_bin/keytool OPTIONS
Windows: %java_bin%\keytool OPTIONS
Den fullständiga processen dokumenteras i följande OS-specifika artiklar: