인증서를 읽는 데 아래 방법을 사용하고 있습니다.CA 인증서를 읽지 못했습니다 (GetCertificateChain이 전체 체인을 반환하지 않음)
KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(in, password);
String alias = ks.aliases().nextElement();
Certificate[] chain = ks.getCertificateChain(alias);
...
이 방법은 매우 기능적이지만 인증서의 전체 문자열을로드하지 않는 인증서에서 문제가 발생했습니다. 예 1의 경우
: When reading certificate 2 the statement below returns only one string
아무도 무슨 일이 일어나고 될 수있는 아이디어가 있습니까 : 예 2의 경우 When reading certificate 1 the statement below returns 4 strings
? 더 설명하려고
편집
,이 인증서는 WS에 연결하는 데 사용됩니다. 통신 프로세스 중에 WS는 다음과 같은 거부를 반환합니다. 연결이 종료되었습니다. javax.net.ssl.SSLHandshakeException : 치명적인 경고를 받았습니다. unknown_ca 이 WS에 연결하려면 완전한 인증 체인 프레젠테이션이 필요합니다.
인증서 아래에 언급 한 바와 같이는 JAVA에서 실패를 보여 주지만, 제대로 API documentation에 따르면 인증 체인
귀하의 의견을 이해합니다. 그러나 .NET을 통해 가져온 경우이 동일한 인증서가 올바르게 작동하기 때문에 문제가 계속됩니다. .NET의 예제를 사용하면 시스템이 모든 인증서 체인을로드하고 표시 할 수 있습니다. – Blomersi
.NET과 Java는 서로 다른 API를 사용하는 서로 다른 플랫폼이며 서로 다른 결과를 생성 할 수 있습니다. – Crypt32