일반적으로 말할 수는 없습니다 (this question과 매우 유사합니다).
JSSE API에서 인증서 신뢰는 실제로 신뢰 저장소에 의해 결정되지 않고 TrustManager
으로 결정됩니다. 키 스토어 (트러스트 스토어)로 초기화되는 일도 있습니다 만, 이것은 필수는 아닙니다. 또한 keystores themselves don't have to be files. 기본 신뢰 관리자 API에는 잠재적 인 신뢰 저장소가 사용 된 위치와 방법을 확인할 수있는 것이 없습니다.
트러스트 매니저를 얻을 수 있습니다 당신은 SSLSocketFactory
다시 연락 할 수있는 SSLSocket
심지어 아무것도, 당신은 그것의 SSLContext
을 원래로 돌아갈 수있다 아무것도, 거기에 아무것도 없습니다.
현재 어떤 truststore/trust manager가 활성화되어 있는지도 응용 프로그램에 따라 다릅니다. 응용 프로그램이 만드는 연결은 기본값 SSLContext
을 사용하고 있으며 이는 javax.net.ssl.*
시스템 속성으로 초기화 할 수 있음을 일반적으로 알려주지는 않습니다. 응용 프로그램은 자신의 소켓을 만들기 위해 자신의 SSLContext
을 초기화 할 수 있습니다 (특정 값을 지정할 때 Tomcat이 해당 커넥터에 대해 수행하는 작업 임).
는 자바 6 있기 때문에 기본 (현재) SSLContext
도 SSLContext.setDefault(...)
를 통해 (세계적으로 변경할 수 있습니다.
당신은 JSSE Reference Guide에서 기본적으로 사용하고 있는지. 나머지는 각 응용 프로그램의 설명서에 따라 달라집니다 찾을 수 있습니다. -Djavax.net.debug=SSL,trustmanager
를 사용하면 도움이 필요한 경우,하지만이 API에 액세스하지 않습니다 수 있습니다.
이
(그건 그렇고, -Djavax.net.ssl.keyStore
기본 키 관리자가 아닌 신뢰 저장소에 대한 키 스토어를 설정합니다.)
이 정확히 무엇입니까 해결해야 할 문제가 있습니까? –
@ ThorbjørnRavnAndersen - 때때로 질문 뒤에 다른 질문이 없습니다 :-) – user93353
그런 다음 JDK의 소스 코드를 얻고 코드가하는 것을보십시오. 운이 좋다면 Java 콘솔에서 사용할 수있는 기능을 알려주는 로그 문이 있습니다. –