JCEKS
JCEKS是Java平台的一个密钥库格式,将密钥存储在密钥库中以防止加密密钥的暴露。在JCEKS中存储和装载不同条目的过程类似于JKS,只需在调用KeyStore.getInstance()时更改相应的JCEKS密钥库类型。
存储密钥
密钥可以通过一下代码存储到JCEKS文件中:
KeyStore keyStore = KeyStore.getInstance("JCEKS");
keyStore.load(null, null);
// 加密算法(AES要求密钥长度为128位、192位、256位)
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(128, new SecureRandom("密匙内容".getBytes()));
Key key = keyGen.generateKey();
// 别名,要与别名关联的密钥,保护密钥的密码,相应公钥的证书链
keyStore.setKeyEntry("alias", key, "password".toCharArray(), null);
keyStore.store(new FileOutputStream("D:\\.aesKeyStore.jceks"), "password".toCharArray());
加载密钥
KeyStore keyStore = KeyStore.getInstance("JCEKS");
keyStore.load(new FileInputStream("D:\\.aesKeyStore.jceks"), "password".toCharArray());
Key key = keyStore.getKey("alias", "password".toCharArray());
转载自:https://www.csdn.net/article/2015-01-06/2823434