gpt4 book ai didi

java - keystore 类型 : which one to use?

转载 作者:IT老高 更新时间:2023-10-28 11:23:19 24 4
gpt4 key购买 nike

通过查看我的 JRE 的文件 java.security,我看到默认使用的 keystore 类型设置为 JKS . Here ,有一个可以使用的 keystore 类型列表。

有推荐的 keystore 类型吗?不同 keystore 类型的优缺点是什么?

最佳答案

除了您链接到的标准名称列表中列出的类型之外,还有更多类型。您可以在 cryptographic providers documentation 中找到更多信息.最常见的当然是 JKS(默认)和 PKCS12(对于 PKCS#12 文件,通常带有扩展名 .p12 或有时是 .pfx)。

如果您留在 Java 世界中,JKS 是最常见的。 PKCS#12 不是 Java 特定的,使用从浏览器备份或来自基于 OpenSSL 的工具的证书(带有私钥)特别方便(keytool 无法转换 keystore 并在 Java 6 之前导入其私钥,因此您必须使用其他工具。

如果您已经有 PKCS#12 文件,直接使用 PKCS12 类型通常更容易。可以转换格式,但如果您可以直接选择 keystore 类型,则很少需要。

在 Java 7 中,PKCS12 主要用作 keystore,但较少用作 truststore(参见 difference between a keystore and a truststore),因为您没有私钥就无法存储证书条目。相比之下,JKS 不要求每个条目都是私钥条目,因此您可以拥有仅包含证书的条目,这对于存储您信任的证书列表的信任存储很有用(但您没有他们的私钥)。

这在 Java 8 中发生了变化,因此您现在也可以在 PKCS12 存储中拥有仅限证书的条目。 (有关这些更改和进一步计划的更多详细信息,请参阅 JEP 229: Create PKCS12 Keystores by Default。)

还有一些其他的 keystore 类型,可能不太常用(取决于上下文),包括:

  • PKCS11,用于 PKCS#11 库,通常用于访问硬件加密 token ,但 Sun 提供程序实现也支持 NSS 存储(来自 Mozilla)。
  • BKS,使用 BouncyCaSTLe 提供程序(通常用于 Android)。
  • Windows-MY/Windows-ROOT,如果您想直接访问 Windows 证书存储区。
  • KeychainStore,如果你想直接使用 OSX 钥匙串(keychain)。

关于java - keystore 类型 : which one to use?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11536848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com