>  기사  >  Java  >  'java.security.cert.CertificateException: 주체 대체 이름이 없습니다.' 오류를 수정하는 방법은 무엇입니까?

'java.security.cert.CertificateException: 주체 대체 이름이 없습니다.' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-19 01:31:02296검색

How to Fix the

"java.security.cert.CertificateException: No subject Alternative names presents" 오류 수정

Java를 사용하여 HTTPS를 통해 웹 서비스를 사용할 때 클라이언트의 경우 "java.security.cert.CertificateException: 주체 대체 이름이 없습니다." 오류가 발생할 수 있습니다. 이 문제를 해결하려면 다음 단계를 주의 깊게 따르십시오.

  1. 서버 인증서 얻기: openssl s_client -showcerts -connect AAA.BBB.CCC.DDD:9443 > 명령을 실행합니다. certs.txt를 사용하여 서버의 인증서를 검색합니다.
  2. 인증서 콘텐츠 추출: -----BEGIN CERTIFICATE-----와 - 사이에서 "certs.txt" 섹션을 찾습니다. ----인증서 종료----- 별도의 파일에 저장합니다.
  3. 인증서 수정(선택 사항): 필요한 경우 IP 주소와 일치하도록 인증서 이름을 업데이트합니다. 서버(AAA.BBB.CCC.DDD). 그러나 인증서 수정은 서버를 제어할 수 있는 경우에만 권장됩니다.
  4. 인증서 가져오기: keytool 명령을 사용하여 수정된 인증서를 키 저장소로 가져옵니다. 예: keytool -importcert -file fileWithModifiedCertificate -keystore mykeystore.
  5. HTTPS 검사 비활성화(테스트 목적으로만): 테스트용으로 서비스를 사용 중이고 보안 통신이 필요하지 않은 경우, 인증서 확인 및 호스트 이름 확인을 우회하는 클라이언트 클래스에 코드를 추가하여 일시적으로 HTTPS 검사를 비활성화할 수 있습니다. 이 솔루션은 프로덕션 용도로 권장되지 않습니다.

또는 서버를 제어하지 않는 경우 대신 호스트 이름을 사용해야 한다는 유사한 질문의 제안을 사용할 수 있습니다. 이는 인증서에 호스트 이름과 일치하는 CN(일반 이름)이 포함될 수 있기 때문입니다.

이 단계는 서버 인증서에서 주체 대체 이름이 누락되는 특정 문제를 해결하기 위한 것임을 기억하세요. 귀하의 환경과 사용 중인 특정 서비스에 따라 변형이나 추가 구성이 필요할 수 있습니다.

위 내용은 'java.security.cert.CertificateException: 주체 대체 이름이 없습니다.' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.