О'кей, я только что понял это.
Как я уже говорил выше, ключевой момент знания состоит в том, что сертификат не имеет значения, если он генерируется с помощью алгоритма, который поддерживает 256-битное шифрование AES (например, RSA). Просто чтобы убедиться, что мы находимся на одной странице, для моего тестирования я сгенерировал свой самоподписанный сертификат, используя следующее:
keytool -genkey -alias tomcat -keyalg RSA
Теперь вы должны убедиться, что ваша реализация Java на вашем сервере поддерживает AES-256, и это сложный момент. Я провел тестирование на коробке с OS X (OS 10.5), и когда я проверил список шифров, которые он поддерживал по умолчанию, AES-256 в списке НЕ было, поэтому использовался только тот сертификат, который я генерировал выше. создание соединения AES-128 между моим браузером и Tomcat. (Ну, технически 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);
}
}
}
Оказывается, что JDK 5, который установлен по умолчанию для этого блока OS X, требует установки «Файлов политики неограниченной юрисдикции», чтобы сообщить Java, что можно использовать более высокие уровни шифрования; Вы можете найти эти файлы здесь (прокрутите вниз и посмотрите вверху раздела «Другие загрузки»). Я не уверен, что JDK 6 нужно сделать то же самое, но те же файлы политики для JDK 6 доступны здесь , поэтому я предполагаю, что это так. Разархивируйте этот файл, прочитайте README, чтобы узнать, как установить файлы, к которым они принадлежат, а затем снова проверьте поддерживаемые шифры ... Держу пари, AES-256 теперь в списке.
Если это так, вы должны быть золотыми; просто перезапустите Tomcat, подключитесь к своему экземпляру SSL, и я уверен, что теперь вы увидите соединение AES-256.