Android에서 PKCS # 11 카드를 사용하여 SSL 클라이언트 인증을 설정하려고합니다. 나는 Certificate를 정상적으로 읽을 수는 있지만, 안타깝게도 개인 키를 추출 할 수 없으므로이를 사용하여 KeyStore를 만들 수 없습니다. 이후 나는 어떤 Lib을 공급 업체로부터 얻지 못했고 PKCS11의 SUN 구현을 사용할 수 없다. 안드로이드에 의해 지원되지 않기 때문에 서명 과정을 처리하는 방식을 변경하기 위해 SSLContext를 재정의해야한다고 생각한다. 카드를 통해 핸드 셰이크를 암호화하고 해독 할 수 있습니까?SSL 핸드 셰이크에 PKCS 11 토큰 사용
CK_RV C_GenerateKeyPair
CK_RV C_GenerateRandom
CK_RV C_Decrypt
CK_RV C_Sign
CK_RV :
또한 나는 다음과 같은 방법있어 전체 PKCS11 API를 사용할 수 없습니다 C_Encrypt
카드에 대한 로그인은 다른 소프트웨어에 의해 사전 처리되므로 이미 액세스 할 수 있습니다.
그래서 기본적으로 두 가지 질문 : 개인 키에 액세스 없이위한 인증을 처리 할 수있는 쉬운 방법이
있습니까?
카드를 통해 SSL 서명을 처리하기 위해 무엇을 대체해야합니까?
PKCS # 11 카드를 사용하는 사용자 정의 KeyStoreSpi 구현은 어떻습니까? – Robert
그게 내가 이해할 때까지 내가 시작한 일이다. 맞춤 키 스토어에서 나는 여전히 개인 키가 필요할 것이다. 그렇지 않습니까? – Morphyum
그들이 구현하는 [SunPKCS11] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/security/pkcs11/SunPKCS11.java)의 출처를 살펴보십시오. KeyStore뿐만 아니라 PrivateKey의 PKCS11 버전 (카드 키에 대한 참조), Cipher 등이 포함됩니다. 이게 보이는 길이야. – Robert