Frage

Ich versuche, ein selbst signiertes Zertifikat für die Verwendung mit Apache Tomcat 6. Jedes Zertifikat I führt immer im Browser mit AES-128 Anschluss machen zu schaffen. Der Kunde möchte mich zeigen, dass ich eine Verbindung auf dem AES-256 erzeugen kann.

Ich habe Java keytool und openssl versucht. Ich habe mit einer Vielzahl von Parametern versucht, aber kann nicht scheinen, etwas über die keysize angeben, nur die Unterschrift Größe.

Wie kann ich die Browser-tomcat-Verbindung zu verwenden AES-256 mit einem selbst signierten Zertifikat?

War es hilfreich?

Lösung

Okie doke, ich glaube, ich dies nur herausgefunden.

Wie ich oben sagte, ist der Schlüssel bisschen Wissen, dass die cert Materie, nicht so lange, wie es mit einem Algorithmus generiert wird, die AES 256-Bit-Verschlüsselung unterstützt (zum Beispiel RSA). Nur um sicher zu stellen, dass wir auf der gleichen Seite sind, dann für meine Prüfung, ich mein erzeugen selbst signiertes Zertifikat mit dem folgenden:

keytool -genkey -alias tomcat -keyalg RSA

Nun müssen Sie sicherstellen, dass Ihre Java-Implementierung auf dem Server unterstützt AES-256, und das ist der schwierige Bit. Ich habe meine Prüfung auf einem OS X (OS 10.5) ein, und wenn ich die Liste der Chiffren sehen vergewissert, dass sie standardmäßig unterstützt, AES-256 war nicht auf der Liste, weshalb diese cert mit I oben erzeugt nur war eine AES-128-Verbindung zwischen meinem Browser und Tomcat zu schaffen. (Na ja, technisch gesehen, TLS_RSA_WITH_AES_256_CBC_SHA war nicht auf der Liste - das ist die Chiffre, die Sie wollen, nach diese JDK 5 Liste .)

Für Vollständigkeit, hier ist die kurze Java App Ich habe meine Box unterstützte Chiffren zu überprüfen:

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);
    }
  }
}

Es stellt sich heraus, dass JDK 5, das, was das Feld OS X ist standardmäßig installiert, die „Unlimited Strength Jurisdiction Policy Files“ installiert, um benötigt Java zu sagen, dass es in Ordnung ist, die höheren Bit-Verschlüsselungsstufen zu verwenden; Sie können href="http://java.sun.com/javase/downloads/index_jdk5.jsp" diese Dateien hier (nach unten scrollen und sich die Spitze des "finden andere Downloads“). Ich bin nicht sicher, ob offhand JDK 6 die gleiche Sache getan werden muss, aber die gleichen Richtliniendateien für JDK 6

Andere Tipps

danivo, solange die cert Server von AES Verschlüsselung fähig ist, ist das Niveau der Verschlüsselung zwischen dem Browser und dem Server unabhängig von den cert selbst - das Niveau der Verschlüsselung zwischen dem Browser und dem Server ausgehandelt. Mit anderen Worten, ist mein Verständnis, dass das Zertifikat nicht das Niveau der Verschlüsselung nicht angeben, sondern nur die type von Verschlüsselung (zum Beispiel AES). Siehe diesen Link (PDF) für die Überprüfung dieser, und wie die cert Händler Upsell " 256-Bit-fähig“zert trotz der cert nicht zu sein, was die 256-Bit-Fähigkeit bestimmt.

Sie sind also ganz gut mit dem cert Sie haben das unterstützt AES-128 - und sie Schlüssel ist, um herauszufinden, wie Tomcat zu bekommen AES-256 zu unterstützen (da die meisten, wenn nicht alle gängigen Browser es sicherlich unterstützen ).

Die Stärke der SSL-Verbindung zwischen dem Browser und dem Server ausgehandelt (oder was auch immer SSL bietet). Es könnte ihr Browser für einen schwächeren Chiffre zu fragen sein. Haben sie jemals eine 256-AES SSL-Verbindung auf diesem Browser gesehen? AES-128 ist immer noch ein sehr sicherer Algorithmus, so dass, wenn sie etwas haben, das sie von off line schützen will (man denkt: Super Brute-Force-Erzeugung 2 ^ 128 Tasten wikipedia ) Angriff, sollte die 128-Bit in Ordnung sein. Wenn sie wirklich so viel Schutz benötigen, sollten sie wahrscheinlich eine stabilere Lösung für den Datenzugriff als eine Website, einen sicheren SSH-Tunnel zu ihrem Server verwenden ist kugelsicher (Sie ihnen sagen, dass sie ihre 256-Bit-AES und 4096-Bit haben kann auch RSA) oder ein vpn je nach Implementierung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top