Ssl 密钥存储、信任存储和证书之间的关系

Ssl 密钥存储、信任存储和证书之间的关系,ssl,certificate,keystore,truststore,Ssl,Certificate,Keystore,Truststore,密钥存储、信任存储和证书之间的关系是什么?这些工具是某些软件的专有工具吗?我可以获得哪些文献来获得关于这些工具的更多信息,以及它们如何在更广泛的环境中使用 谢谢 据我所知,keystore和truststore非常相似,它们都存储证书/公钥。唯一的区别是信任库存储CA(证书颁发机构)的密钥,密钥库存储CAs认证的网站的密钥。因此,密钥库的使用/更新频率高于信任库(CA的数量不如网站的数量多) PS:这些不是工具,它们(信任库、密钥库)只是加密文件。 存储:密钥存储库通常保存私钥/公钥,信任存储库

密钥存储、信任存储和证书之间的关系是什么?这些工具是某些软件的专有工具吗?我可以获得哪些文献来获得关于这些工具的更多信息,以及它们如何在更广泛的环境中使用


谢谢

据我所知,keystore和truststore非常相似,它们都存储证书/公钥。唯一的区别是信任库存储CA(证书颁发机构)的密钥,密钥库存储CAs认证的网站的密钥。因此,密钥库的使用/更新频率高于信任库(CA的数量不如网站的数量多)

PS:这些不是工具,它们(信任库、密钥库)只是加密文件。

  • 存储:
    密钥存储库
    通常保存私钥/公钥,
    信任存储库
    仅存储公钥,并表示受信任方列表,即CA

  • 目的:在SSL握手中,
    信任库的目的是验证凭据,
    密钥库的目的是提供凭据

  • 密钥库
    用于存储您的凭证(服务器或客户端),即私钥和证书,
    信任库
    用于存储其他凭证(来自CA的证书),其中包含远程方出示其证书时您愿意信任的CA证书

  • TrustStore
    keyStore
    在构造和结构上非常相似,因为它们都是由
    keytool
    命令管理的(二进制文件随JDK安装在
    JAVA_HOME/bin

  • JAVA_HOME/JRE/Security/cacerts
    是一个
    TrustStore
    ,其中JAVA存储根CA的公共证书以进行身份验证,即用于对对等方(即服务器)进行身份验证。在Java中,一个文件可以同时表示
    KeyStore
    vs
    TrustStore
    ,但出于安全和维护原因,最好将私有凭证和公共凭证分开

  • JAVA_HOME/bin/keytool
    是一种管理密钥和证书的工具

  • KeyStore
    是在SSL上设置服务器端时需要的,它用于存储服务器的身份证书,该服务器将在连接上呈现给客户端,而客户端的信任存储设置必须包含该证书才能使连接工作。如果您浏览器通过SSL连接到任何网站,它将根据其
    信任库
    验证服务器提供的证书


通过搜索SSL握手或SSL协议的详细信息,可以找到有关密钥存储和信任存储(特别是在更广泛的上下文中)使用的更多信息。