Можно ли установить существующий закрытый ключ и ssl-сертификат в новое хранилище ключей?

Мы потеряли наше оригинальное хранилище ключей, используемое для генерации CSR во время сбоя сервера. У нас есть резервная копия закрытого ключа (файл.key) и исходного CSR (файл.csr). Можно ли реконструировать хранилище ключей с этим? Поскольку все инструкции по созданию цепочек сертификатов требуют оригинального хранилища ключей.

Это для использования с Tomcat 7.0.27.

Спасибо

4 ответа

Решение

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

Да, это должно быть возможно. Но в дополнение к закрытому ключу вам также понадобится сертификат (не csr), который был возвращен центром сертификации. Шаги можно найти здесь

У меня была та же проблема с "длиной цепочки сертификатов", что и "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"
/>

Если у вас есть только файл CSR и потерянный сертификат, подписанный CA (Thawte и т. Д.), Вы можете отправить этот CSR в другой раз в CA для подписания.

Подразумевается, что у вас есть ключ и сертификат, подписанный CA, в формате PEM.

Преобразуйте сертификат и ключ в контейнер PKCS#12:

openssl pkcs12 -export -in newcert.pem -inkey newkey.pem -out server.p12 -name test_server -caname root_ca -chain -CAfile cacert.pem

caname, chain а также CAfile являются необязательными аргументами, они добавляют цепочку CA в контейнер.

Tomcat поддерживает сертификаты PKCS#12, но если вам нужен JKS, это можно сделать из PKCS#12 с помощью keytool (начиная с Java 6):

keytool -importkeystore -deststorepass mypass -destkeypass mypass -destkeystore keystore.jks -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass p12pass -srcalias test_server -destalias test_server
Другие вопросы по тегам