Tomcat Webサーバーに証明書を適用した後、GoDaddyからCSRを送信してCA証明書を取得しました。 ChromeまたはMozillaを使用してWebサイトにアクセスすると、次のエラーが発生します。
ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY
CSR生成プロセスに対して次のコマンドを呼び出しました。
keytool -genkey -alias mydomain -keyalg RSA -keystore mydomain.jks -keysize 2048 -sigalg SHA256withRSA
keytool -certreq -alias mydomain -sigalg SHA256withRSA -keystore mydomain.jks -file mydomain.csr
どうすればこれを解決できますか?
この警告は、一時的なDiffie Hellman鍵交換に使用されるグループのサイズが小さすぎるために発生します。非常に小さいため、学者は対称鍵を抽出できます。
証明書は、DHEに使用されるグループのサイズには影響しません。 Webサーバーの構成が行います。
現在のところ、ビット単位のグループサイズは、証明書のRSAキーと同じ大きさであることが推奨されています。通常は2048ビットで、いずれの場合も1024ビット以上にする必要があります。また、独自のグループを生成する必要があります。定義済みのグループを使用しないでください。そうしないと、1024ビットでは不十分です。
サーバーが意図的に弱い「エクスポート」暗号をサポートしていないことを確認してください。つまり、512ビットを意味します。
Qualysツール を使用して、サーバー構成を確認します。
最も簡単な修正は、JavaバージョンをJava 8 as Java 7がEOL(サポート終了)に達したため、 )2015年4月。
また、それが機能せず、JDK 1.8を使用している場合は、ハンドシェイクでより強いキーサイズを確保するために、システムプロパティ-Djdk.tls.ephemeralDHKeySize=2048
を設定することをお勧めします。 Java 8のドキュメントを参照してください
Edit以下は、HTTPSコネクタ内のTomcat server.xmlで必要になる可能性がある強力な暗号のリストです。
暗号= "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_256_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA"
編集2
Java_HOME
パス変数を確認してください。Javaの古いバージョン、つまりjdk 1.7未満を指している可能性があります。
私のJava_HOME
がjdk1.6を指していたのと同じ問題に直面していたので、Java_HOME
を修正してこれを修正しました