1

У нас есть требование изменить веб-сервисы с HTTP на HTTPS, поэтому мы сгенерировали .csr и предоставили нашему клиенту и получили взамен файлы .p7b и .cer, чтобы использовать их в nginX, размещенном на сервере linux.

Я новичок в nginX и, насколько я понимаю, .p7b и .cer оба являются файлами сертификатов, но я не понимаю, какой из них следует использовать в параметре ssl_certificate, или мне нужно объединить оба файла и передать результирующий файл в ssl_certificate для обслуживания цель?

server {

listen   443;
ssl    on;
ssl_certificate    /etc/ssl/your_domain_name.pem; (or bundle.crt)
ssl_certificate_key    /etc/ssl/your_domain_name.key;

server_name your.domain.com;
access_log /var/log/nginx/nginx.vhost.access.log;
error_log /var/log/nginx/nginx.vhost.error.log;
location / {
root   /home/www/public_html/your.domain.com/public/;
index  index.html;
}

}

Я перехожу по этой ссылке, но не смог найти правильный ответ.

Может кто-нибудь, пожалуйста, скажите мне подробно, как я должен их использовать?

PS: перенося вопрос из StackOverFlow в SuperUser.

1 ответ1

4

Они оба содержат одни и те же данные (в основном) в разных форматах. Nginx будет хотеть "простой" формат .crt, но не все CA включают в него необходимые данные, так что, возможно, вам все равно придется конвертировать из .p7b. (См. Также https://superuser.com/a/123327/1686.)

Файл ssl_certificate имеет два требования:

  • Для nginx (и многих других сервисов) он должен быть в текстовом формате, называемом «PEM-кодированным», с заголовками BEGIN CERTIFICATE .

    Иногда .cer файлы в двоичном формате. Проверьте с помощью текстового редактора; Вы можете использовать openssl x509 -inform DER < thing.cer > thing.crt для преобразования в текстовый формат.

  • Файл сертификата также должен содержать цепочку промежуточных сертификатов - снова открыть в текстовом редакторе (или использовать certtool -i).

    Некоторые ЦС вместо этого включают их в виде отдельных файлов, и в этом случае их необходимо объединить (сначала ваш сертификат, а затем промежуточные).

Поскольку вы также получили те же сертификаты в файле .P7B, это может быть наиболее надежными , чтобы преобразовать его в файл сертификата PEM:

openssl pkcs7 [-inform DER] -print_certs < thing.p7b > fullchain.crt

Полученный файл .crt должен иметь все необходимое.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .