установка сертификатов SSL на апачском …, что сертификаты использовать?

Вы могли посмотреть на опцию TCPKeepAlive в sshd_config на сервере. Похоже, включают ли этому, Вы будете видеть больше разъединений (который кажется небольшим счетчиком, интуитивным, пока Вы не прочитаете документ) как любые изменения маршрута между Вами, и сервер приведет к разъединению. Это вряд ли произойдет на LAN, но довольно вероятно через Интернет.

0
задан 30 April 2013 в 21:38
1 ответ

Вы не можете просто сгенерировать случайный ключ для своего сертификата; вы должны использовать тот, с которым он был создан. В сертификате есть открытый ключ (обычно RSA), который клиент будет использовать в процессе обмена ключами; для завершения обмена ключами вам понадобится закрытый ключ, который (среди прочего) подтверждает, что сертификат принадлежит вам. В противном случае вы можете просто использовать любой сертификат, который вы найдете в Интернете, и выдавать себя за людей.

Если вы предоставите неверную информацию о сертификате, apache завершится ошибкой.

Цепочка сертификатов, которую вы получили, вероятно, содержит три сертификата: один для корневого ЦС ( Я подозреваю, что class-root.crt), промежуточный ЦС, подписанный этим корневым ЦС (root-2int.cer), и сертификат вашего сервера, подписанный промежуточным ЦС. Так устроены почти все SSL-сертификаты. Корневому сертификату будут доверять клиенты; ваш сервер должен предоставить свой собственный сертификат и другие сертификаты, которые связывают его в цепочку с корнем (например, корневой и промежуточный сертификаты).

Это делает файл цепочки. Чтобы создать файл цепочки, вы должны объединить промежуточные сертификаты и сертификаты CA в один файл, например

cat /etc/ssl/crt/root-2int.cer /etc/ssl/crt/class-root.crt > /etc/ssl/crt/chain.crt

Затем укажите chain.crt в качестве SSLCertificateChainFile . Это приведет к тому, что Apache отправит эти два сертификата вместе с вашим в качестве доказательства действительности.

Вам также необходимо будет извлечь сертификат и ключ из вашего PFX-файла, который содержит оба:

openssl pkcs12 -nocerts -in wildcard.ssl.pfx -out wildcard.key
openssl pkcs12 -clcerts -nokeys -in wildcard.ssl.pfx -out wildcard.crt

Затем, если закрытый ключ зашифрован (например, у вас есть кодовая фраза), если вы хотите, чтобы apache мог запускаться без ввода пароля, вы должны расшифровать его (и защитить его разрешениями файловой системы: режим 0400 и принадлежит root: например, root). Для этого (при условии RSA):

openssl rsa -in wildcard.key -out wildcard-decrypted.key

Затем вы можете использовать эти два файла:

SSLCertificateFile /etc/ssl/crt/wildcard.crt
SSLCertificateKeyFile /etc/ssl/crt/wildcard-decrypted.key

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

openssl x509 -modulus -noout -in /etc/ssl/crt/wildcard.crt
openssl rsa -modulus -noout -in /etc/ssl/crt/wildcard-decrypted.key
2
ответ дан 4 December 2019 в 14:13

Теги

Похожие вопросы