NetWorker: java.io.IOException: 잘못된 키 저장소 형식
Summary: Java keytool을 사용하여 NetWorker AUTHC 또는 NWUI(NetWorker Web User Interface) 키 저장소 파일을 나열하거나 수정할 수 없습니다.
Symptoms
AUTHC(NetWorker Authentication) 서버 또는 NWUI(NetWorker Web User Interface) 서버에는 JRE(Java Runtime Environment)가 포함됩니다. 일반적으로 이 작업은 NRE(NetWorker Runtime Environment)를 사용하여 촉진됩니다.
Linux: /opt/nre/java/latest
Windows: C:\Program Files\NRE\java\jre#.#.#_###
를 사용할 때 keytool 명령을 실행하여 NetWorker Authc/NWUI 키 저장소 파일을 검토할 때 java 오류가 표시됩니다.
[root@nsr bin]# keytool -list -keystore /nsr/authc/conf/authc.keystore Enter keystore password: keytool error: java.io.IOException: Invalid keystore format
이 오류는 keytool NRE java bin 디렉토리에서 직접 명령을 실행합니다.
NetWorker Server 키 저장소 파일:
-
/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
호스트에 다른 버전의 Oracle JRE(Java Runtime Environment)가 설치되어 있습니다. Oracle JRE 설치가 NRE를 방해하고 있습니다.
Resolution
NetWorker 애플리케이션과 함께 NRE(NetWorker Runtime Environment)를 사용하는 것이 좋습니다. NetWorker Server의 AUTHC 설치 로그에서 사용된 "Java 경로"를 식별합니다.
/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_471또는 관리 명령 프롬프트에서 다음을 실행합니다.
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
명령줄 변수를 사용하여 keytool NRE에서 사용법 :
Linux:
keytool=/opt/nre/java/latest/bin/keytool
예:
[root@nsr ~]# keytool=/opt/nre/java/latest/bin/keytool
다음 변수를 사용하여 모든 keytool 명령을 실행합니다.
[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:
다음으로 NSR_JAVA_HOME NRE에서 명령 실행 bin 디렉터리.
명령 프롬프트 예:
"%NSR_JAVA_HOME%\bin\keytool.exe" OPTIONS
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
NetWorker가 NRE(NetWorker Runtime Environment)를 사용하고 다른 Oracle JRE(Java Runtime Environment)가 설치된 경우 Oracle JRE 패키지를 제거합니다.
Linux:
- 다른 JRE 설치를 확인하고 다음 명령을 사용할 수 있습니다. 그러나 Linux 시스템 관리자에게 문의하십시오.
rpm -qa --last | grep jre find / -name java -type f
/etc/alternatives /usr/bin/java /usr/lib/jreX
- 다른 JRE 패키지가 설치되어 있는 경우 제거할 수 있는지 Linux 시스템 관리자에게 문의하십시오.
rpm -e package_name
Windows:
- Windows 제어판 -> 프로그램 및 기능을 엽니다.
- Oracle Java Runtime Environment 패키지(NetWorker Runtime Environment 제외)의 목록을 검토합니다.
- Oracle Java Runtime Environment가 설치되어 있는 경우 제거할 수 있는지 Windows 시스템 관리자에게 문의하십시오.
- 시스템에서 Oracle Java Runtime Environment를 제거합니다.
- Oracle JRE가 제거되면 새 명령 프롬프트 세션을 열어 keytool 명령을 실행합니다.