Установите SSL на Tomcat с сертификатом .cer - PullRequest
0 голосов
/ 24 августа 2018

Мой вопрос: возможно ли добавить SSL к Windows Server с установленным Tomcat 7, используя только файл .cer .

У меня есть клиент, который использует SSL в ваших приложениях с ISS, и всякий раз, когда вам нужно установить SSL на вашем сервере ISS, устанавливайте только этот файл .cer: Но, как я сделал приложение с Tomcat для него и мне нужно защитить это приложение с помощью HTTPS. Я запросил сертификат и послал этот файл .cer.

Я уже пытался сгенерировать файл .JKS и каким-то образом добавить его в Tomcat, но ни с одним из них я не справился. Пример:

keytool -import -alias root -keystore example.jks -trustcacerts -file certificate.cer

С этим я генерирую файл jks и сопоставляю его с tomcat, и случается, что он не работает. Я знаю, что с настройками Tomcat все в порядке, потому что я выполнил тест, генерирующий файл с помощью genkey, который возвращает мне файл .keystore и с этим он работает.

Edit:

Соединитель в server.xml:

    <Connector
       protocol="org.apache.coyote.http11.Http11NioProtocol"
       port="443" 
       maxThreads="200"
       scheme="https" 
       secure="true" 
       SSLEnabled="true"
       keystoreFile="C:/path/example.jks" 
       keystorePass="password"
       clientAuth="false"
       sslProtocol="TLS"
       keyAlias="root" />

Стоит ли запрашивать этот сертификат в другом формате?

Кто-нибудь прошел через это, и вы можете дать мне хотя бы подсказку?

Спасибо.

1 Ответ

0 голосов
/ 25 августа 2018

Чтобы ответить на ваш вопрос: одного файла CER обычно недостаточно для правильной настройки HTTPS-коннектора в Tomcat или на любом другом веб-сервере / сервере приложений.

Не уверен, как это настроено в IISно вам всегда понадобится закрытый / секретный ключ для использования SSL.

Обычно стандартный поток при использовании подписанного сертификата (не самоподписанного) выглядит так:

  1. Сгенерировать закрытый / секретный ключ

    $ keytool -genkey -keystore tomcat.jks -alias tomcat -keyalg RSA -keystore tomcat.jks -dname "CN=<hostname>"
    
  2. Сгенерировать запрос на подпись сертификата для этого ключа

    $ keytool -certreq -keystore tomcat.jks -alias tomcat -file tomcat.csr 
    
  3. Этот запрос на подпись (CSR-файл) передается в орган подписи, и вы получаете взамен подписанный сертификат (файл CER)

    $ keytool -gencert -keystore root-ca.jks -alias root -infile tomcat.csr -outfile tomcat.cer -rfc 
    
  4. Этот сертификат вместе с сертификатом органа подписи импортируются вваше хранилище ключей

    $ keytool -import -keystore tomcat.jks -file my-root-ca.cer -trustcacerts -alias my-root-ca
    $ keytool -importcert -keystore tomcat.jks -alias tomcat -file tomcat.cer
    

Теперь файл tomcat.jks можно использовать в Tomcat в качестве хранилища ключей для коннектора HTTPS.

Нет информации о том, что ваш certificate.cer файл содержится в дuestion.Чтобы проверить содержимое с помощью keytool, вы можете использовать эту команду

$ keytool -printcert -file certificate.cer

В моем примере выше вывод выглядит так:

Owner: CN=<hostname>
Issuer: CN=My-Root-CA, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Serial number: 222f266a
Valid from: Sat Aug 25 12:41:01 CEST 2018 until: Fri Nov 23 11:41:01 CET 2018
...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...