Вопрос: Что такое пароль для вызова?


Я настраиваю SSL на сервере Ubuntu. Одним из полей, которые он запрашивает как часть настройки CSR, является «пароль для запроса». Что это? Значение по умолчанию - пустое. Нужно ли мне вводить один?


149
2018-05-04 14:34


Источник




Ответы:


«Запрошенный пароль», запрошенный как часть генерации CSR, отличается от парольной фразы, используемой для шифрования секретного ключа (запрашивается в момент генерации ключа или когда ключ открытого текста позднее зашифровывается - и затем запрашивается снова каждый раз, когда запущенная служба с поддержкой SSL запускает).

Вот генерируемый ключ и начало сгенерированного ключа:

[madhatta@anni tmp]$ openssl genpkey -algorithm rsa -out foo.key
............++++++
...++++++
[madhatta@anni tmp]$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

У этого ключа нет кодовой фразы. Я не был вызван на создание при создании и не вошел в один. Теперь давайте сгенерируем зашифрованный ключ:

[madhatta@anni tmp]$ openssl genpkey -algorithm rsa -des3 -out bar.key
...........................................++++++
.....................................++++++
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
[madhatta@anni tmp]$ head -3 bar.key
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQInfwj1iv3icMCAggA
MBQGCCqGSIb3DQMHBAizMHBklBexiwSCAoDtRKf1WtMiVMH7HraGTIG0rlQS6Xuj

Поэтому должно быть понятно, что зашифрованный закрытый ключ (которому apache или любому другому серверу с поддержкой SSL потребуется разблокировать его при запуске), а закрытый секретный ключ (который не требует разблокировки в начале службы) выглядит так: , Теперь я создам CSR с пароль для вызова из незашифрованном ключ:

[madhatta@anni tmp]$ 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-----

И просто чтобы показать, что ключ не волшебным образом зашифрован:

[madhatta@anni tmp]$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

Поэтому я снова говорю: «пароль запроса», запрошенный как часть поколения CSR, не то же самое, что и парольная фраза, используемая для шифрования секретного ключа. «Контрольный пароль» - это, в основном, общий секретный ключ между вами и сертификатом SSL-сертификатов (aka Certification Authority, или CA), встроенным в CSR, который эмитент может использовать для аутентификации, если это когда-либо понадобится. Некоторые сертификаты SSL-сертификатов делают это более четким, чем другие; смотреть вниз внизу этой страницы посмотреть, где они говорят, пароль для вызова необходим - это не при перезапуске apache:

Если вы решите ввести и использовать пароль для запроса, вам понадобится   чтобы вы сохранили этот пароль в безопасном месте. если ты   когда-либо нужно переустанавливать сертификат по какой-либо причине, вы будете   требуется ввести этот пароль.


134
2018-05-04 15:29



Существует ли разница между «SSL-эмитентом» и CA (центром сертификации)? - Jonathan
Технически они не выдают сам протокол SSL, а скорее сертификат, совместимый с SSL. Я чувствую, что SSL-эмитент менее ясен. SSL-сертификат Эмитент был бы ясен, по моему скромному мнению. - Jonathan
Очень (очень) полный ответ, когда не нужно ИМХО. Исходя из поставленного вопроса, вы можете устранить весь свой ответ, за исключением того, что следующий «пароль для вызова» - это в основном разделяемый секрет nonce ... ». Я считаю, что ответил бы на вопрос, заданный так же, как и полностью, с меньшей отвлекающей информацией, не относящейся к делу. - joe
@joe спасибо! То, что вы не видите (потому что у вас нет репутации), я отвечал на ранее удаленный ответ очень высоко оцененного пользователя (который был в этом случае, к сожалению, ошибался), поэтому он должен был сделать поэтапное опровержение. Его последующее удаление, которое не было сделано его автором, делает мой взгляд немного странным, но до сих пор я решил оставить его. Если достаточное количество других поддержит вашу точку зрения, подтвердив свой комментарий, я исправлю свой ответ. - MadHatter
Я был озадачен этим самым вопросом и нашел этот ответ не таким полезным для моего ограниченного понимания предмета (из-за того, как он написан), но, к счастью, нашел мой ответ от security.stackexchange.com/a/77082/67048 - zagrimsan