Промежуточные сертификаты SSL
У нас много проблем с настройкой наших SSL-сертификатов.
Мы создали наши хранилища ключей (используя несколько источников) из существующего ключа и сертификата, сначала создав файл pkcs12 и экспортировав его в хранилище ключей java.
Теперь Thawte требует, чтобы вы установили 2 промежуточных файла ca. Если я проверю наш склад ключей, все три (два промежуточных и наше) присутствуют. Tomcat запускается должным образом, но при посещении сайта (и использовании средства проверки verisign ssl) два промежуточных сертификата не собираются.
Если у кого-то есть больше опыта по установке сертификатов от Thawte, любой вклад будет приветствоваться. В нашем распоряжении следующие файлы. К сожалению, у нас нет оригинального хранилища ключей, использованного для создания CSR, но у нас есть закрытый ключ.
- CSR файл
- Закрытый ключ (файл.key)
- Наш.crt файл
- Первичные и вторичные промежуточные файлы от 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:
Теперь коннектор в 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"
/>