MyDomain.com предоставляет только копируемый текст для положительного сертификата SSL: один для сертификата и один для ключа. Как мне установить это на моем веб-сервере nginx? - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь настроить SSL-сертификат на сайте с помощью веб-сервера nginx. В прошлом я генерировал SSL-сертификаты из Let's Encrypt / Certbot без проблем. На этот раз я приобрел домен .com и положительный SSL-сертификат на MyDomain.com. MyDomain.com не предоставляет файл .zip или ca-bundle для сертификата (т. Е. Отсутствует промежуточный сертификат или корневой сертификат). Вместо этого он дает мне две незашифрованные строки кода для копирования вручную: одну для сертификата и одну для ключа.

Строка сертификата содержит ----- НАЧАТЬ СЕРТИФИКАТ ----- и ----- КОНЕЦ СЕРТИФИКАТА -----

Строка ключа содержит -----НАЧАЛО RSA PRIVATE KEY ----- и ----- END RSA PRIVATE KEY -----

Я вставляю каждую из этих строк в отдельный файл текстового редактора (используя Atom в Ubuntu 18.0) исохранить как .crt и .key соответственно. (Служба поддержки MyDomain.com сообщила мне, что сертификат должен быть .crt, но кто знает?)

Затем я добавляю пути к этим файлам в файл конфигурации моего сайта nginx, как показано ниже:

    ssl_certificate        /etc/ssl/certs/mysite.com.crt;
    ssl_certificate_key    /etc/ssl/private/mysite.com.key;

Однако при перезапуске происходит сбой nginx, и когда я проверяю файл конфигурации, я получаю следующее:

    $ sudo nginx -t
    nginx: [emerg] PEM_read_bio_X509_AUX("/etc/ssl/certs/mysite.com.crt") failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
    nginx: configuration file /etc/nginx/nginx.conf test failed

Некоторые вещи, которые я пробовал:

Сохранение сертификата в формате .pem =та же ошибка.

Добавление слова TRUSTED вручную в начало и конец сертификата = та же ошибка.

Попытка преобразования файла на основе его кодировки:

$ sudo openssl x509 -in /etc/ssl/certs/mysite.com.crt -out /etc/ssl/certs/mysite.com.pem -outform PEM
unable to load certificate
140561005191616:error:0909006C:PEM routines:get_name:no start line:../crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE

$ sudo openssl x509 -in /etc/ssl/certs/mysite.com.crt -inform der -outform pem -out /etc/ssl/certs/mysite.com.pem
unable to load certificate
139831375835584:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
139831375835584:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509

$ sudo openssl x509 -inform DER -in /etc/ssl/certs/mysite.com.crt -out /etc/ssl/certs/mysite.com.pem -text
unable to load certificate
139993835831744:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
139993835831744:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509

IЯ не уверен, что делать отсюда. Кто-нибудь успешно установил SSL-сертификат на nginx, используя только файл .crt и файл .key?

1 Ответ

0 голосов
/ 13 октября 2019

Если кто-нибудь увидит это и почувствует любопытство, я должен был обратиться в службу поддержки MyDomain.com и попросить комплект сертификатов. Они достали его мне (пакет .crtc, а также отдельные файлы для сертификата и промежуточного сертификата), и теперь он отлично работает на моем сервере nginx. Это не будет работать без этих дополнительных файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...