Я встановлюю SSL на сервері Ubuntu. Одним із полів, яке він запитує, як частину налаштування CSR, є "пароль для виклику". Що це? За замовчуванням порожнє. Чи потрібно мені ввести його?
Я встановлюю SSL на сервері Ubuntu. Одним із полів, яке він запитує, як частину налаштування CSR, є "пароль для виклику". Що це? За замовчуванням порожнє. Чи потрібно мені ввести його?
Відповіді:
"Пароль виклику", який запитується як частина покоління CSR, відрізняється від парольної фрази, яка використовується для шифрування секретного ключа ( запитується під час генерації ключа або коли пізніше зашифровується ключ простого тексту), а потім запитується знову при кожному включенні 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, при його запуску потрібно буде розблокувати) та приватний ключ в простому тексті (який не вимагає розблокування у час запуску служби). . Тепер я згенерую КСВ із паролем виклику із незашифрованого ключа:
$ 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, - це не те саме, що пароль, який використовується для шифрування секретного ключа. "Пароль виклику" - це загальноприйняте секретне поняття між вами та емітентом сертифікатів SSL (він же Сертифікаційним органом або CA), вбудованим у КСВ, який емітент може використовувати для аутентифікації, якщо вам це буде потрібно. Деякі видачі сертифікатів SSL роблять це зрозумілішим, ніж інші; дивіться внизу цієї сторінки, щоб побачити, де вони кажуть, що потрібен пароль для виклику - це не тоді, коли ви перезапустите apache:
Якщо ви вирішите ввести та використати пароль для виклику, вам потрібно переконатися, що ви збережете цей пароль у безпечному місці. Якщо вам з будь-якої причини вам доведеться перевстановити сертифікат, вам буде потрібно ввести цей пароль.