2010-03-20 3 views
12

어떻게 든 JKS 키 저장소에 들어가야하는 별도의 .pem 파일에 공용 키와 개인 키가 있습니다..pem 공용 키와 개인 키를 JKS 키 저장소로 가져 오기

"X.509 인증서가 아닙니다"오류를 나타내는 KeyTool에서 -import 명령을 사용해 보았습니다.

저는 솔루션이 OpenSSL과 관련이 있다고 생각하지만, 어떻게해야 할 지 잘 모릅니다.

나는 암호화 관련 모든 것에 대해 완전히 단서가 없으므로이 문제에 정말 감사 할 것입니다. 사전에

감사합니다, --Rolf

답변

3

키 도구는 DER 형식의 개체를 기대하고있다. PEM은 헤더와 바닥 글이있는 Base64 인코딩 DER입니다. KeyTool은 PEM을 구문 분석 할 수 없습니다.

그러나 OpenSSL은 PEM 개체를 DER로 변환 할 수 있습니다. 예를 들어 X.509 인증서의 경우 -outform DER 명령 줄 플래그는 DER을 출력 형식으로 사용하도록 OpenSSL에 지시합니다.

This page에는 분명히 좀 더 자세한 설명이 포함되어 있습니다.

+0

안녕하세요. 답변 해 주셔서 감사합니다. 공개 키가 아닌 OpenSSL을 사용하여 개인 키를 DER로 변환 할 수있었습니다. 하려면 openssl에서는 X509 -에서 pubkey.pem -inform PEM -out pubkey.der -outform DER 다음과 같은 오류에 결과 : 인증서 5280로드하지 못할 : 오류 : 0906D06C : PEM 루틴을 : PEM_read_bio을 : 더 스타트 라인을 :. \ crypto \ pem \ pem_lib .c : 642 : Expecteding : TRUSTED CERTIFICATE 공개 키 파일이 "BEGIN TRUSTED CERTIFICATE"헤더로 시작한다고 예상하지만 실제로 포함 된 것은 "BEGIN PUBLIC KEY " – Rolf

+4

"외딴 공개 키 "가 있습니다. 인증서가 필요합니다. KeyTool은 인증서가있는 경우에만 개인 키를 허용하는 KeyStore 형식을 따릅니다. 인증서에는 신원 ("키 소유자 이름") 및 "인증 기관"에 의한 서명과 같은 기타 정보와 함께 공개 키가 들어 있습니다. 개인 키를 사용하여 "자체 서명 인증서"(서명 자체가 키 자체에 상대적으로 계산되는 인증서)를 만들 수 있습니다. 이것을 시도해보십시오 :'openssl req -new -x509 -key privkey.pem -out cert.pem' –

+0

좋아요. – Rolf

관련 문제