Sunのkeytoolプログラムを使用して暗号化に適した128ビット鍵ペアを生成する方法はありますか? http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyPairGeneratorで利用可能なアルゴリズムは、サポートされていないか、512ビットよりも短いキーを許可していないようです。keytoolで128ビット鍵を生成する
鍵ペアはffとともに使用されます。コードスニペット:
出力は暗号化されたデータが保存され、入力が平文データが読み込まれますいくつかのInputStreamであるいくつかのOutputStreamある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();
}
。
異なるstoretypeを指定する必要があります。私は間違ったやり方をしていますか? –
達成したいことをもう少し詳しく説明できますか? –
生成されたキーペアが使用されるコードスニペットで質問を更新しました。 –