ssl - keystore 、信任库和证书之间的关系

标签 ssl certificate keystore truststore

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

谢谢!

最佳答案

enter image description here

img credit

Keystore 和 Truststore 是 Java 中用于管理数字证书和 key 的两种类型的存储。

Keystore 是私钥和数字证书的存储库。它用于存储私钥和与公钥相对应的数字证书,允许应用程序保护和验证其连接。 keystore 通常受密码保护,用于保护用于加密和签名的私钥。

另一方面,Truststore 是受信任的公钥和数字证书的存储。它用于在 SSL/TLS 连接期间验证外部实体(例如远程服务器或其他应用程序)提供的数字证书。 Truststore 包含受信任的证书颁发机构 (CA) 的公钥以及这些受信任的 CA 颁发的数字证书。当应用程序从外部实体收到数字证书时,它会使用信任库来验证证书并确定它是否应该信任该实体。

证书 是将公钥绑定(bind)到身份的数字文档。它由受信任的证书颁发机构颁发,包含有关持有相应私钥的实体的身份信息,例如其名称和位置。证书用于在实体之间建立信任和安全连接,例如在 SSL/TLS 连接期间在客户端和服务器之间。

类比:公钥和私钥就像您用来锁门和开门的实体 key 。即锁是公钥, key 是私钥。 数字证书就像钥匙串(keychain)一样起到身份识别的作用。公文包 (keystore) 是您的 secret 信息的个人存储空间,而信封 (truststore) 保存来自可信来源的证书,用于验证其他方的身份。公文包用于管理您自己的敏感 Material ,而信封用于建立对他人身份的信任。

关于ssl - keystore 、信任库和证书之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27388583/

相关文章:

iPhone Web 服务通过证书身份验证调用 WCF 服务

带有团队代理证书的 iPhone 临时分发

git - 如何在 cygwin(和一些 linux 发行版)上将企业证书颁发机构 (CA) 添加到 git

c++ - SSL_connect 在 Windows 上导致 SSL_ERROR_SYSCALL 和 WSAENOTCONN

java - 如何将自定义证书添加到 Jenkins 内部 JDK?

java - weblogic ssl 通信可能接受所有证书吗?

java - java中Keystore、TrustStore配置错误

java - SSL 对等端错误关闭

docker - Nginx 与 Cloudflare : Error 525 SSL Handshake failed

php - 使用 PHP 从 Redis 中选择特定模式的所有关键数据