NetWorker: Erro de análise de parâmetro PBE: Esperando o identificador de objeto para codificação AES
Summary: O certificado autoassinado do NetWorker Authentication Service foi substituído por certificados assinados pela CA. Falha ao iniciar o serviço do servidor do NetWorker, relatando "Erro de análise de parâmetro PBE: esperando o identificador de objeto para a codificação AES" ...
Symptoms
- O certificado autoassinado do NetWorker Authentication Service foi substituído por certificados assinados pela CA.
- Os serviços do servidor do NetWorker falham ao iniciar após a substituição dos certificados. O log do daemon do servidor relata o seguinte erro durante a inicialização do serviço:
- Linux:
/nsr/logs/daemon.raw - Windows (padrão):
C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw - NetWorker: Como usar
nsr_render_logPara renderizar .raw arquivos de log
- Linux:
notice authservice: Caused by: java.io.IOException: PBE parameter parsing error: expecting the object identifier for AES cipher
Cause
O processo usado para substituir certificados autoassinados por certificados assinados por uma CA requer o uso de Java keytoole OpenSSLpara gerar uma solicitação de assinatura de certificado (CSR) e criar o PKCS12 (p12) arquivos.
Esse problema surge devido à incompatibilidade entre algoritmos de criptografia usados no PKCS12 arquivos e o Java keytoolcapacidade de analisá-los, especialmente quando diferentes versões do OpenSSL e Java estão envolvidas.
As versões mais recentes do OpenSSL podem usar criptografia AES como padrão (por exemplo, AES-256-CBC) ao criar .p12 arquivos, protegendo chaves privadas e certificados. Isso é mais seguro do que algoritmos mais antigos, como o 3DES.
Versões mais antigas do Java (8u291 e anteriores) não suportam criptografia AES no PKCS12 limas. Eles esperam que a criptografia use algoritmos mais antigos, como:
PBEWithSHAAnd3KeyTripleDESPBEWithSHAAndRC2_40
Então, quando o Java keytool tenta importar um .p12 criptografado com AES, ele falha ao analisar os parâmetros de criptografia baseada em senha (PBE), porque ele não reconhece o identificador de objeto (OID) para AES.
Esse problema também poderá ser observado se houver várias instâncias do Java instaladas no servidor. Por exemplo, o NetWorker é configurado para usar o NetWorker Runtime Environment (NRE) e é atualizado para a versão mais recente do NRE compatível com a versão do NetWorker; no entanto, o servidor também tem uma versão mais antiga do Java Runtime Environment (JRE) instalada. Quando a propriedade do keytool comando é usado a versão mais antiga foi usada, isso causou um problema de compatibilidade entre o .p12 e os armazenamentos de certificados usados pelo NetWorker.
Resolution
- É altamente recomendável que o NetWorker esteja configurado para usar o NetWorker Runtime Environment (NRE). Certifique-se de que o NetWorker esteja configurado para usar o NRE e que o NRE seja atualizado rotineiramente para a versão mais recente disponível, compatível com a versão do NetWorker:
-
- NetWorker 19.12 e anteriores: NRE 8.0.x
- NetWorker 19.13 e posterior: NRE 17.0.x
- Ambiente de execução do NetWorker (NRE): Introdução e instalação
Nota: O NetWorker Virtual Edition (NVE) OsRollup e os upgrades do NetWorker são usados para fazer upgrade do pacote NRE. O NVE está configurado para usar o NRE por padrão.
- Ao seguir o procedimento para substituir certificados autoassinados do NetWorker, especifique o caminho completo para o NRE keytool ou use uma variável para definir o caminho no shell de comando.
Linux: java_bin=/opt/nre/java/latest/bin
Windows: set java_bin="C:\Program Files\NRE\java\jre#.#.#_###\bin"
Nota: O caminho no Windows difere dependendo do local de instalação escolhido pelo administrador de backup. O caminho também inclui diferentes versões do JRE, dependendo da versão do NRE instalada.
Todos os subseqüentes keyool Em seguida, os comandos são executados chamando a variável:
Linux: $java_bin/keytool OPTIONS
Windows: %java_bin%\keytool OPTIONS
O processo completo está documentado nos seguintes artigos específicos do sistema operacional: