NetWorker: java.io.IOException: Formato de keystore inválido
Summary: Não é possível listar ou modificar os arquivos de keystore do NetWorker AUTHC ou NetWorker Web User Interface (NWUI) usando o java keytool.
Symptoms
O servidor de autenticação do NetWorker (AUTHC) ou o servidor de interface do usuário da Web do NetWorker (NWUI) incluem o Java Runtime Environment (JRE). Normalmente, isso é facilitado usando o NetWorker Runtime Environment (NRE).
Linux: /opt/nre/java/latest
Windows: C:\Program Files\NRE\java\jre#.#.#_###
Ao usar o keytool para analisar os arquivos de keystore authc/NWUI do NetWorker, um erro Java será exibido:
[root@nsr bin]# keytool -list -keystore /nsr/authc/conf/authc.keystore Enter keystore password: keytool error: java.io.IOException: Invalid keystore format
Esse erro é exibido mesmo ao executar o keytool diretamente do diretório java bin do NRE.
Arquivos de keystore do servidor do NetWorker:
-
/nsr/authc/conf/authc.keystore/nsr/authc/conf/authc.truststore/opt/nsr/authc-server/conf/authc.truststore/opt/nre/java/latest/lib/security/cacerts
-
C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststoreC:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystoreC:\Program Files\NRE\java\jre##.#_###\lib\security\cacerts
-
/nsr/nwui/monitoring/app/conf/nwui.keystore/opt/nre/java/latest/cacerts
-
C:\Program Files\EMC NetWorker\nwui\monitoring\app\conf\nwui.keystoreC:\Program Files\NRE\java\jre#.#.#_###\lib\security\cacerts
Cause
Há outra versão do Oracle Java Runtime Environment (JRE) instalada no host. A instalação do Oracle JRE está interferindo no NRE.
Resolution
É recomendável usar o NetWorker Runtime Environment (NRE) com os aplicativos do NetWorker. O log de instalação AUTHC do servidor do NetWorker identifica qual "caminho Java" foi usado:
/opt/nsr/authc-server/logs/install.log
[root@nsr ~]# cat /opt/nsr/authc-server/logs/install.log | grep "Java Path" Java Path Yes /opt/nre/java/latest Java Path Yes /opt/nre/java/latest Java Path Yes /opt/nre/java/latestWindows:
%LOCALAPPDATA%\Temp\NetWorker_YYYYMMDDHHmmSS_#_AuthC.log
JAVAHOME = C:\Program Files\NRE\java\jre1.8.0_471Como alternativa, em um prompt de comando administrativo, execute:
echo %NSR_JAVA_HOME%
$env:NSR_JAVA_HOME
C:\Users\Administrator.NETWORKER>echo %NSR_JAVA_HOME% C:\Program Files\NRE\java\jre1.8.0_471 PS C:\Users\Administrator.NETWORKER> $env:NSR_JAVA_HOME C:\Program Files\NRE\java\jre1.8.0_471
Usar uma variável de linha de comando para forçar keytool uso do NRE:
Linux:
keytool=/opt/nre/java/latest/bin/keytool
Exemplo:
[root@nsr ~]# keytool=/opt/nre/java/latest/bin/keytool
Execute todos os comandos keytool usando a variável:
[root@nsr ~]# $keytool Key and Certificate Management Tool Commands: -certreq Generates a certificate request -changealias Changes an entry's alias -delete Deletes an entry -exportcert Exports certificate -genkeypair Generates a key pair -genseckey Generates a secret key -gencert Generates certificate from a certificate request -importcert Imports a certificate or a certificate chain -importpass Imports a password -importkeystore Imports one or all entries from another keystore -keypasswd Changes the key password of an entry -list Lists entries in a keystore -printcert Prints the content of a certificate -printcertreq Prints the content of a certificate request -printcrl Prints the content of a CRL file -storepasswd Changes the store password of a keystore Use "keytool -command_name -help" for usage of command_name
Windows:
Use o comando NSR_JAVA_HOME para executar comandos do NRE bin Diretório.
Exemplo de prompt de comando:
"%NSR_JAVA_HOME%\bin\keytool.exe" OPTIONS
Exemplo do PowerShell:
& "$env:NSR_JAVA_HOME\bin\keytool.exe" OPTIONS
C:\Users\Administrator.NETWORKER>"%NSR_JAVA_HOME%\bin\keytool.exe" Key and Certificate Management Tool Commands: -certreq Generates a certificate request -changealias Changes an entry's alias -delete Deletes an entry -exportcert Exports certificate -genkeypair Generates a key pair -genseckey Generates a secret key -gencert Generates certificate from a certificate request -importcert Imports a certificate or a certificate chain -importpass Imports a password -importkeystore Imports one or all entries from another keystore -keypasswd Changes the key password of an entry -list Lists entries in a keystore -printcert Prints the content of a certificate -printcertreq Prints the content of a certificate request -printcrl Prints the content of a CRL file -storepasswd Changes the store password of a keystore Use "keytool -command_name -help" for usage of command_name ............................................................................................................................................................................. PS C:\Users\Administrator.NETWORKER> & "$env:NSR_JAVA_HOME\bin\keytool.exe" Key and Certificate Management Tool Commands: -certreq Generates a certificate request -changealias Changes an entry's alias -delete Deletes an entry -exportcert Exports certificate -genkeypair Generates a key pair -genseckey Generates a secret key -gencert Generates certificate from a certificate request -importcert Imports a certificate or a certificate chain -importpass Imports a password -importkeystore Imports one or all entries from another keystore -keypasswd Changes the key password of an entry -list Lists entries in a keystore -printcert Prints the content of a certificate -printcertreq Prints the content of a certificate request -printcrl Prints the content of a CRL file -storepasswd Changes the store password of a keystore Use "keytool -command_name -help" for usage of command_name
Se o NetWorker usar o NetWorker Runtime Environment (NRE) e outro Oracle Java Runtime Environment (JRE) estiver instalado, remova o pacote Oracle JRE.
Linux:
- Verifique se há outra instalação do JRE, os seguintes comandos podem ser usados: no entanto, consulte o administrador do sistema Linux:
rpm -qa --last | grep jre find / -name java -type f
/etc/alternatives /usr/bin/java /usr/lib/jreX
- Se outro pacote do JRE estiver instalado, consulte o administrador do sistema Linux se ele puder ser removido.
rpm -e package_name
Windows:
- Abra o Painel de Controle do Windows -> Programas e Recursos.
- Analise a lista para conhecer um pacote do Oracle Java Runtime Environment (excluindo o NetWorker Runtime Environment).
- Se o Oracle Java Runtime Environment estiver instalado, consulte o administrador do sistema Windows se ele puder ser removido.
- Desinstale o Oracle Java Runtime Environment do sistema.
- Abra uma nova sessão do prompt de comando para executar comandos keytool depois que o Oracle JRE for removido.
Additional Information
- NetWorker: Como identificar qual servidor é o servidor de autenticação usado pelo NMC e NWUI
- NetWorker: Como configurar a autenticação LDAPS
- NetWorker: Como importar ou substituir certificados assinados pela Autoridade de Certificação para "Authc" e "NWUI" (Linux)
- NetWorker: Como importar ou substituir certificados assinados por uma autoridade de certificação para "AUTHC" e "NWUI" (Windows)