Назад | Перейти на главную страницу

Промежуточного сертификата нет в хранилище ключей, хотя я его добавил

Мне было поручено настроить ssl на сервере, этот сервер использует wildfly, поэтому мне нужно создать хранилище ключей, содержащее все полученные мной сертификаты, сертификат сервера, промежуточный и ключевой файл.

Сначала я связал сертификат сервера и промежуточный сертификат, а затем использовал openssl для создания файла pkc12. Затем я использовал keytool для создания хранилища ключей из этого файла pkc12.

Проблема в том, что когда я открываю файл хранилища ключей или файл pkc12, я обнаруживаю, что он не содержит промежуточного сертификата, он имеет только сертификат сервера. Я делал эту процедуру раньше, и она сработала

Кто-нибудь знает, в чем может быть проблема?

Дополнительная информация: промежуточный сертификат немного устарел (с 2010 года), использует sha1 и истекает через 9 месяцев, что странно, в отличие от моего нового сертификата сервера, который использует sha256.

По-видимому, ваша проблема может заключаться в неправильном промежуточном сертификате.

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

  • Выполните следующую команду для сертификата сервера:

    openssl x509 -noout -text -in server.pem | grep 'CA Issuers'
    
  • Затем откройте URL-адрес, найденный с помощью grep:

    wget http://url/ -O intermediate.der
    
  • Преобразуйте скачанный сертификат в формат PEM:

    openssl x509 -in intermediate.der -inform DER -outform PEM -out intermediate.pem
    

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

Предположим, в цепочке есть только один промежуточный сертификат. Если их больше, вам нужно будет повторить приведенные выше команды для intermediate.pem получить intermediate2.pem и так далее.

Выполните приведенные ниже команды, чтобы создать хранилище JKS.

  • Создать комплект сертификатов:

    cat server.pem intermediate.pem > bundle.pem
    
  • Создайте пакет формата pfx / pkcs12:

    openssl pkcs12 -export -out bundle.pfx -inkey server.key -in bundle.pem
    
  • Создайте хранилище ключей JKS:

    keytool -importkeystore -srckeystore bundle.pfx -srcstoretype pkcs12 -destkeystore store.jks -deststoretype JKS
    
  • Проверить хранилище ключей:

    keytool -v -list -keystore store.jks
    

Вы должны увидеть следующее:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: 1
Creation date: May 19, 2019
Entry type: PrivateKeyEntry
Certificate chain length: 2
Certificate[1]:
Owner: CN=example.com
Issuer: CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US
...
Certificate[2]:
Owner: CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US
Issuer: CN=DST Root CA X3, O=Digital Signature Trust Co.
...