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();
}
.
다른 스토어 타입을 지정해야합니다. 나는 그 때 잘못된 길을 가고 있는가? –
조금 더 자세히 설명해 주시겠습니까? –
생성 된 키 쌍이 사용될 코드 스 니펫으로 질문을 업데이트했습니다. –