gpt4 book ai didi

java - keystore 类型 : which one to use?

转载 作者:可可西里 更新时间:2023-11-01 10:44:20 26 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/33569201/

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