2011-05-04 7 views
21

Android SDK에서 SSL/TLS 서버 이름 표시 (SNI) 확장에 대한 지원을 알고 싶습니다.Android SSL - SNI 지원

+0

, 안드로이드 HTTP 라이브러리의 수 SNI를 지원하지 않습니다. SSLI 핸드 셰이크가 계속 발생하면서 SNI를 인식하지 못하고 문제가 발생했습니다. SNI가 비활성화 된 순간, 모든 작업이 끝나고 'HttpsURLConnection'을 사용하여 연결하면됩니다. 믿음) 또한 SNI를 지원하는 OKHTTP를 사용합니다. – visual

답변

23

안드로이드 SDK에는 부분가 있습니다. HttpsURLConnection API와 진저 브레드 릴리스 TLS 연결이 SNI를 지원

  1. 이후 : 현재의 상황은 다음과 같다. 안드로이드와 함께 제공
  2. 아파치 HTTP 클라이언트 라이브러리 (아파치 HTTP 클라이언트 API를 사용하기 때문에) 어느 쪽도 SNI를 지원하지 않는 안드로이드 웹 브라우저는

에서이 문제에 관한 opened ticket 있습니다 SNI

  • 을 지원하지 않습니다 Android 버그 추적기.

    이 URL에 연결함으로써 SNI 지원을 테스트 할 수도 있습니다 : https://sni.velox.ch/

  • +0

    안녕하세요. Jcs, 도움에 감사드립니다. SSLCONTEXT (TLS) 및 SSLENGINE 클래스를 사용하여 https://sni.velox.ch/ 링크를 사용해 보았습니다. 안드로이드 SDK에서 사용할 수 있습니다. 나는 악수를하고있다. 그러나 동일한 코드가 테스트 서버에서 작동하지 않습니다. 서버와 관련이 있습니까? 이걸 도와주세요. – user736435

    +0

    클라이언트에서 예외가 발생 했습니까? – Jcs

    +0

    다음과 같은 오류가 발생합니다. SSL 연결 협상 중 오류가 발생했습니다. java.io.IOException : SSL 핸드 셰이크 실패 : SSL 라이브러리의 오류, 일반적으로 프로토콜 오류 SSL 루틴 : SSL23_GET_SERVER_HELLO : sslv3 경고 핸드 셰이크 실패 (외부/openssl/ssl/s23_clnt.c : 580 0xaf589bac : 0x00000000) " – user736435