Создание собственного сертификата. Импорт сертификата в Tomcat 8
Для использования https в Tomcat имеет смысл создать свой сертификат безопасности. Как это сделать читайте ниже.
1 Создание сертификата с помощью java keytool
Утилита keytool находится в папке «%JAVA_HOME%\bin\keytool». Например для установки по умолчанию путь будет таким — C:\Program Files\Java\jdk1.8.0_65\bin\keytool.
Открываем консоль (в Windows с помощью команды cmd).
- cd Program Files\Java\jdk1.8.0_65\bin\ — входим в папку с keytool
- keytool.exe -genkey -alias javastudy -keyalg RSA -keypass changeit -storepass changeit -keystore «c:\temp\javastudy\keystore.jks» — создаст keystore.jks в указанной в конце папке. Обратите внимание, что пароль задан changeit.
- keytool.exe -export -alias javastudy -storepass changeit -file «c:\\temp\javastudy\server.cer» -keystore «c:\\temp\javastudy\keystore.jks» — этой командой будет экспортирован сертификат в указанную папку.
Скриншоты:
Создание сертификата:
2. Добавление сертификата в Tomcat 8
Заходим в папку с tomcat и находим там файл server.xml ($CATALINA_BASE/conf/server.xml).
В этом файле находим этот код
1 2 3 4 5 6 7 8 9 10 |
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the NIO implementation that requires the JSSE style configuration. When using the APR/native implementation, the OpenSSL style configuration is required as described in the APR/native documentation --> <!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> --> |
Меняем на такой набор
1 2 3 4 5 6 7 8 9 10 11 12 |
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the NIO implementation that requires the JSSE style configuration. When using the APR/native implementation, the OpenSSL style configuration is required as described in the APR/native documentation --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="C:/dev/certificateTomcat/keystore.jks" keystorePass="changeit" clientAuth="false" sslProtocol="TLS"/> |
Обратите внимание на указание пути и пароля keystoreFile=»C:/dev/certificateTomcat/keystore.jks» keystorePass=»changeit». Поменяйте путь на удобный для вас.
2.1. Настройка https у Tomcat в Intellij IDEA
Не забудьте указать порт для использования защищенного канала в среде разработки.
3. Установка сертификата из центра сертификации Certificate Authority
Если у вас есть подписанный сертификат из центра сертификации, то для импорта необходимо произвести действия, описанные ниже.
1 |
keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore <your_keystore_filename> |
Используйте эту команду для создания сертификата.
Далее нужно импортировать в локальный keystore так называемый Chain Sertificate. Для этого выполните эту команду:
1 2 |
keytool -import -alias root -keystore <your_keystore_filename> -trustcacerts -file <filename_of_the_chain_certificate> |
Теперь можно импортировать новый сертификат с помощью команды:
1 2 |
keytool -import -alias tomcat -keystore <your_keystore_filename> -file <your_certificate_filename> |
10