2017-05-12 17 views
2

クライアントに基づいて自動的に選択するのではなく、サーバーの設定に従ってHTTPS SSL暗号スイートの優先順位を設定しようとしています。HTTPS SSL暗号スイートのプリファレンスをSpringブートの埋め込みTomcatに設定する方法

フォワード・セキュリティをサポートするために、サーバーが "TLS_ECDHE ..."を持つサーバー&クライアント間で共通のものを選択できるようにしたいと思います。 http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#cipher_suite_preference

: は、今私は、私は、Java 8のサポート設定暗号スイートの嗜好に気づいクライアントのブラウザが持つ暗号好むだろう「TLS_RSAを...」ではなく「TLS_ECDHE」よりも...

を、「www.ssllabs.com」で試験しました

私はTomcatの組み込み春ブーツがここに暗号

を選択するには、Java 8の関数を呼び出します仮定は、私が設定されたサーバーのサポート暗号を設定するには、スプリングブートapplication.propertiesファイルで行わものです:

server.ssl.ciphers=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_SHA,TLS_ECDHE_RSA_WITH_AES_256_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_SHA384,TLS_ECDHE_RSA_WITH_AES_256_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_128_SHA,TLS_DHE_DSS_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_256_SHA256,TLS_DHE_DSS_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_256_SHA 

うまくいけば、誰かがデフォルトの暗号の振る舞いを無効にする方法を教えてくれるはずです。

答えて

3

サーバーの暗号スイートの順序を使用するには、コネクタの基になるプロトコルハンドラに指示する必要があります。 EmbeddedServletContainerCustomizer

@Bean 
public EmbeddedServletContainerCustomizer servletContainerCustomizer() { 
    return (factory) -> { 
     ((TomcatEmbeddedServletContainerFactory) factory) 
       .addConnectorCustomizers((connector) -> { 
      ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()) 
        .setUseServerCipherSuitesOrder(Boolean.toString(true)); 
     }); 
    }; 
} 
でこれを行うことができます
関連する問題