적어도 jdk6을 사용하는 것은 매우 간단합니다 ...
bash $ keytool -keystore foo.jks -genkeypair-별명 foo \
-dname 'CN = foo.example.com, L = 멜버른, ST = 빅토리아, C = AU'
키 저장소 비밀번호를 입력하십시오.
새 비밀번호를 다시 입력하십시오 :
에 대한 키 비밀번호를 입력하십시오
(키 저장소 비밀번호와 동일한 경우 리턴) :
bash $ keytool -keystore foo.jks -exportcert-별칭 foo | \
openssl x509-정보 der- 텍스트
키 저장소 비밀번호를 입력하십시오. asdasd
증명서:
데이터:
버전 : 3 (0x2)
일련 번호 : 1237334757 (0x49c03ae5)
서명 알고리즘 : dsaWithSHA1
발급자 : C = AU, ST = 빅토리아, L = 멜버른, CN = foo.example.com
타당성
비정기 : 3 월 18 일 00:05:57 2009 GMT
이후 : Jun 16 00:05:57 2009 GMT
제목 : C = AU, ST = 빅토리아, L = 멜버른, CN = foo.example.com
주제 공개 키 정보 :
공개 키 알고리즘 : dsaEncryption
DSA 공개 키 :
선술집:
00 : e2 : 66 : 5c : e0 : 2e : da : e0 : 6b : a6 : aa : 97 : 64 : 59 : 14 :
7e : a6 : 2e : 5a : 45 : f9 : 2f : b5 : 2d : f4 : 34 : 27 : e6 : 53 : c7 :
bash $ keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcstoretype jks \
-deststoretype pkcs12
대상 키 저장소 비밀번호를 입력하십시오.
새 비밀번호를 다시 입력하십시오 :
소스 키 저장소 비밀번호를 입력하십시오.
별명 foo에 대한 항목을 가져 왔습니다.
가져 오기 명령 완료 : 1 개의 항목을 성공적으로 가져 왔으며 0 개의 항목이 실패했거나 취소되었습니다.
bash $ openssl pkcs12 -in foo.p12 -out foo.pem
비밀번호 가져 오기를 입력하십시오.
MAC 확인 OK
PEM 암호 문구를 입력하십시오 :
확인-PEM 암호 문구를 입력하십시오.
bash $ openssl x509-텍스트-foo.pem
증명서:
데이터:
버전 : 3 (0x2)
일련 번호 : 1237334757 (0x49c03ae5)
서명 알고리즘 : dsaWithSHA1
발급자 : C = AU, ST = 빅토리아, L = 멜버른, CN = foo.example.com
타당성
비정기 : 3 월 18 일 00:05:57 2009 GMT
이후 : Jun 16 00:05:57 2009 GMT
제목 : C = AU, ST = 빅토리아, L = 멜버른, CN = foo.example.com
주제 공개 키 정보 :
공개 키 알고리즘 : dsaEncryption
DSA 공개 키 :
선술집:
00 : e2 : 66 : 5c : e0 : 2e : da : e0 : 6b : a6 : aa : 97 : 64 : 59 : 14 :
7e : a6 : 2e : 5a : 45 : f9 : 2f : b5 : 2d : f4 : 34 : 27 : e6 : 53 : c7 :
bash $ openssl dsa -text -in foo.pem
DSA 키 읽기
PEM 암호 문구를 입력하십시오 :
개인 키 : (1024 비트)
개인 :
00 : 8f : b1 : af : 55 : 63 : 92 : 7c : d2 : 0f : e6 : f3 : a2 : f5 : ff :
1a : 7a : fe : 8c : 39 : dd
선술집:
00 : e2 : 66 : 5c : e0 : 2e : da : e0 : 6b : a6 : aa : 97 : 64 : 59 : 14 :
7e : a6 : 2e : 5a : 45 : f9 : 2f : b5 : 2d : f4 : 34 : 27 : e6 : 53 : c7 :
당신은 결국 :
- foo.jks-Java 형식의 키 저장소
- foo.p12-PKCS # 12 형식의 키 저장소
- foo.pem-키 저장소의 모든 키 및 인증서 (PEM 형식)
(이 마지막 파일은 원하는 경우 키와 인증서로 나눌 수 있습니다.)
명령 요약-JKS 키 저장소를 작성하려면 다음을 수행하십시오.
keytool -keystore foo.jks -genkeypair -alias foo \
-dname 'CN=foo.example.com,L=Melbourne,ST=Victoria,C=AU'
명령 요약-JKS 키 저장소를 PKCS # 12 키 저장소로 변환 한 다음 PEM 파일로 변환
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcstoretype jks \
-deststoretype pkcs12
openssl pkcs12 -in foo.p12 -out foo.pem
JKS 키 저장소에 둘 이상의 인증서가 있고 별명 중 하나와 연관된 인증서 및 키만 내보내려면 다음 변형을 사용할 수 있습니다.
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcalias foo \
-srcstoretype jks \
-deststoretype pkcs12
openssl pkcs12 -in foo.p12 -out foo.pem
명령 요약-JKS 키 저장소를 PEM 파일과 비교하려면 다음을 수행하십시오.
keytool -keystore foo.jks -exportcert -alias foo | \
openssl x509 -inform der -text
openssl x509 -text -in foo.pem
openssl dsa -text -in foo.pem