У меня есть 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
или вы можете вставить отдельно от корня к стеблю.