java - 如何使用 java.security.KeyStore 类存储和加载 key

标签 java security

创建 key 后,如何使用 Keystore 类的方法存储它们以及如何加载 key ?

最佳答案

存储:

KeyStore ks = KeyStore.getInstance("JKS");
ks.setKeyEntry("keyAlias", key, passwordForKeyCharArray, certChain);
OutputStream writeStream = new FileOutputStream(filePathToStore);
ks.store(writeStream, keystorePasswordCharArray);
writeStream.close();

请注意,certChain 可能为空,除非您传递 PrivateKey

加载中:

KeyStore ks = KeyStore.getInstance("JKS");
InputStream readStream = new FileInputStream(filePathToStore);
ks.load(readStream, keystorePasswordCharArray);
Key key = ks.getKey("keyAlias", passwordForKeyCharArray);
readStream.close();

阅读 javadocs

编辑:

请注意,如果您要存储 SecretKey 或使用 SunJCE 提供程序(Java 加密扩展)的任何部分,则需要将 KeyStore 类型设置为 JCEKS。

KeyStore ks = KeyStore.getInstance("JCEKS");

关于java - 如何使用 java.security.KeyStore 类存储和加载 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027273/

相关文章:

java - 如何确定我的应用程序是否在 Android 上运行

java - Spring 安全 : Show warning before overwriting session

php - 在数据库中存储带撇号的值

java - Maven Flyway 发现非空架构 "PUBLIC"但没有架构历史表

java - 推土机将非通用集合映射到属性

java - 使用 Java 和 Tomcat 保存图片并获取链接

java - 删除多对一关系中删除父级的子级

.net - 我如何在 w2k8 中使用性能计数器

java - 如何使用 Java 10 检测 zip-bomb

security - 在 tomcat 7 中强制 ssl