Existe-t-il un moyen de générer une paire de clés de 128 bits compatible avec le chiffrement à l'aide du programme keytool de Sun? Il semble que les algorithmes disponibles dans http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator ne sont pas pris en charge ou n'autorisent pas les clés plus courtes que 512 bits.Génération de clés 128 bits avec keytool
La paire de clés sera utilisée avec le ff. extrait de code:
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();
}
où la production est une OutputStream où les données chiffrées seront enregistrées et l'entrée est une InputStream où seront lus les données en clair.
Je cherchais à générer un cert de test à utiliser avec AES-128. Est-ce que je vais à ce sujet dans le mauvais sens alors? –
Pourriez-vous expliquer un peu plus en détail ce que vous souhaitez accomplir? –
Question mise à jour avec extrait de code où la paire de clés générée sera utilisée. –