2012-11-30 2 views

답변

1

혁신 HTTPClient는 HTTPS를 직접 지원하지 않습니다. 자세한 내용은 this page on the Innovation website을 참조하십시오. 구현할 수있는 여러 가지 타사 패치 및 예제가 있습니다. 인증서 수락 설정은 선택한 패치 구현에 따라 다릅니다.

EDIT/UPDATE

JSSE SSL 구현 및 사용 목적에 TrustedManager을 정의 HTTPConnectionSSLContext 통해 결합하는 것으로 도시되고있다.

TrustManager을 생성하는 방법을 알고 있다고 가정하면 다음 코드는 this Stackoverflow page과 함께 선택되며 생성 방법도 표시됩니다. 나는 이전에서 혁신 웹 사이트 링크를 다운로드 JSSE의 SSL에서 얻은 README 파일 당

TrustManager[] trustAllCerts = new TrustManager[] { ... }; 

// Install the all-trusting trust manager 
try { 
    SSLContext sc = SSLContext.getInstance("TLS"); 
    sc.init(null, trustAllCerts, new java.security.SecureRandom()); 

, 당신이 수행하여이 HttpConnection에 할당 할 수 있습니다 : 당신의 응답을

// Attach context to connection via socket factory 
    HTTPConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 

} catch (Exception e) { ... } 
+0

감사 (및 언어 정정) 프레드. 사실 JSSE SSL 구현을 사용하고 잘 작동하지만 JSSE에서 SSLContext를 초기화하는 데 사용되는 자체 TrustedManager를 정의하고 싶습니다. 그러나 HTTPClient.HTTPConnection 객체와 바인딩하는 방법을 알지 못합니다. –

+0

답변에 대한 답변을 업데이트하겠습니다. – JoshDM

+0

감사합니다. 프레드. 나는 내 코드에서 아무런 문제없이'HTTPConnection.setDefaultSSLSocketFactory (sc.getSocketFactory());'metod)를 테스트했다. 도움을 주셔서 다시 한번 감사드립니다. 나는 [HTTPClient API] (http://www.innovation.ch/java/HTTPClient/api/index.html)를 훑어 보았지만 인덱스 아래 주어진 metod를 찾지 못했습니다. 어떻게 이것이 [HTTPClient.HTTPConnection] (http://www.innovation.ch/java/HTTPClient/api/HTTPClient/HTTPConnection.html)을 호출 할 수 있다는 것을 알았습니까? –

관련 문제