首页 文章

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

提问于
浏览
167

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

是否有任何差异或偏好使用一个而不是另一个?

3 回答

  • 151

    最终, .keystore.jks 只是文件扩展名:由您来明智地命名文件 . 某些应用程序使用存储在 $HOME/.keystore 中的密钥库文件:它's usually implied that it'是一个JKS文件,因为JKS is the default keystore type in the Sun/Oracle Java security provider . 不是每个人都使用JKS文件的 .jks 扩展名,因为它建议使用扩展名,只是为了记住要指定的类型(如果需要) .

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

    在谈论文件和存储时,这实际上不是键/值对的存储工具(有很多或其他格式) . 相反,它是一个存储加密密钥和证书的容器(我相信其中一些也可以存储密码) . 通常,这些文件是加密的并受密码保护,以便不会将此数据提供给未授权方 .

    Java使用其KeyStore类和相关API来使用密钥库(whether it's file based or not) . JKS 是特定于Java的文件格式,但API也可以与其他文件类型一起使用,通常是PKCS#12 . 如果要加载密钥库,则必须指定其密钥库类型 . 传统的扩展将是:

    • .jks ,类型为 "JKS"

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

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

  • 2

    你对此很困惑 .

    keystore 是证书,私钥等的容器 .

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

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

    这些都是keystore types .

    所以回答你的问题:

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

    空无一人 . JKS是密钥库文件 . 虽然密钥库 types 之间存在差异 . 例如 . JKS vs #PKCS12

  • 59

    选择.keystore而不是.jks的一个原因是,当您导航选择密钥库文件(Unity 2017.3,macOS)时,Unity会识别前者但不识别后者 .

相关问题