2013-10-23 2 views
0

네트워크의 일부 웹 서버에 HTTPS 연결을 수행해야하는 Android 앱을 작성 중입니다.HTTPS 연결을 위해 사용자가 신뢰할 수있는 자격 증명 사용

이 웹 서버에는 사용자 지정 인증 기관에서 서명 한 서버 인증서가 있으므로 장치가 연결을 시도 할 때 CA를 알 수 없으므로 간단한 연결 시도는 실패합니다. 충분히 공정합니다.

이제 장치에 CA 인증서를 다운로드하고 사용자 "신뢰할 수있는 자격 증명"설정 페이지로 가져 왔습니다. 그것은 ("사용자"탭 아래에) 나타나고 그것을 클릭하여 예상되는 세부 사항을 볼 수 있습니다. 이 HTTPS 연결을 수행 할 때

그러나,이 새로운 CA 인증서는 장치에 의해 무시하는 것, 그리고 내가 연결할 때 전의 동일한 오류가있어 : 인증 경로에 대한

신뢰 앵커 찾을 수 없음을.

기기에서 Chrome을 사용하여 서버를 탐색하려고해도 동일한 문제가 발생합니다. 나는 "이 사이트의 보안 인증서에 문제가 있습니다"라고 들었습니다.

openssl verify을 사용하여 인증 체인을 테스트했으며 모든 것이 잘된 것처럼 보입니다.

나는 여기서 무슨 일이 일어나는지 이해하려고 애 쓰고 있습니다.

브라우저에서 웹 서버 페이지를 열지 않고도 살 수 있지만 적어도 "신뢰할 수있는 자격 증명"목록을 사용하여 내 앱에서 연결을 설정하고 싶습니다. 인증서 확인은 모두 이 아니며은 허용되는 해결책입니다.

어떻게하면됩니까?

+0

자체 서명 된 인증서로 취급해도 안됩니까? –

+0

@ user2310289 : 동일하게 취급하십시오 ... 뭐라 구요? – ereOn

답변

0

마침내 무엇이 잘못된 것인지 발견

내가 사용되었습니다

SSLContext sslContext = SSLContext.getInstance("TLS"); 

어떤 이유로, 내 테스트 플라스크 SSL 만 사용하는 서버에서 작동하지 수있다. 나는 그것을 변경하는 경우

상황이 더 좋았다 : 아직도

SSLContext sslContext = SSLContext.getInstance("SSL"); 

그런 일이 왜 확실하지 않은,하지만 분명히 나를 위해 그것을 해결했다.

관련 문제