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

SSL-сертификат Pure-ftp: несоответствие ключевых значений

Я получил новый сертификат SSL от GoDaddy, а старый - от Comodo.

Содержание /etc/ssl/private/pure-ftpd.pem являются следующими:

 -----BEGIN PRIVATE KEY-----     
 PRIVATE KEY USED TO CREATE THE CSR
 -----END PRIVATE KEY-----
 -----BEGIN CERTIFICATE-----
 CONTENTS OF CRT FILE RECEIVED BY GODADDY
 -----END CERTIFICATE-----

После обновления содержимого файла я перезапустил pure-ftpd затем проверил статус:

 /etc/init.d/pure-ftpd restart
 /etc/init.d/pure-ftpd status

 [ ok ] pure-ftpd is running.

Вроде все хорошо. Теперь я пытаюсь проверить новый сертификат:

редактировать: Я добавил "связку" CRT файл, предоставленный GoDaddy, в /etc/ssl/certs, и теперь я получаю этот вывод (но все еще не могу перезапустить apache2 из-за ошибок, показанных ниже)

 openssl verify -CApath /etc/ssl/certs /etc/ssl/private/pure-ftpd.pem

 pure-ftpd.pem: OK

Затем я попытался перезапустить apache2 (предположим, что это укажет системе использовать новый сертификат):

 apache2ctl graceful

 httpd not running, trying to start
 Action 'graceful' failed.
 The Apache error log may have more information.

Журнал ошибок Apache:

 [error] Unable to configure RSA server private key
 [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

Казалось бы, соответствующие части /etc/apache2/sites-available/default-ssl: Есть ли PEM файл объявлен как SSLCertificateFile нужно как-то обновить, если я создал новый закрытый ключ? (Если да, то что именно в нем должно быть и как этого добиться?)

 SSLCertificateFile    /etc/ssl/certs/my.server.net.pem
 SSLCertificateKeyFile /etc/ssl/private/my.server.net.key

Я также пробовал использовать эти команды для сравнения модуля каждого файла, и они одинаковы:

 openssl x509 -noout -modulus -in /etc/ssl/private/pure-ftpd.pem | openssl md5
 openssl rsa -noout -modulus -in /etc/ssl/private/my.server.net.key | openssl md5

Может кто-то указать мне верное направление?

Другое редактирование: Когда я получаю доступ к FTP-серверу через клиента, такого как FileZilla, меня приветствуют учетные данные для нового сертификата GoDaddy. Так что это здорово, но эта проблема сводит меня с ума!

Нужно ли каким-то образом обновлять файл PEM, объявленный как SSLCertificateFile, если я создал новый закрытый ключ?

Да, поскольку это сертификат, который означает открытую часть ключа (и другие данные, такие как даты действия), поэтому эта открытая часть должна соответствовать частной части в файле .key. Вы не можете сгенерировать их отдельно.

Если то, что вы даете в начале, является вашим новым сертификатом, вы должны создать 2 файла my.server.net.pem и .key поместив часть внутри BEGIN PRIVATE KEY / END PRIVATE KEY (включая эти строки) в файл .key, а следующую часть (с заголовками) в файл .pem. Однако для работы Apache2 TLS в конце это также зависит от CN + SAN внутри вашего сертификата. Если это сделано только для имени ftp.myserver.whatever а также не для www.myserver.whatever тогда браузеры отобразят предупреждение (из-за несоответствия имени).