Gibt es eine Möglichkeit, ein 128-Bit-Schlüsselpaar zu generieren, das für die Verschlüsselung mit dem Keytool-Programm von Sun geeignet ist? Es scheint, dass die Algorithmen, die in http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator verfügbar sind, entweder nicht unterstützt werden oder keine Schlüssel kürzer als 512 Bits erlauben.Generieren von 128-Bit-Schlüsseln mit Keytool
Das Schlüsselpaar wird mit dem ff verwendet. Code-Schnipsel:
Security.addProvider(new BouncyCastleProvider());
KeyStore keyStore = KeyStore.getInstance("PKCS12");
FileInputStream keyStoreSource = new FileInputStream("keystore");
try {
keyStore.load(keyStoreSource, "password".toCharArray());
} finally {
keyStoreSource.close();
}
String alias = (String) keyStore.aliases().nextElement();
PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias, "password".toCharArray());
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);
CMSEnvelopedDataStreamGenerator generator = new CMSEnvelopedDataStreamGenerator();
generator.addKeyTransRecipient(certificate);
OutputStream output2 = generator.open(output, CMSEnvelopedDataGenerator.AES128_CBC, BouncyCastleProvider.PROVIDER_NAME);
try {
IOUtils.copy(input, output2);
} finally {
output2.close();
output.close();
}
wo Ausgabe einiger Output ist, wo die verschlüsselten Daten werden gespeichert und eingegeben werden einige Input wo die Klartextdaten gelesen werden.
ich angeben, suchte einen Test cert zu erzeugen mit AES-128 zu verwenden. Gehe ich dann falsch herum? –
Können Sie etwas ausführlicher erklären, was Sie erreichen möchten? –
Aktualisierte Frage mit Codeschnipsel, in der das erzeugte Schlüsselpaar verwendet wird. –