Как построить цепочку сертификатов для ServerHello

Как построить цепочку сертификатов для ServerHello

Я пытаюсь собрать цепочку сертификатов. У меня есть закрытый ключ ( privatekey.pem) и CSR ( csr.pem), которые я отправил в Центр сертификации/CA.

Я взял сертификат CA и поместил его содержимое в файл ( ca.crt). Он ca.crtначинается со -----BEGIN CERTIFICATE-----строки, а затем идет хэш. Мне все еще нужна цепочка сертификатов, и я смотрю на пример цепочки сертификатов здесьhttp://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SampleCert

Я предполагаю, что то, что у меня есть в это privatekey.pemкорневой сертификат (правильно?) и ca.crtпромежуточный сертификат 1 в цепочке образцов в этой ссылке. Если это так, как/где мне получить другой промежуточный сертификат? Если я неправильно понимаю, что или как мне получить/сгенерировать заказ?

решение1

Кажется, вы тут смешиваете несколько аспектов. Что вам нужно для получения конечного результата, так это

  1. ваш личный ключ
  2. корневой сертификат, который одинаков для всех, использующих один и тот же CA (кажется, это ваш ca.crt)
  3. а/некоторые промежуточные сертификаты, обычно находящиеся на сайте центра сертификации
  4. результат представленного CSR, который затем является вашим сертификатом.

2-4 составляют цепочку сертификатов.

решение2

Адрон,

privatekey.pem — это закрытый ключ для сертификата, который вы запросили у центра сертификации.

Корневой сертификат центра сертификации будет сертификатом из верхней части конкретной PKI, выдавшей ваш сертификат, и будет самоподписанным сертификатом.

сертификаты промежуточных центров сертификации поступают из подчиненных центров сертификации, расположенных ниже корневого центра сертификации.

например, example.com имеет корневой CA с именем exampleRootCA и подчиненный CA с именем exampleSubCA.

exampleSubCA выдает вам SSL-сертификат AdronSSL

Ваша цепочка сертификатов будет выглядеть следующим образом: AdronSSL -> exampleSubCA -> exampleRootCA

надеюсь это поможет

решение3

Команды 1–5 ниже помогут создать цепочку сертификатов.

  1. Команда для создания закрытого ключа RootCA и самоподписанного сертификата

    openssl req -new -nodes -newkey rsa:2048 -sha256 -days 100 -keyout rootPrivateKey.key -x509 -out rootCACertificate.pem

Примечание: Команда для преобразования сертификата RootCA из формата .crt в .pem

openssl x509 -outform pem -in rootCACertificate.pem -out rootCACertificate.crt
  1. Команда для создания закрытого ключа промежуточного центра сертификации и запроса на подпись сертификата

    openssl req -new -nodes -newkey rsa:2048 -keyout промежуточныйCAPrivateKey.key -out промежуточныйCACertificateSignRequest.csr

  2. Команда для создания сертификата промежуточного центра сертификации, подписанного RootCA

    openssl x509 -req -sha256 -days 100 -in промежуточныйCACertificateSignRequest.csr -CA rootCACertificate.pem -CAkey rootPrivateKey.key -CAcreateserial -extfile domain.ext -out промежуточныйCACertificate.crt

Содержимое domain.ext представлено ниже:

subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:true
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
  1. Команда для создания закрытого ключа сервера и подписания запроса

    openssl req -new -nodes -newkey rsa:2048 -keyout serverPrivateKey.key -out serverSignRequest.csr

  2. Команда для создания сертификата сервера, подписанного IntermediateCA

    openssl x509 -req -sha256 -days 100 -in serverSignRequest.csr -CA промежуточныйCACertificate.crt -CAkey промежуточныйCAPrivateKey.key -CAcreateserial -extfile domain.ext -out serverCertificate.crt

Содержимое domain.ext представлено ниже:

basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost

Примечание: Команда для преобразования закрытого ключа сервера из формата .key в формат .PEM.

openssl rsa -in serverPrivateKey.key -out serverPrivateKey.pem

Здесь корневой CA является самоподписанным. Поэтому браузеры его не распознают. Чтобы браузер его распознал, откройте IE ->Сервис->Свойства обозревателя ->Содержимое -> Импорт корневого CA в раздел доверенных центров сертификации и промежуточного CA в раздел промежуточных центров сертификации.

Сертификат сервера и закрытый ключ сервера хранятся на сервере, на котором вы обслуживаете веб-страницы.

После того, как вы запросите веб-страницы, вы увидите, что сертификат сервера проверяется по цепочке сертификатов.

Связанный контент