2012-06-25 2 views
7

모두. 안드로이드 프로젝트 작업 중입니다. RSA 키 쌍을 생성 한 다음 다른 사람들과 통신하는 데 사용해야합니다. 개인 키와 공용 키를 안전한 장소에 저장해야하며 KeyStore를 사용할 수 있습니다.KeyStore에 비공개 키와 공개 키를 저장하는 방법

KeyStore는 KeyStore.PrivateKeyEntry를 저장할 수 있지만 인증서 [] 체인이 필요합니다. 나는 그것을 만들려고했으나 성공하지 못했습니다 ...

개인 키와 공개 키를 저장하는 데 사용되는 예제 코드를 붙여 넣을 수있는 사람이 있습니까?

감사합니다.

+1

안녕하세요, 프로그래밍 방식으로 인증서를 만들고 관리해야합니까? 왜냐하면 키 스토어에 인증서를 만들거나 가져 오기위한 코드를 작성할 필요가 없기 때문입니다. 이를 위해 [keytool] (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html)을 사용할 수 있습니다. – sperumal

+0

안녕하세요 supermal, 답장을 보내 주.이 프로그래밍 방식으로 완료해야합니다. –

+0

http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html –

답변

6

당신이 말했듯이, 개인 키를 키 스토어에 저장하려면 개인 키 (가지고있는)와 해당 공개 키에 대한 인증서 체인이 필요합니다. 가지고있는 것은 공개 키입니다. 공개 키를 기반으로 한 기관으로부터 인증서를 얻어야합니다. 예, 인증서에 자체 서명 할 수 있습니다. 하지만 프로그래밍 방식으로 인증서를 만들고 자체 서명하는 Java API가 없다고 생각합니다.

thread에 관한 비슷한 토론이있었습니다. 허용 된 솔루션은 비공개 키와 공개 키 을 키 저장소 외부에 보호 된 파일에 저장하는 방법을 설명합니다.

현재 Java 암호화 아키텍쳐이 도움이 http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html

희망에 대한 자세한 내용을보실 수 있습니다.

+2

그냥 의견. 링크 된 수용 솔루션은 비보호 파일에 키를 저장합니다. – Andy

관련 문제