Цель: использовать самозаверяющий сертификат с моим сервером Tomcat для разработчиков.
Шаг 1. Создайте сертификат с помощью openssl после этого Руководство по сертификации Ubuntu:
openssl req -new -key server.key -out server.csr
Я следовал самоподписанному руководству НЕТ пароля.
Шаг 2. Обновите файл конфигурации Tomcat /etc/tomcat7/server.xml
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
keystoreFile="/etc/ssl/private/server.key" keystorePass=""
maxThreads="150" scheme="https" secure="true"
protocol="org.apache.coyote.http11.Http11AprProtocol"
clientAuth="false" sslProtocol="TLS"/>
Шаг 3: перезапустите Tomcat:
sudo service tomcat7 stop
sudo service tomcat7 start
Протестируйте через браузер Chrome на другом компьютере:
Все SSL-соединения с сервером отклонены, но стандартные http-соединения работают. Подробности об ошибке в Chrome:
Google Chrome's connection attempt to [domain] was rejected. The website may be down, or your network may not be properly configured.
Я видел множество инструкций о том, как заставить это работать. Но меня смущает головокружительный набор методов. Не в последнюю очередь некоторые упоминают хранилище ключей, а другие упоминают только файлы сертификатов. Очевидно, здесь играет роль мое незнание темы. Кроме того, у меня есть сертификат, но, согласно многим руководствам, я не могу импортировать свой ключ в хранилище ключей, поскольку для этого нет возможности.
Оба порта 443
и 8443
открыты на сервере.
Любое руководство приветствуется!
Tomcat требуется сертификат, хранящийся в хранилище ключей Java (jks). Java обычно поставляется с keytool
инструмент уже установлен. Вы должны использовать keytool
чтобы сгенерировать самозаверяющий сертификат следующим образом:
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048
Проконсультируйтесь этот сайт для получения дополнительной информации об использовании keytool.