当前位置:  开发笔记 > 编程语言 > 正文

信任库和密钥库定义

如何解决《信任库和密钥库定义》经验,为你挑选了5个好方法。

密钥库和信任库之间有什么区别?



1> Darron..:

密钥库包含私钥,证书及其对应的公钥.

信任库包含您希望与之通信的其他方的证书,或来自您信任的用于标识其他方的证书颁发机构的证书.


虽然在实践中这应该是真实的,但它们可以(并且经常是)同一个.您实际上可以将私钥和公共证书导入[java home]/jre/lib/security/cacerts default"truststore".keytool实用程序在两个术语中没有区别,仅在商店类型中(即-JKS与PKCS12).就此而言,Java在源代码中做同样的事情.您创建了一个java.security.KeyStore,并使用信任管理器来管理其中的证书,但是没有TrustStore类.
值得一提的是`KeyStore.load(InputStream是,char []密码)`([docs](http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html# load%28java.io.InputStream,%20char []%29))可以使用空密码,然后它将授予对公共证书的访问权限.也就是说,想要浏览信任库的代码不需要知道密码(出于很好的理由!)
Java本身没有`TrustStore`**.或者我在java文档中找不到它(例如,`java.security.TrustStore`).当我们想要信任证书颁发机构时,它通过`KeyStore`来信任(并且`KeyStore`被传递到`TrustManagerFactory`).

2> 小智..:

    密钥库包含私钥.如果您是服务器,或者服务器需要客户端身份验证,则只需要此选项.

    信任库包含要信任的CA证书.如果您的服务器证书由认可的CA签名,则JRE附带的默认信任库将已经信任它(因为它已经信任可靠的CA),因此您不需要构建自己的CA,也不需要添加任何内容.来自JRE.

资源



3> Aniket Thaku..:

在SSL握手中,trustStore的目的是验证凭证,keyStore的目的是提供凭证.

的keyStore

Java中的keyStore存储与其公钥对应的私钥和证书,如果您是SSL服务器或SSL则需要客户端身份验证.

信任库

TrustStore存储来自第三方的证书,您的Java应用程序通信或由CA签署的证书(证书颁发机构,如Verisign,Thawte,Geotrust或GoDaddy),可用于识别第三方.

的TrustManager

TrustManager确定是否应该信任远程连接,即远程方是否是它声称的对象,并且KeyManager决定在SSL握手期间应将哪些认证凭证发送到远程主机进行身份验证.

如果您是SSL服务器,您将在密钥交换算法期间使用私钥并将与您的公钥对应的证书发送到客户端,此证书是从keyStore获取的.在SSL客户端,如果用Java编写,它将使用存储在trustStore中的证书来验证Server的身份.SSL证书最常见的是.cer文件,它通过使用任何密钥管理实用程序(例如keytool)添加到keyStore或trustStore中.

资料来源:http://javarevisited.blogspot.ch



4> Peter Mulari..:

作为标准JSSE文档的一部分,您可能也对Sun的文章感兴趣:

http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#Stores

通常,信任存储区仅用于存储公钥,以便进行验证,例如使用X.509身份验证.出于可管理性的目的,管理员或开发人员将这两者简单地混合到一个商店中是很常见的.



5> jww..:

在Java中,密钥库和信任库之间有什么区别?

以下是Java安全套接字扩展(JSSE)参考指南中 Java文档的描述.我不认为它会告诉你与别人所说的不同.但它确实提供了官方参考.

密钥库/信任

密钥库是密钥材料的数据库.密钥材料用于各种目的,包括身份验证和数据完整性.提供各种类型的密钥库,包括PKCS12和Oracle的JKS.

一般而言,密钥库信息可以分为两类:密钥条目和可信证书条目.密钥条目由实体的标识和私钥组成,可用于各种加密目的.相反,除了实体的标识之外,可信证书条目仅包含公钥.因此,在需要私钥的情况下,不能使用可信证书条目,例如在javax.net.ssl.KeyManager中.在JKS的JDK实现中,密钥库可以包含密钥条目和可信证书条目.

信任库是在决定信任什么时使用的密钥库.如果您从已经信任的实体接收数据,并且您可以验证该实体是它声称的实体,那么您可以假设数据确实来自该实体.

只有在用户信任该实体时,才应将条目添加到信任库.通过生成密钥对或导入证书,用户可以信任该条目.信任库中的任何条目都被视为可信条目.

拥有两个不同的密钥库文件可能很有用:一个只包含您的密钥条目,另一个包含您的可信证书条目,包括CA证书.前者包含私人信息,而后者则不包含.使用两个文件而不是单个密钥库文件可以更清晰地分离您自己的证书(和相应的私钥)与其他证书之间的逻辑区别.要为您的私钥提供更多保护,请将它们存储在具有受限访问权限的密钥库中,并在需要时在可公开访问的密钥库中提供可信证书.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有