我正在尝试在java中进行AES加密/解密
我使用KeyGenerator生成了密钥。我使用java密钥库存储密钥。
Key myKey = KeyGenerator.getInstance("AES").generateKey();
KeyStore.ProtectionParameter protParam =
new KeyStore.PasswordProtection("secretpass".toCharArray());
//For writing the secret Key
KeyStore.SecretKeyEntry skEntry =
new KeyStore.SecretKeyEntry((SecretKey)myKey);
FileOutputStream fout = new FileOutputStream("test.ks");
KeyStore ksout = KeyStore.getInstance("JCEKS");
ksout.load(null,"changeit".toCharArray());
ksout.setEntry("secretalias", skEntry, protParam);
我想以编程方式使用openssl从此文件中获取此密钥。可能吗?如果是这样,请给我一些关于如何进行的建议。
提前谢谢。
答案 0 :(得分:1)
这是不可能的,因为默认密钥库(jks)是Java使用的专有格式。
要交换密钥,您需要一些可移植的东西,如PKCS#11(至少在Java 8中支持KeyStore
格式)。