Generieren 128-bit-Schlüssel mit keytool

Gibt es eine Möglichkeit zum generieren einer 128-bit-Schlüsselpaar-geeignet für die Verschlüsselung mit Sonne keytool-Programm? Es scheint, dass die verfügbaren algorithmen in http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator sind entweder nicht unterstützt oder nicht zulassen Schlüssel kürzer als 512 bit.

Das Schlüsselpaar wird mit dem ff. code-snippet:

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 der Ausgang ist einige Ausgabestrom, wo die verschlüsselten Daten werden gespeichert und im Eingang ist einige InputStream, wo die Klartext-Daten gelesen werden.

InformationsquelleAutor Chry Cheng | 2009-05-19
Schreibe einen Kommentar