Okie doke、私はこれを理解したと思います。
上で述べたように、重要な知識は、AES 256ビット暗号化(RSAなど)をサポートするアルゴリズムで生成されている限り、証明書は重要ではないということです。同じページにいることを確認するために、テストのために、次を使用して自己署名証明書を生成しました。
keytool -genkey -alias tomcat -keyalg RSA
ここで、サーバー上のJava実装がAES-256をサポートしていることを確認する必要がありますが、これは注意が必要です。OS X(OS 10.5)ボックスでテストを行い、デフォルトでサポートされている暗号のリストを確認したところ、AES-256はリストに含まれていませんでした。そのため、上記で生成した証明書のみを使用しました。ブラウザとTomcatの間にAES-128接続を作成します。(技術的には、TLS_RSA_WITH_AES_256_CBC_SHAはリストに含まれていませんでした。これは、このJDK 5リストによると、必要な暗号です。)
完全を期すために、ボックスでサポートされている暗号をチェックするために作成した短いJavaアプリを次に示します。
import java.util.Arrays;
import javax.net.ssl.SSLSocketFactory;
public class CipherSuites {
public static void main(String[] args) {
SSLSocketFactory sslsf = (SSLSocketFactory) SSLSocketFactory.getDefault();
String[] ciphers = sslsf.getDefaultCipherSuites();
Arrays.sort(ciphers);
for (String cipher : ciphers) {
System.out.println(cipher);
}
}
}
このOSXボックスがデフォルトでインストールしているJDK5には、より高いビットの暗号化レベルを使用しても問題がないことをJavaに通知するために、「無制限の強度の管轄ポリシーファイル」がインストールされている必要があります。これらのファイルはここにあります(下にスクロールして、[その他のダウンロード]セクションの上部を確認してください)。JDK 6で同じことを行う必要があるかどうかはわかりませんが、JDK 6の同じポリシーファイルがここにあるので、そうだと思います。そのファイルを解凍し、READMEを読んで、それらが属するファイルをインストールする方法を確認してから、サポートされている暗号をもう一度確認してください...AES-256がリストに含まれているに違いありません。
もしそうなら、あなたは金色でなければなりません。Tomcatを再起動し、SSLインスタンスに接続するだけで、AES-256接続が表示されるはずです。