Скрыть объявление

Уважаемые Коллеги.

Данный форум является дополнительной, публичной площадкой для поддержки клиентов хостинга ДатаБор, но также и для всех желающих. Все сообщения (вопросы, ответы и тд) будут видны публично и будут индексироваться поисковыми системами. Если вы хотите спрятать сообщение, используйте хайды по разным параметрам. Время ответа на форуме поддержки может составлять от 1 часа - до 5 часов в зависимости от загруженности дежурного администратора.

Для оперативного решения вопросов в закрытом формате, пользуйтесь пожалуйста нашим биллингом - тикет система.

Мы также всегда рады ответить на ваши вопросы по Скайпу: databor и по email: info@databor.ru

С уважением, администрация ДатаБор.

Установка SSL-сертификата на Apache Tomcat 7

Тема в разделе "SSL сертификаты", создана пользователем root, 31 янв 2017.

Метки:
  1. root

    root root Команда форума

    Лучше конечно иметь на фронтенде Nginx, но если нужно установить сертификат на Tomcat, то это будет сделать несколько труднее.

    Имеем:
    # ls /root -1
    intermidiate.ca - промежуточный сертификат
    root.ca - корневой сертификат
    domain.crt - сертификат домена
    domain.key - ключ


    Нужно для сайта установить SSL-сертификат, на порт по умолчанию (443).

    Создаем цепочку сертификатов и создаем файл в формате pkcs12:
    # cat inter.ca root.ca > domain.ca
    # openssl pkcs12 -export -in domain.crt -inkey domain.key -out keystore.p12 -name domain -CAfile domain.ca -caname root
    Enter Export Password: 123456
    Verifying - Enter Export Password: 123456


    Создаем хранилище ключей и импортируем сертификат:
    # cp keystore.p12 /etc/tomcat7/
    # cd /etc/tomcat7/
    # keytool -importkeystore -deststorepass 123456 -destkeystore keystore.kdb -srckeystore keystore.p12 -srcstoretype PKCS12 -srcstorepass 123456
    Entry for alias sert successfully imported.
    Import command completed: 1 entries successfully imported, 0 entries failed or cancelled


    Добавляем промежуточный сертификат:
    # keytool -import -trustcacerts -alias intermediate -file /root/intermediate.ca -keystore keystore.kdb
    # keytool -list -keystore keystore.kdb
    Enter keystore password: 123456

    Keystore type: JKS
    Keystore provider: SUN

    Your keystore contains 2 entries

    domain, Apr 1, 2016, PrivateKeyEntry,
    Certificate fingerprint (SHA1): B6:4C:05:97:F2:2A:2C:2A:95:5E:7A:E4:E3:8D:9C:CC:10:7E:3C:B7
    intermediate, Apr 1, 2016, trustedCertEntry,
    Certificate fingerprint (SHA1): 73:6A:4D:C6:79:D6:82:DA:32:15:63:64:7C:60:F6:99:F0:DF:C2:68


    В конфиге раскомментируем строку с AprLifecycleListener и коннектор для порта 8443:
    # vim /etc/tomcat7/server.xml
    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
    ...
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="/etc/tomcat7/keystore.kdb"
    keystorePass="123456"
    keyAlias="sert" />


    Проверка:
    # service tomcat7 start
    # lsof -i :8443
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    java 8348 tomcat7 45u IPv6 614620 0t0 TCP *:8443 (LISTEN)


    Если нужно чтобы SSL работал на порту 443, то можно сделать перенаправление трафика вот так:
    # iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
    # iptables -A INPUT -i eth0 -p tcp --dport 8443 -j ACCEPT
    # iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8443