您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

信任库与密钥库-使用keytool创建

信任库与密钥库-使用keytool创建

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

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

的之间的KeyManagerTrustManager(并因此之间javax.net.ssl.keyStorejavax.net.ssl.trustStore)如下(从引JSSE REF指南):

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

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

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

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

其他 2022/1/1 18:18:53 有492人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶