"java.security.cert.CertificateException: No subject Alternative names presents" 오류 수정
Java를 사용하여 HTTPS를 통해 웹 서비스를 사용할 때 클라이언트의 경우 "java.security.cert.CertificateException: 주체 대체 이름이 없습니다." 오류가 발생할 수 있습니다. 이 문제를 해결하려면 다음 단계를 주의 깊게 따르십시오.
-
서버 인증서 얻기: openssl s_client -showcerts -connect AAA.BBB.CCC.DDD:9443 > 명령을 실행합니다. certs.txt를 사용하여 서버의 인증서를 검색합니다.
-
인증서 콘텐츠 추출: -----BEGIN CERTIFICATE-----와 - 사이에서 "certs.txt" 섹션을 찾습니다. ----인증서 종료----- 별도의 파일에 저장합니다.
-
인증서 수정(선택 사항): 필요한 경우 IP 주소와 일치하도록 인증서 이름을 업데이트합니다. 서버(AAA.BBB.CCC.DDD). 그러나 인증서 수정은 서버를 제어할 수 있는 경우에만 권장됩니다.
-
인증서 가져오기: keytool 명령을 사용하여 수정된 인증서를 키 저장소로 가져옵니다. 예: keytool -importcert -file fileWithModifiedCertificate -keystore mykeystore.
-
HTTPS 검사 비활성화(테스트 목적으로만): 테스트용으로 서비스를 사용 중이고 보안 통신이 필요하지 않은 경우, 인증서 확인 및 호스트 이름 확인을 우회하는 클라이언트 클래스에 코드를 추가하여 일시적으로 HTTPS 검사를 비활성화할 수 있습니다. 이 솔루션은 프로덕션 용도로 권장되지 않습니다.
또는 서버를 제어하지 않는 경우 대신 호스트 이름을 사용해야 한다는 유사한 질문의 제안을 사용할 수 있습니다. 이는 인증서에 호스트 이름과 일치하는 CN(일반 이름)이 포함될 수 있기 때문입니다.
이 단계는 서버 인증서에서 주체 대체 이름이 누락되는 특정 문제를 해결하기 위한 것임을 기억하세요. 귀하의 환경과 사용 중인 특정 서비스에 따라 변형이나 추가 구성이 필요할 수 있습니다.
위 내용은 'java.security.cert.CertificateException: 주체 대체 이름이 없습니다.' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!