2012-10-18 6 views
5

X509Certificate 개체 (checkServerTrusted 메서드로 X509TrustManager에 있음)로 메모리에있는 자체 서명 된 인증서를 설치하기위한 키 체인 인 텐트를 시작합니다. 이 코드 :자체 서명 인증서 프로그래밍 방식으로 설치

Intent intent = KeyChain.createInstallIntent(); 
intent.putExtra(KeyChain.EXTRA_CERTIFICATE, certs[0].getEncoded()); 
intent.putExtra(KeyChain.EXTRA_NAME, "certificate"); 
context.startActivityForResult(intent, 0); 

새로운 활동이 시작되고 나는 "인증서가 설치되어 있습니다"라는 메시지를 얻을 수 있지만, 호스트에 연결하려고 할 때 나는 보안 인증서 목록을 통해 그것을 찾을 수없고, 그것은 설치되지 않은 것 같습니다.

해결 방법에 대한 의견이 있으십니까?

+0

당신은 이것에 대한 답을 찾기 위해 관리나요? –

답변

1

언급 한 보안 인증서 목록 화면에는 Android 장치에 추가 한 신뢰할 수있는 CA 인증서 목록 만 포함되어 있습니다. (참고 : 인증서의 시스템 목록은 장치 제조업체가 설정 한 신뢰할 수있는 CA 목록입니다. KeyChain의 인증서를 보여주는 화면은 없습니다 (뿌리가 맞지 않는 전화에서 최소한).

앱이 인증서/키에 액세스하려면 권한을 OS에 요청해야합니다. 이를 위해 KeyChain 클래스에는 choosePrivateKeyAlias라는 메서드가 있습니다.이 메서드는 사용자가 응용 프로그램이 액세스 할 수있는 인증서를 선택하는 작업을 보여줍니다. 이 활동은 위의 방법을 사용하여 설치 한 가져온 인증서를 나열해야합니다.

자세한 내용은 아래 링크를 참조하십시오.

Unifying Key Store Access in ICS

관련 문제