2013-07-13 2 views
6

는 느낌이 있지만, 내가 찾은 모든 잘못되었거나 자체 서명 된 인증서 자동으로에게을 받아 하는 방법에 대한 힌트입니다. (사용자 정의 HttpClientSSLSocketFactory 사용 - 이미 작동 중입니다.)브라우저와 같은 동작은

그러나 내 응용 프로그램에 대해 사용자가 "이 서버를 정말로 신뢰 하시겠습니까?"라고 묻는 브라우저와 같은 대화 상자가 표시됩니다. 그 증명서를 봐. " (그러나 인증서가 기본 수표로 신뢰되지 않는 경우에만)

인증서는 다음 번에 자동으로 수락되므로 앱의 인증서 저장소에 저장해야합니다.

그래서 내가 알아야 할 것입니다 :

  • 어떻게 특정 호스트/포트 조합 (사용자에게 보여 할 수 있도록)의 인증서 (체인)을 다운로드?
  • 나중에 KeyStore에로드 할 수 있도록 인증서를 저장하는 방법은 무엇입니까?

이 응용 프로그램 내 계획 작업 흐름입니다 :

  1. 내 사용자 정의 HttpClient으로 서버에 요청을 보내기가. 어쩌면 인증서가 시스템에 의해 신뢰되거나 이미 내 저장소에 있습니다 (그렇다면 4로 가십시오).
  2. SSL 문제로 인해 요청이 실패한 경우 사용자에게 인증서를 보여주고이 연결을 신뢰할 것인지 묻습니다.
  3. 사용자가 신뢰하기로 선택한 경우 내 저장소에 인증서를 저장하고 1로 이동하십시오.
  4. 만세, 연결 준비가되었습니다.

누구나 어떻게 할 수 있는지 알고 있습니까?

+0

와우, Google에서 찾을 수있는 것은 모두 CA 검사를 사용 중지하는 방법입니다. –

답변

0

비 CA 인증서에 연결할 때 CA 검사를 사용하지 않도록 설정하고 예외를 catch하지 마십시오. 예외가 발생하면 사용자가 수락/거부 할 페이지를 시작하십시오. 수락하면 CA 검사를 사용하지 않고 새 연결을 시작합니다.

+0

답변 해 주셔서 감사합니다. 지금은 더 이상이 프로젝트를 진행하지 않습니다. 일단 내가 일을 다시 시작하면 당신의 대답으로 돌아갈 것입니다. – fero