NetWorker: authc 명령이 실패하고 "unable to find valid certification path"
Summary: NetWorker에서 "unable to find valid certification path to requested target"을 보고하면 authc_config 및 authc_mgmt 명령이 실패합니다.
Symptoms
- NetWorker 서버는 독립 실행형(클러스터링되지 않은) 시스템에 구축됩니다.
- NetWorker 인증 명령(
authc_config,authc_mgmt) 다음 오류가 보고되면서 실패합니다.
[root@networker-mc bin]# authc_mgmt -u administrator -e find-all-users Enter password: ERROR [main] (DefaultLogger.java:190) - Error executing command. Failure: I/O error on POST request for https://localhost:9090/auth-server/api/v1/sec/authenticate [localhost]: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- 이 문제는 로컬 NetWorker 인증 또는 외부(LDAP) 인증을 사용하는 경우와 관계없이 발생합니다.
Cause
emcauthctomcat 인증서의 서명이 일치하지 않습니다. Emcauthctomcat은 NetWorker 배포 중에 기본적으로 구성됩니다. 이 인증서는 세 가지 위치에 있습니다.
Linux:
- /nsr/authc/conf/authc.keystore
- /opt/nsr/authc-server/conf/authc.truststore
- /opt/nre/java/latest/lib/security/cacerts
Windows:
- C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Program Files\NRE\java\jre#.#.##_###\lib\security\cacerts
[root@networker-mc bin]# ./keytool -list -keystore /opt/nre/java/latest/lib/security/cacerts -storepass changeit | grep -A1 emcauth emcauthctomcat, Oct 7, 2022, trustedCertEntry, Certificate fingerprint (SHA-256): 3B:18:1E:DF:39:ED:5B:4B:CF:9F:92:22:E8:D9:96:54:E0:21:A4:EB:06:D6:36:32:03:76:5E:CC:BA:B1:15:6B [root@networker-mc bin]# ./keytool -list -keystore /opt/nsr/authc-server/conf/authc.truststore | grep -A1 emcauthctom Enter keystore password: emcauthctomcat, Oct 7, 2022, trustedCertEntry, Certificate fingerprint (SHA-256): 3B:18:1E:DF:39:ED:5B:4B:CF:9F:92:22:E8:D9:96:54:E0:21:A4:EB:06:D6:36:32:03:76:5E:CC:BA:B1:15:6B [root@networker-mc bin]# ./keytool -list -keystore /nsr/authc/conf/authc.keystore | grep -A1 emcauthctomcat Enter keystore password: emcauthctomcat, Jun 29, 2022, PrivateKeyEntry, Certificate fingerprint (SHA-256): 93:97:0D:ED:DF:B1:73:62:D0:E1:95:C9:EB:67:3E:EE:4D:2E:55:9F:D7:9D:5E:FD:CE:81:E3:88:23:8E:0C:C9
Resolution
인증서 불일치를 수정합니다.
-
기존 키 저장소 파일의 복제본을 생성합니다.
Linux:- /nsr/authc/conf/authc.keystore
- /opt/nsr/authc-server/conf/authc.truststore
- /opt/nre/java/latest/lib/security/cacerts
Windows:
- C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- C:\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Program Files\NRE\java\jre#.#.##_###\lib\security\cacerts
참고: cacerts 파일은 authc의 구성된 JRE 인스턴스에서 찾을 수 있습니다. 위에 표시된 경로는 NRE(NetWorker Runtime Environment)가 설치된 경우입니다. Oracle Java JRE가 설치된 경우 cacerts 파일은 .의 java 설치 경로에 있습니다. \lib\security\cacerts. -
NetWorker 서버에서 관리자 또는 루트 명령 프롬프트를 엽니다.
-
NetWorker 서버 서비스 중지:
Linux:nsr_shutdown
Windows:net stop nsrd -
디렉토리를 JRE \bin dir로 변경합니다.
-
다음 명령 구문을 사용하여 불일치가 관찰된 키 저장소 위치에서 emcauthctomcat 인증서를 삭제합니다.
Linux:
./keytool -delete -alias emcauthctomcat -keystore /path/to/keystore -storepass passwordWindows:
keytool -delete -alias emcauthctomcat -keystore "C:\path\to\keystore" -storepass password참고: NRE 또는 Oracle jre 여부에 관계없이 Java 키 저장소 암호가 changeit입니다. 인증 키 저장소는 NetWorker 설치 마법사(Windows) 또는 /opt/nsr/authc-server/scripts/authc_configure.sh 스크립트(Linux)를 사용하는 동안 설정된 사용자 정의 키 저장소 암호입니다.
Example:
[root@networker-mc bin]# ./keytool -delete -alias emcauthctomcat -keystore /opt/nre/java/latest/lib/security/cacerts -storepass changeit [root@networker-mc bin]# ./keytool -delete -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore Enter keystore password: [root@networker-mc bin]#
-
기본 emcauthctomcat 인증서는 다음 위치에 있어야 합니다.
Linux: /nsr/authc/conf/emcauthctomcat.cer
Windows: C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\emcauthctomcat.cer -
기본 emcauthctomcat 인증서를 키 저장소 위치로 가져옵니다.
Linux:./keytool -import -alias emcauthctomcat -keystore /path/to/keystore -storepass password -file /nsr/authc/conf/emcauthctomcat.cerWindows:
keytool -import -alias emcauthctomcat -keystore "C:\path\to\keystore" -storepass password -file "C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\emcauthctomcat.cer"
Example:
[root@networker-mc bin]# ./keytool -import -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore -file /nsr/authc/conf/emcauthctomcat.cer
Enter keystore password:
Owner: CN=networker-mc.emclab.local, OU=NetWorker, O=DELL, L=Round Rock, ST=TX, C=US
Issuer: CN=networker-mc.emclab.local, OU=NetWorker, O=DELL, L=Round Rock, ST=TX, C=US
Serial number: bd1993a1
Valid from: Wed Jun 29 12:16:53 EDT 2022 until: Sun Jun 23 12:16:53 EDT 2047
Certificate fingerprints:
SHA1: E8:7B:C8:DF:4D:24:57:C4:63:34:1F:E8:6D:AA:1F:84:79:61:92:26
SHA256: 93:97:0D:ED:DF:B1:73:62:D0:E1:95:C9:EB:67:3E:EE:4D:2E:55:9F:D7:9D:5E:FD:CE:81:E3:88:23:8E:0C:C9
Signature algorithm name: SHA512withRSA
Subject Public Key Algorithm: 3072-bit RSA key
Version: 3
Extensions:
#1: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
DNSName: localhost
IPAddress: 127.0.0.1
DNSName: networker-mc.emclab.local
]
Trust this certificate? [no]: y
Certificate was added to keystore
[root@networker-mc bin]# ./keytool -import -alias emcauthctomcat -keystore /opt/nre/java/latest/lib/security/cacerts -file /nsr/authc/conf/emcauthctomcat.cer
Enter keystore password:
Certificate already exists in keystore under alias <emcnwuiserv>
Do you still want to add it? [no]: y
Certificate was added to keystore
-
다음으로
keytool -list명령을 실행하여 각 키 저장소에서 emcauthctomcat 서명이 일치하는 인증서를 확인합니다.
Linux:./keytool -list -keystore /path/to/keystore -storepass password | grep -A1 emcauth
Windows:keytool -list -keystore "C:\path\to\keystore" -storepass password -
NetWorker 서비스를 시작합니다.
Linux:systemctl start networker
Windows:net start nsrd -
다음을 사용하려고 시도합니다.
authc_config또는authc_mgmt명령:authc_config -u Administrator -e find-all-users
Example:
[root@networker-mc bin]# authc_mgmt -u administrator -e find-all-users Enter password: The query returns 2 records. User Id User Name 1000 administrator 1001 svc_nmc_networker-mc