.keystore 文件和 .jks 文件之间的区别

2023-11-22

我试图找出两者之间的区别.keystore文件和.jks文件,但我找不到它。我知道jks是“Java keystore”的意思,两者都是存储键/值对的一种方式。

使用其中一种与另一种相比有什么区别或偏好吗?


最终,.keystore and .jks只是文件扩展名:您可以合理地命名文件。某些应用程序使用存储在的密钥库文件$HOME/.keystore:通常暗示它是 JKS 文件,因为JKS 是 Sun/Oracle Java 安全提供程序中的默认密钥库类型。并非每个人都使用.jksJKS 文件的扩展名,因为它是默认的。我建议使用扩展名,只是为了记住要指定的类型(如果需要)。

在 Java 中,密钥库一词可以具有以下任一含义,具体取决于上下文:

  • API:http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html
  • 可用于支持此 API 的文件(或其他机制)
  • 与信任库相反的密钥库,如下所述:https://stackoverflow.com/a/6341566/372643

当谈论文件和存储时,这并不是真正的键/值对存储设施(有很多或其他格式)。相反,它是一个存储加密密钥和证书的容器(我相信其中一些还可以存储密码)。通常,这些文件经过加密并受密码保护,以免未经授权的各方获取这些数据。

Java 使用它的KeyStore类和相关 API 来使用密钥库(是否基于文件). JKS是 Java 特定的文件格式,但该 API 也可用于其他文件类型,通常是 PKCS#12。当您要加载密钥库时,必须指定其密钥库类型。传统的扩展是:

  • .jks对于类型"JKS",
  • .p12 or .pfx对于类型"PKCS12"(规范名称为 PKCS#12,但#未在 Java 密钥库类型名称中使用)。

此外,BouncyCastle还提供了它的实现,特别是BKS(通常使用.bks扩展名),常用于 Android 应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.keystore 文件和 .jks 文件之间的区别 的相关文章

随机推荐