NetWorker : Erreur d’analyse du paramètre PBE : Attente de l’ID d’objet pour le chiffrement AES
Summary: Le certificat auto-signé du service d’authentification NetWorker a été remplacé par des certificats signés par une autorité de certification. Le service NetWorker Server ne parvient pas à démarrer et signale « Erreur d’analyse du paramètre PBE : attente de l’identifiant d’objet pour le chiffrement AES » ...
Symptoms
- Le certificat auto-signé du service d’authentification NetWorker a été remplacé par des certificats signés par une autorité de certification.
- Les services du NetWorker Server ne démarrent pas après le remplacement des certificats. Le journal du processus du serveur signale l’erreur suivante lors du démarrage du service :
- Linux :
/nsr/logs/daemon.raw - Windows (par défaut) :
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw - NetWorker : Utilisation
nsr_render_logPour afficher .raw fichiers journaux
- Linux :
notice authservice: Caused by: java.io.IOException: PBE parameter parsing error: expecting the object identifier for AES cipher
Cause
Le processus de remplacement des certificats auto-signés par des certificats signés par une autorité de certification nécessite d’utiliser Java keytoolet OpenSSLpour générer une demande de signature de certificat (CSR) et créer PKCS12 (p12) dans les fichiers.
Ce problème se produit en raison d’une incompatibilité entre les algorithmes de chiffrement utilisés dans PKCS12 fichiers et l’attribut Java keytoolcapacité de les analyser, en particulier lorsque différentes versions d’OpenSSL et de Java sont impliquées.
Les versions plus récentes d’OpenSSL peuvent utiliser par défaut le chiffrement AES (par exemple, AES-256-CBC) lors de la création .p12 fichiers, sécurisation des clés privées et des certificats. C’est plus sûr que les anciens algorithmes comme 3DES.
Les anciennes versions de Java (8u291 et versions antérieures) ne prennent pas en charge le chiffrement AES dans PKCS12 Fichiers. Ils s’attendent à ce que le chiffrement utilise des algorithmes plus anciens tels que :
PBEWithSHAAnd3KeyTripleDESPBEWithSHAAndRC2_40
Ainsi, lorsque le Java keytool tente d’importer un fichier .p12 fichier chiffré avec AES, il ne parvient pas à analyser les paramètres de chiffrement basé sur mot de passe (PBE), car il ne reconnaît pas l’ID d’objet (OID) pour AES.
Ce problème peut également être observé si plusieurs instances de Java sont installées sur le serveur. Par exemple, NetWorker est configuré pour utiliser NetWorker Runtime Environment (NRE) et est mis à jour vers la dernière version NRE prise en charge par la version de NetWorker ; Toutefois, le serveur dispose également d’une ancienne version de Java Runtime Environment (JRE). lorsque la propriété keytool commande est utilisée l’ancienne version a été utilisée, ce qui a provoqué un problème de compatibilité entre le .p12 et les magasins de certificats utilisés par NetWorker.
Resolution
- Il est vivement recommandé que NetWorker soit configuré pour utiliser NetWorker Runtime Environment (NRE). Assurez-vous que NetWorker est configuré pour utiliser NRE et que NRE est régulièrement mis à jour vers la dernière version disponible prise en charge par la version de NetWorker :
-
- NetWorker 19.12 et versions antérieures : NRE 8.0.x
- NetWorker 19.13 et versions ultérieures : NRE 17.0.x
- NetWorker Runtime Environment (NRE) : Introduction et installation
Remarque : Les mises à niveau NetWorker Virtual Edition (NVE) OsRollup et NetWorker sont utilisées pour mettre à niveau le package NRE. NVE est configuré pour utiliser NRE par défaut.
- Lorsque vous suivez la procédure de remplacement des certificats auto-signés NetWorker, spécifiez le chemin d’accès complet à l’outil de clés NRE ou utilisez une variable pour définir le chemin dans le shell de commande.
Linux : java_bin=/opt/nre/java/latest/bin
Windows. : set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
Remarque : Le chemin sous Windows varie en fonction de l’emplacement d’installation choisi par l’administrateur de sauvegarde. Le chemin inclut également différentes versions JRE en fonction de la version NRE installée.
Toutes les actions suivantes keyool Les commandes sont ensuite exécutées en appelant la variable :
Linux : $java_bin/keytool OPTIONS
Windows. : %java_bin%\keytool OPTIONS
Le processus complet est documenté dans les articles suivants spécifiques au système d’exploitation :