.keystore文件和.jks文件之间的区别是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (116)

我试图找到.keystore文件和.jks文件之间的区别,但我找不到它。我知道jks是用于“Java密钥库”,两者都是存储键/值对的方法。

有没有区别或偏好使用一个在另一个之上?

提问于
用户回答回答于

你对此感到困惑。

A keystore是证书,私钥等的容器。

有什么应该是这个密钥库的格式的规范,并且#PKCS12是主要的

JKS是Java的密钥库实现。还有BKS等。

这些都是密钥库类型

所以要回答你的问题:

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

空无一人。JKS是密钥库文件。密钥库类型之间有区别。例如JKSvs#PKCS12

用户回答回答于

最终,.keystore并且.jks只是文件扩展名:这是由你来理智命名您的文件。某些应用程序使用存储在$HOME/.keystore其中的密钥库文件:通常意味着它是JKS文件,因为JKS是Sun / Oracle Java安全提供程序中的默认密钥库类型。并非所有人都使用.jksJKS文件的扩展名,因为它默认为默认值。我建议使用扩展名,只是为了记住指定的类型(如果需要)。

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

Java使用它的KeyStore类和相关API来使用密钥库。JKS是特定于Java的文件格式,但该API也可以与其他文件类型(通常为PKCS#12)一起使用。当你想加载密钥库时,你必须指定它的密钥库类型。常规的扩展将是:

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

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

扫码关注云+社区