Назад | Перейти на главную страницу

запретить apache запрашивать пароль SSL при каждом перезапуске

С помощью инструкции с этого сайта но немного изменив их, я создал CA с помощью -newca, я скопировал cacert.pem в мой комп и импортирован как доверенный эмитент в IE. Затем я сделал -newreq и -sign (примечание: я делаю /full/path/CA.sh -cmd и нет sh CA.sh -cmd) и переместил сертификат и ключ в apache.

Я посетил сайт в IE и использовал код .NET, и он выглядит надежным, отлично (если я не напишу www. Впереди, что ожидается). Но каждый раз, когда я перезапускаю apache, мне нужно вводить пароль для сайта (ов?).

Как сделать так, чтобы мне НЕ нужно было вводить пароль?

Вы хотите удалить кодовую фразу из ключевого файла. Запустите это:

openssl rsa -in key.pem -out newkey.pem

Имейте в виду, что это означает, что любой, кто имеет физический доступ к серверу, может скопировать (и тем самым злоупотребить) ключом.

В прошлом я был виноват в удалении парольной фразы из моих собственных ключевых файлов, потому что это самое простое решение, но с точки зрения безопасности это не лучшая идея. Альтернативный вариант - передать кодовую фразу в Apache. Вы можете сделать это с помощью SSLPassPhraseDialog вариант в вашем httpd.conf (или другой файл, который он включает).

Если у вас есть только один SSL-сайт на вашем сервере, простейшей формой этого будет:

# either of these will work
SSLPassPhraseDialog |/path/to/passphrase-script
SSLPassPhraseDialog exec:/path/to/passphrase-script

Затем вы должны создать очень простой скрипт под названием /path/to/passphrase-script который содержит что-то вроде следующего:

#!/bin/sh
echo "put the passphrase here"

При запуске Apache берет выходные данные этого скрипта и использует их в качестве пароля для вашего ключа SSL. Если у вас несколько сайтов SSL, SSLPassPhraseDialog имеет дополнительные способы его использования, так что вы можете иметь либо один сценарий для всех ваших ключей, либо отдельный сценарий для каждого, либо как хотите.

Чтобы удалить пароль из файла PEM, вы можете сделать следующее. Обратите внимание, что обе команды необходимы в ситуации, когда закрытый ключ и открытый сертификат находятся в одном файле:

# you'll be prompted for your passphrase one last time
openssl rsa -in mycert.pem -out newcert.pem
openssl x509 -in mycert.pem >> newcert.pem

Это создаст файл с именем «newcert.pem», который является файлом PEM без пароля. Как отмечалось в других ответах, вы должны подумать, является ли это хорошей идеей с точки зрения безопасности, прежде чем делать это.

Зацепился отсюда