Java信任存储与密钥存储-使用keytool创建

Java信任存储与密钥存储-使用keytool创建,第1张

Java信任存储与密钥存储-使用keytool创建

该术语是有点混乱确实,但两者

javax.net.ssl.keyStore
javax.net.ssl.trustStore
用来指定密钥库来使用,用于两个不同的目的。密钥库有多种格式,甚至不一定是文件(请参阅此问题),
keytool
它只是对密钥库执行各种 *** 作(导入/导出/列表/ …)的工具。

javax.net.ssl.keyStore
javax.net.ssl.trustStore
参数用于建立默认参数
KeyManagerS和TrustManagerS
(分别地),然后用于构建
SSLContext
制备SSL经由/ TLS连接时,其基本上包含SSL / TLS设置来使用
SSLSocketFactory
SSLEngine
。这些系统属性正是默认值的来源,然后
SSLContext.getDefault()
SSLSocketFactory.getDefault()
(例如)本身使用。(如果你不想
SSLContext
为给定目的使用默认值和特定的,则可以在许多地方通过API定制所有这些。)

的之间的差KeyManager和TrustManager(并因此之间

javax.net.ssl.keyStore
javax.net.ssl.trustStore
)如下(从引JSSE REF指南):

TrustManager:
确定是否应该信任远程身份验证凭据(以及连接)。

KeyManager:
确定要发送到远程主机的身份验证凭据。

(其他参数可用,并且它们的默认值在JSSE参考指南中进行了描述。请注意,尽管信任存储有一个默认值,但密钥存储没有一个默认值。)

本质上,其中的密钥库

javax.net.ssl.keyStore
用于包含你的私钥和证书,而密钥库则用于包含
javax.net.ssl.trustStore
当远程方出示证书时你愿意信任的CA证书。在某些情况下,它们可以是一个存储库,并且可以是同一存储库,尽管通常最好使用不同的存储库(尤其是基于文件的存储库)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5036386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存