SSL 핸드셰이크 중에 Java 클라이언트가 인증서를 전송할 수 없는 이유는 무엇입니까?
Java를 사용하여 보안 웹 서비스에 연결하려는 시도 , 사용자는 핸드셰이크 실패를 자주 경험합니다. 키 저장소와 신뢰 저장소를 올바르게 구성했음에도 불구하고 근본적인 문제는 Java가 핸드셰이크 중에 클라이언트 인증서 전송을 꺼리는 데서 발생하는 경우가 많습니다.
문제 이해:
제안됨 해결책:
1. 손상된 인증서 체인 주소:
인증서 체인이 손상되지 않고 SubCA 인증서가 키 저장소로 올바르게 가져왔는지 확인하세요. 이는 keytool -v -list -keystore store.jks를 사용하여 수행할 수 있습니다. 별칭 항목당 하나의 인증서만 표시되는 경우 체인이 손상되었을 가능성이 높습니다.
키 저장소로 인증서 체인 가져오기:
문제를 해결하려면 클라이언트 인증서를 가져오고 전체 인증서 체인을 개인 키가 포함된 키 저장소 별칭으로 함께 묶습니다.
2. 서버측 구성 문제:
SubCA 서명 인증서에 대한 서버의 요청은 합리적이지만 요청에 대한 Java의 엄격한 준수는 불필요하게 제한적일 수 있습니다. 이와 관련하여 Chrome 및 OpenSSL과 같은 브라우저가 더 유연한 것으로 나타났습니다.
해결 방법:
문제를 우회하려면 다음과 같은 대체 접근 방식을 사용할 수 있습니다.
위 내용은 SSL 핸드셰이크 중에 Java 클라이언트가 인증서를 보내지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!