С помощью инструкции с этого сайта но немного изменив их, я создал 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 без пароля. Как отмечалось в других ответах, вы должны подумать, является ли это хорошей идеей с точки зрения безопасности, прежде чем делать это.
Зацепился отсюда