【发布时间】:2016-10-09 01:30:33
【问题描述】:
想通过 java keystore 存储密钥。
由于 JDK 在 jre\lib\security\cacerts 中维护密钥库,并且对以下几点有疑问
有人可以在这里澄清疑问吗 1) .keystore 文件究竟存储在哪里,它是在项目本身中,就像在配置文件中一样,还是在 jdk 文件夹中,即安全文件夹中 2)我们是否需要为我们自定义创建的密钥提供证书?如果是,那么我们如何使用 java 代码。
提前致谢
【问题讨论】:
想通过 java keystore 存储密钥。
由于 JDK 在 jre\lib\security\cacerts 中维护密钥库,并且对以下几点有疑问
有人可以在这里澄清疑问吗 1) .keystore 文件究竟存储在哪里,它是在项目本身中,就像在配置文件中一样,还是在 jdk 文件夹中,即安全文件夹中 2)我们是否需要为我们自定义创建的密钥提供证书?如果是,那么我们如何使用 java 代码。
提前致谢
【问题讨论】:
您混淆了两种类型的商店。 cacerts 是一个信任库;你需要一个密钥库。简而言之,大致来说,信任库就是你信任的人,而密钥库就是你自己。
使用 X.509 证书是管理私钥的正确方法(例如使用 SSL)。您可以通过在启动应用程序(无论是独立应用程序还是像 Tomcat 之类的容器)时传递给 Java 的属性或以编程方式指定证书。 This SO answer 简要概述了配置密钥库和信任库所需的属性。您可能不需要对信任库做任何事情。
【讨论】: