java - 我们可以在 keystore 中加载多个证书和 key 吗?

标签 java ssl certificate keystore

我们可以在 keystore 中加载多个证书和 key 吗?

是否总是只需要加载 Pairs(即证书和 key 一起)?

如果一个 keystore 有多个证书和 key ,当 Java SSL 尝试作为服务器建立连接时会选择哪一个?

最佳答案

虽然这取决于 KeyStore 类型,但通常您可以在一个存储中存储多个私钥和证书。

基于 Java 的服务器使用哪种 key 和证书组合取决于应用程序的实现方式。许多应用程序允许您使用 别名 名称选择给定的证书。 KeyStore 中的 key 和证书 getter 采用 alias 参数来做出此选择。通常,当配置中没有指定时,应用程序或框架将使用它根据 KeyStore.aliases() 枚举找到的第一个合适的。

例如,Tomcat 在其 Connector configuration 中使用 keyAlias 属性。 :

keyAlias: The alias used to for the server certificate in the keystore. If not specified the first key read in the keystore will be used.

关于 key 对,一些 KeyStores(同样取决于类型)可用于存储 SecretKeys(例如 DES),即共享 key ,以及公私 key 对。

关于java - 我们可以在 keystore 中加载多个证书和 key 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6370745/

相关文章:

java - 从 URL 获取数据时 PKIX 路径构建失败

java - 如何为camel-https4配置trustStore

proxy - Jmeter 代理服务器错误 "Illegal option: -ext"

spring - 使用 Spring + SSL 连接到 EMS JMS 队列

android - 在 Android 上以编程方式安装/访问 VPN/WIFI 证书

java - 确定贝塞尔曲线是否与圆重叠的最佳方法是什么?

java - 如何从文件中获取图像和图像名称?

java - JAXB @XmlAdapter : Map -> List adapter?(仅限编码)

java - PrintWriter 未写入文件(Java)

java - 如何使用 ftp4j 通过 sftp 连接到 linux