SSLSocketFactory
을 얻는 일반적인 방법은 을 TrustManager
, KeyManager
및 으로 초기화하고 getSocketFactory()
메서드를 사용하는 것입니다. 그러나 이것은 필요한 암호 스위트 또는 프로토콜을 활성화 할 수 없습니다.HttpsURLConnection을 사용하여 만든 소켓에 사용할 암호 및 프로토콜 목록을 설정하는 방법은 무엇입니까?
이러한 변경을 허용하는 HttpsURLConnection
이 허용하는 유일한 구성은 기본값 인 SSLSocketFactory
을 설정하는 것입니다. SSLSocketFactory
을 확장하고 getDefaultCipherSuites()
메서드를 재정의하고 createSocket()
으로 만든 소켓을 랩핑하여 필요한 암호와 프로토콜을 설정할 수 있습니다. 그러나이 방법을 사용하면 연결에 TrustManager
을 초기화 할 수 있습니까?
암호 스위트와 프로토콜을 설정하고 트러스트 관리자를 초기화 할 수있는 방법이 있습니까?
시스템 속성을 통해 설정된 경우 전역이됩니다. 특정 연결이나 특정 응용 프로그램에 대해서만 설정할 수 있습니다. – varrunr
동의. 그러나 당신은 귀하의 질문에 그 요구 사항을 명시하지 않았습니다. – EJP
완전성을 위해 (단지 [this as a duplicate] (http://stackoverflow.com/q/24888420/372643)를 닫았습니다.) 관련 시스템 속성은'https.cipherSuites'입니다. – Bruno