SSL 인증서 생성시 challenge password란?
- Infra/인증서
- 2021. 1. 15.
https://serverfault.com/questions/266232/what-is-a-challenge-password/266258
CSR 생성의 일부로 요청된 "challenge password"가 비밀키를 암호화하는데 사용된 암호와 다릅니다(키 생성 시 또는 나중에 일반 텍스트 키가 암호화될 때 요청되었다가 이를 사용하는 SSL 사용 서비스가 시작될 때마다 다시 요청).
생성되는 키와 생성된 키의 시작:
$ openssl genpkey -algorithm rsa -out foo.key
............++++++
...++++++
$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt
이 키에는 암호가 없습니다. 이제 암호화 된 키를 생성 해 보겠습니다.
$ openssl genpkey -algorithm rsa -des3 -out bar.key
...........................................++++++
.....................................++++++
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
$ head -3 bar.key
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQInfwj1iv3icMCAggA
MBQGCCqGSIb3DQMHBAizMHBklBexiwSCAoDtRKf1WtMiVMH7HraGTIG0rlQS6Xuj
따라서 암호화된 개인키 (아파치 또는 다른 SSL 사용 서버가 시작될 때 잠금해제가 필요함)와 일반 텍스트 개인키(서비스 시작시 잠금 해제가 필요하지 않음)가 어떻게 생겼는지 명확해야합니다. 이제 암호화되지 않은 키에서 챌린지 비밀번호를 사용하여 CSR을 생성하겠습니다.
$ openssl req -new -key foo.key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:asdfasdf
An optional company name []:
-----BEGIN CERTIFICATE REQUEST-----
MIIBmzCCAQQCAQAwQjELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0
eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAn2M0Abg2jL/+v9J54r+ASAY5XQFmbQJiaBJAaPg/o3dwmw+U
awbzSopPFMXCgSJeczcFV4GkN1eEYq2Cmam3tH6t8mVDh0/UryJSWBsaFm9mh9RF
gIpP0hEkYZTf/0X+X06ukt9S/Id9Z/tVgPsZA3TcNjNhJfVaTm81/4ykq8UCAwEA
AaAZMBcGCSqGSIb3DQEJBzEKDAhhc2RmYXNkZjANBgkqhkiG9w0BAQUFAAOBgQCa
ivuDRBlHOhBjg6wPbH9NvCnvEnxeEAkYi0Sl/Grdo/WCk17e+sv9wgqEW1QSIdbV
XzMeWidurv4AtcATwhfk9tBcYBCTxANkTONzhJG7Yk9OAz8g8Ljo8EEvPf4oHqpw
tBg10DCD2op0lCwL2LBdPO3RG20f/HD6fEXPVxZdOQ==
-----END CERTIFICATE REQUEST-----
그리고 키가 마법처럼 암호화되지 않았음을 보여줍니다.
$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt
다시 말하지만 CSR 생성의 일부로 요청된 'challenge password'는 비밀 키를 암호화하는 데 사용되는 암호와 다릅니다. "challenge password"는 기본적으로 CSR에 포함된 SSL 인증서 발급자 (인증 기관 또는 CA)와 사용자 간의 공유 비밀 임시 값으로 발급자가 필요할 때이를 인증하는 데 사용할 수 있습니다. 일부 SSL 인증서 발급자는이를 다른 것보다 명확하게합니다. 이 페이지 하단에서 확인 비밀번호가 필요하다고 말하는 위치를 확인해야 합니다.
challenge password를 입력하고 사용하기로 선택한 경우 해당 암호를 안전한 장소에 저장해야 합니다. 어떤 이유로 든 인증서를 다시 설치해야하는 경우 해당 암호를 입력해야합니다.
'Infra > 인증서' 카테고리의 다른 글
인증서 생성시 요청하는 항목에 대한 설명 (0) | 2020.03.08 |
---|