Amazon AWS не может проверить цепочку сертификатов thawte

Я только что получил SSL-сертификат Thawte 123 и у меня возникли проблемы с загрузкой его в AWS, чтобы использовать его с CloudFront в качестве пользовательского SSL-сертификата SNI. AWS отказывается от ЦС. Я использую пакет Thawte Intermediate CA для SSL веб-сервера и сертификатов Thawte Wildcard.

Чтобы иметь возможность использовать свой закрытый ключ, я преобразовал его в ключ RSA с помощью:

openssl rsa -in private.key -out private-rsa-key.pem`

И попытался загрузить его с:

aws iam upload-server-certificate --server-certificate-name example.com-certificate --certificate-body file://certificate.pem --private-key file://private.pem --certificate-chain https://search.thawte.com/library/VERISIGN/ALL_OTHER/thawte%20ca/SSL_CA_Bundle.pem --path /cloudfront/example.com/

В результате возникает следующая ошибка:

A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order. The index within the chain of the invalid certificate is: 0

Даже вставка thawte_Primary_Root_CA.pem в цепочку сертификатов в качестве первого сертификата немедленной подписи не решает проблему.

A client error (MalformedCertificate) occurred when calling the UploadServerCertificate operation: Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order. The index within the chain of the invalid certificate is: 1

Цепочка Thawte CA не совместима с AWS?

3 ответа

Решение

У меня сейчас такая же проблема, и все перепробовал. Использование сертификата SSL123 (мой ключ rsa и pem в порядке)

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

https://search.thawte.com/library/VERISIGN/ALL_OTHER/thawte%20ca/SSL123_SecondaryCA.pem

https://search.thawte.com/library/VERISIGN/ALL_OTHER/thawte%20ca/SSL123_PrimaryCA.pem

Единственное, что я могу получить от ELB, это:

Невозможно проверить цепочку сертификатов. Цепочка сертификатов должна начинаться с сертификата немедленной подписи, за которым следуют любые посредники по порядку. Индекс в цепочке недействительного сертификата: 0

Где индекс не всегда -1, но также 0,1 и 2 в зависимости от порядка и количества включенных сертификатов.

[ Решено для меня ]

Судя по всему, влияет на экземпляр EC2, из которого вы создаете сертификат. Я использовал стандартный экземпляр EBS с AMI по умолчанию и снова преобразовал сертификат, предоставленный Thwate, и это сработало.

Вот шаги:

КСО:

keytool -genkey -keysize 2048 -keyalg RSA -alias mycertificate -keystore keystore.jks

Как только Тэтвэ отвечает: (Основной является вторым сертификатом в цепочке электронной почты).

Импортируйте три сертификата в keystore.jks

keytool -import -alias Primary -trustcacerts -file Primary.crt -keystore keystore.jks
keytool -import -alias Secondary -trustcacerts -file Secondary.crt -keystore keystore.jks
keytool -import -alias mycertificate -trustcacerts -file mycertificate.cer -keystore keystore.jks

JSK> P12 - преобразование keystore.jks в формат p12

keytool -importkeystore -srckeystore keystore.jsk -destkeystore keystore.p12 -srcstoretype jks -deststoretype pkcs12

P12> PEM - преобразовать формат p12 в формат pem

openssl pkcs12 -in keystore.p12 -out keystore.pem -nodes

PEM> RSA PRIVATE KEY - Экспорт закрытого ключа в формате RSA

openssl rsa -in keystore.pem -text > keystore_rsa.pem

И это сработало на этот раз.

  1. вы должны убедиться, что сертификат, закрытый ключ и цепочка сертификатов закодированы в PEM следующим образом:
-----BEGIN CERTIFICATE----- << -This is my Intermediate CA which signed my CSR 
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- << -This is my Root CA which signed my Intermediate CA
Base64-encoded certificate
-----END CERTIFICATE-----
  1. Вам не нужно помещать подписанный сертификат в цепочку.
    Достаточно просто добавить промежуточный и корневой CA в файлы цепочки.

Использование следующего в качестве сертификата ca chain решает проблему:

https://ssltools.thawte.com/chainTester/webservice/validatecerts/certificate?certKey=issuer.intermediate.cert.57&fileName=thawte%20DV%20SSL%20CA%20-%20G2&fileExtension=txt

Важно отметить, что промежуточные сертификаты не относятся к вашему домену или сертификату. Таким образом, каждый выданный вам сертификат имеет такие же промежуточные сертификаты.

Вы можете думать о них немного как номер маршрута на ваших чеках. Номер маршрутизации необходим, но на самом деле он говорит больше о вашем банке, чем о вас. Ваш номер счета или ваш сертификат в этом случае, является тем, что является уникальным для вас.

Из-за общего характера промежуточных сертификатов существуют такие сайты, как этот:

https://www.ssl2buy.com/wiki/ssl-intermediate-and-root-ca-bundle

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

Другие вопросы по тегам