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

Как установить ssl-сертификаты, подписанные CA, в Tomcat 8

У меня есть 2 сертификата, подписанные ЦС. Я хочу включить ssl на tomcat, используя эти сертификаты.

Я выполнил следующие команды для создания файла jks и импортировал сертификаты в этот файл jks.

1. keytool -genkey -alias bmark.com -keyalg RSA -keystore keystore.jks
2. keytool -import -alias root -keystore keystore.jks -trustcacerts -file b32dasd75493.crt
3. keytool -import -alias intermed -keystore keystore.jks -trustcacerts -file sf_bundle-g2-g1.crt

И включил https в server.xml tomcat

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/Users/test/Desktop/keystore.jks" keystorePass="changeme"/>

Запустил кота и открыл URL https://bmark.com:8080 в хроме, но он утверждает, что сертификат SSL, подписанный CA, не является доверенным, утверждает, что он самоподписанный. Нужны ли мне другие файлы кроме этих? Как я могу решить эту проблему?

Чтобы проверить правильность установки ответа CA, выполните:

keytool -list -keystore /Users/test/Desktop/keystore.jks -alias bmark.com -v

Он должен показать вам цепочку сертификатов от листа до корня.

В определении коннектора вы не указали ключевой псевдоним, поэтому используется первый найденный сертификат. Измените его на:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="/Users/test/Desktop/keystore.jks"
           keystorePass="changeme"
           keyAlias="bmark.com" />

или, если вы используете Tomcat 8.5 (вы не должны использовать Tomcat 8.0), переключитесь на новую конфигурацию SSL:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" scheme="https" secure="true" SSLEnabled="true">
    <SSLHostConfig protocols="TLS">
        <Certificate certificateKeystoreFile="/Users/test/Desktop/keystore.jks"
                     certificateKeystorePassword="changeme"
                     certificateKeyAlias="bmark.com" />
    </SSLHostConfig>
</Connector>

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

keytool -importcert -keystore /Users/test/Desktop/keystore.jks\
-alias bmark.com -file <chain_file> -trustcacerts

или вы можете вставить отдельно от корня к стеблю.