Есть ли способ генерировать 128-битную пару ключей, подходящую для шифрования с помощью программы Suntooltool? Кажется, что алгоритмы, доступные в http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator, либо не поддерживаются, либо не позволяют ключам короче 512 бит.Создание 128-битных ключей с keytool
Пара ключей будет использоваться с ff. фрагмент кода:
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();
}
где выход некоторые OutputStream где зашифрованные данные будут сохранены и ввод некоторых InputStream, где будет читаться в данных открытом тексте.
Я искал, чтобы создать тестовый сертификат для использования с AES-128. Неужели я так ошибаюсь? –
Не могли бы вы более подробно объяснить, что вы хотите сделать? –
Обновленный вопрос с фрагментом кода, в котором будет создана сгенерированная пара ключей. –