Как включить TLSv1.3 в Tomcat 8.5.5 с использованием реализации JSSE - PullRequest
0 голосов
/ 11 марта 2020

Мы запускаем приложение весенней загрузки на сервере tomcat 8.5.5. У нас есть сертификаты безопасности и настроенный SSL для поддержки https. В настоящее время используется TLSv1.2. Наш провайдер платежных шлюзов планирует прекратить поддержку TLSv1.2 и продолжить поддержку только TLSv1.3. Следовательно, мы хотим добавить поддержку TLSv1.3 на наш сервер приложений. Наш соединительный блок с необходимыми шифрами для TLSv1.3 приведен ниже.

<Connector port="443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" keystoreFile="/home/ubuntu/ourkey.p9" 
               keystorePass="ourpass" clientAuth="false" keystoreType="keystore" 
               sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2+TLSv1.3" protocol="org.apache.coyote.http11.Http11NioProtocol" server="Web"
                 useServerCipherSuitesOrder="true"           
                  ciphers="TLS_AES_256_GCM_SHA384,
    TLS_CHACHA20_POLY1305_SHA256,
    TLS_AES_128_GCM_SHA256,
    TLS_AES_128_CCM_8_SHA256,
    TLS_AES_128_CCM_SHA256,
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,... other ciphers/>

Мы используем реализацию JSSE, и пока для tomcat не удалось найти конкретную документацию. Официальный do c имеет блок соединителей, как показано ниже:

<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>

Здесь атрибут sslProtocol имеет TLS , который по умолчанию соответствует TLS версии 1.2. Мы попытались изменить его на TLSv1.3, но это не сработало. Также, как уже упоминалось, здесь попытался добавить атрибут sslEnabledProtocol . Это не сработало. Мы добавили необходимые шифры, необходимые для успешного установления связи TLSv1.3.

Как мы можем настроить сервер. xml Блок соединителей для поддержки TLSv1.3 - это то, что мы пытаемся выяснить. Любые входные данные, подсказки будут полезны.

...