혁신 HTTP 클라이언트를 사용하여 HTTPS를 통해 서버에 연결할 계획입니다.혁신 HTTP 클라이언트 - 모든 서버 인증서를 허용하도록 SSL을 설정하려면 어떻게합니까?
모든 서버 SSL 인증서를 받아 들일 수 있어야합니다.
HttpsURLConnection을 사용하는 일부 examples이 있지만 혁신 구현을 사용해야합니다.
누군가 Innovation HTTP Client에 대한 예가 있습니까?
혁신 HTTP 클라이언트를 사용하여 HTTPS를 통해 서버에 연결할 계획입니다.혁신 HTTP 클라이언트 - 모든 서버 인증서를 허용하도록 SSL을 설정하려면 어떻게합니까?
모든 서버 SSL 인증서를 받아 들일 수 있어야합니다.
HttpsURLConnection을 사용하는 일부 examples이 있지만 혁신 구현을 사용해야합니다.
누군가 Innovation HTTP Client에 대한 예가 있습니까?
혁신 HTTPClient는 HTTPS를 직접 지원하지 않습니다. 자세한 내용은 this page on the Innovation website을 참조하십시오. 구현할 수있는 여러 가지 타사 패치 및 예제가 있습니다. 인증서 수락 설정은 선택한 패치 구현에 따라 다릅니다.
EDIT/UPDATE
JSSE SSL
구현 및 사용 목적에 TrustedManager
을 정의 HTTPConnection
에 SSLContext
통해 결합하는 것으로 도시되고있다.
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) { ... }
감사 (및 언어 정정) 프레드. 사실 JSSE SSL 구현을 사용하고 잘 작동하지만 JSSE에서 SSLContext를 초기화하는 데 사용되는 자체 TrustedManager를 정의하고 싶습니다. 그러나 HTTPClient.HTTPConnection 객체와 바인딩하는 방법을 알지 못합니다. –
답변에 대한 답변을 업데이트하겠습니다. – JoshDM
감사합니다. 프레드. 나는 내 코드에서 아무런 문제없이'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)을 호출 할 수 있다는 것을 알았습니까? –