Промежуточные сертификаты SSL

У нас много проблем с настройкой наших SSL-сертификатов.

Мы создали наши хранилища ключей (используя несколько источников) из существующего ключа и сертификата, сначала создав файл pkcs12 и экспортировав его в хранилище ключей java.

Теперь Thawte требует, чтобы вы установили 2 промежуточных файла ca. Если я проверю наш склад ключей, все три (два промежуточных и наше) присутствуют. Tomcat запускается должным образом, но при посещении сайта (и использовании средства проверки verisign ssl) два промежуточных сертификата не собираются.

Если у кого-то есть больше опыта по установке сертификатов от Thawte, любой вклад будет приветствоваться. В нашем распоряжении следующие файлы. К сожалению, у нас нет оригинального хранилища ключей, использованного для создания CSR, но у нас есть закрытый ключ.

  1. CSR файл
  2. Закрытый ключ (файл.key)
  3. Наш.crt файл
  4. Первичные и вторичные промежуточные файлы от Thawte (как отдельные, так и связанные файлы.p7b)

Также мы используем Tomcat 7.0.27 без Apache.

Спасибо!

4 ответа

Решение

Кажется, единственный способ, которым мы добились того, чтобы это работало должным образом, было отозвать старый сертификат и обновить его новым CSR.

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

Одно предостережение: чтобы добавить полную цепочку сертификатов в хранилище ключей PKCS#12, необходимо объединить все промежуточные файлы PEM следующим образом:

cat specific_ca.pem general_ca.pem root_ca.pem > ca_chain.pem

И указать -CAfile ca_chain.pem и указать -caname несколько раз - один раз для каждого сертификата в цепочке, чтобы они появились в ca_chain.pem файл.

Преобразование DER в PEM на всякий случай:

openssl x509 -in cert.der -inform der -outform pem -out cert.pem

Просто чтобы уточнить, поскольку после прочтения этих советов я не был уверен, как с этим справиться - я поместил все сертификаты и закрытый ключ в хранилище ключей PKCS12, а затем настроил Tomcat на использование этого хранилища ключей вместо JKS по умолчанию. У меня не получилось с JKS - keytool импортировал только закрытый ключ и мой сертификат сайта из файла PKCS12, но промежуточный сертификат отсутствовал.

Команда, которую я использовал:

openssl pkcs12 -export -in mycert.crt -inkey my-key.key -out server.p12 -name site.com -caname intermediate -chain -CAfile intermediate.crt

И в файле server.xml я добавил

keystoreType="PKCS12"

в определении разъема.

И теперь у меня есть Tomcat 7, обслуживающий контент по https, используя ранее сгенерированный ключ, сертификат и промежуточный сертификат. В моем случае это был только один промежуточный сертификат от RapidSSL.

У меня была та же проблема с "Длина цепочки сертификатов", что и "1", я только начинал терять всякую надежду, перепробовав много методов, но сумел решить, установив и используя APR:

/questions/26604297/ne-udaetsya-sozdat-hranilische-klyuchej-dlya-tomcat-s-dlinoj-tsepochki-sertifikatov-klyuchej-sertifikatov-i-sertifikatov-1/26604317#26604317

Теперь коннектор в server.xml выглядит так:

<Connector port="443"
    SSLEnabled="true"
    maxThreads="150"
    scheme="https"
    secure="true"
    clientAuth="false"
    SSLCertificateFile="thecertificate.cer"
    SSLCertificateKeyFile="privatekey.key"
    SSLCACertificateFile="intermediate.crt"
    SSLPassword="thePassForPrivateKey"
/>
Другие вопросы по тегам