2017-11-23 3 views
1

스토어에서 특정 인증서에 액세스 할 수 내용물을 아래에 표시합니다 :개인 키, 공개 키와 인증서 관계 가장 좋은 방법은 내가 키 도구 명령 아래 사용

Keystore type: JKS 
Keystore provider: SUN 

Your keystore contains 1 entry 

Alias name: keyalias 
Creation date: Nov 23, 2017 
Entry type: PrivateKeyEntry 
Certificate chain length: 1 
Certificate[1]: 
Owner: CN=XXXXX, OU=SDG, O=XXXXX, L=XXXXX, ST=XX, C=IN 
Issuer: CN=XXXXX, OU=SDG, O=XXXXX, L=XXXXX, ST=XX, C=IN 
Serial number: 6c6ec57a 
Valid from: Thu Nov 23 14:30:35 IST 2017 until: Wed Feb 21 14:30:35 IST 2018 
Certificate fingerprints: 
MD5: 85:08:01:27:BF:CA:88:17:88:11:9D:E4:DF:DC:70:AD 
SHA1: 6D:14:08:BD:F6:4E:51:C2:A0:58:46:89:CC:85:06:BC:26:DA:23:4E 
SHA256: D6:94:A8:31:2F:5D:29:FA:29:5F:8C:5D:24:D0:8E:47:D4:17:4C:B8:8A: 
D8:A2:37:3F:18:24:5A:06:C1:E4:CB 
Signature algorithm name: SHA1withRSA 
Version: 3 

Extensions: 

#1: ObjectId: 2.5.29.14 Criticality=false 
SubjectKeyIdentifier [ 
    KeyIdentifier [ 
     0000: 50 AD ED B0 1D 3D 12 AE D4 C0 C7 EE 9F EE 43 11 P....=........C. 
     0010: F4 71 02 93          .q.. 
    ] 
] 

******************************************* 
******************************************* 

하나의 항목 만 볼 수 있습니다. 키스트 아. 다음에 대한 답변을 얻으려고합니다 :

  1. 공개 키는 어디에 있습니까?

  2. 동일한 인증서를 만들지 않았지만 인증서를 볼 수도 있습니다. Java 코드에서이 인증서에 액세스해야한다면 키 별칭을 사용해야합니까, 아니면이 인증서에 액세스하기 위해 별도의 별칭을 설정할 수 있습니까? 사람이 개인 키, 공개 키와 인증서가 키 저장소에 연결하고 특정 인증서가 키 스토어에서 액세스 할 수있는 방법 (키 스토어가 여러 인증서를 가지고있다 가정)하는 방법을 설명 할 수있는 경우

이 큰 도움이 될 것입니다.

답변

1

자신의 질문에 답하는 것만으로도 다른 사람들에게 도움이 될 수 있습니다.

개인 키에는 일련의 숫자가 포함됩니다. 그 숫자 중 두 개는 "공용 키"를 형성하고 다른 숫자는 "개인 키"의 일부입니다. "공개 키"비트도 인증서에 포함됩니다. 인증서의 공개 키가 개인 키의 공개 부분과 일치하는지 확인하려면 인증서와 키를보고 번호를 비교해야합니다.

개인 키에서 인증서에 액세스하려면 키 저장소의 내용을 나열 할 때 공개적으로 찾을 수있는 개인 키 별칭을 사용해야합니다.

1

키 도구 -genkey -alias

좋은, 당신은 단지 키 쌍을 만들었습니다.

keytool 명령은 자체 서명 된 인증서가있는 키 쌍을 만듭니다. 실제로 동일한 별칭에는 PrivateKey가 있으며 X509 인증서 (PublicKey + 일부 특성)

공개 키는 어디에 있습니까?

이 경우 공개 키는 인증서 안에 래핑됩니다.

Java 코드로이 인증서에 액세스해야한다면 키 별칭을 사용해야합니까, 아니면이 인증서에 액세스하기 위해 별도의 별칭을 설정할 수 있습니까?

다음 코드는 누군가가, 공개 키와 인증서가 키 저장소

에 연결하는 방법을 개인 키 설명 할 수 있다면 그것은 큰 도움이 될 것입니다

KeyStore.PrivateKeyEntry privKeyEntry = (KeyStore.PrivateKeyEntry)keystore.getEntry(KEYSTORE_ALIAS, new KeyStore.PasswordProtection(KEYSTORE_KEY_PASSWORD.toCharArray())); 

PublicKey pubKey = privKeyEntry.getCertificate().getPublicKey(); 

키 쌍의 인증서와 공개 키를 returs

분명히 이미 알았습니다.

관련 문제