[英]Why I need to provide both key store and trust store for an SSL connection to IBM MQ
我创建了一个轻量级应用程序,该应用程序使用SSL连接到IBM MQ。
如果同时设置了javax.net.ssl.trustStore
和javax.net.ssl.keyStore
一切都会按预期进行。
密钥库(jks)包含两个条目:
TrustedCertEntry
PrivateKeyEntry
考虑到我是该连接的客户端,而MQ是服务器,我有一种感觉,应该仅使用trustStore,但事实并非如此,因为如果仅设置trustStore,应用程序将无法运行。
谁能解释我为什么都需要?
根据Websphere MQ Java / JMS客户端指南的SSL配置 ,指向第2点。创建keyStore您最有可能使用证书进行客户端身份验证。 此身份验证设置需要一个keyStore:
仅当与队列管理器建立连接时希望进行客户端身份验证时,才完成本节。 如果尚未在通道上指定客户端身份验证,则无需完成本节。
除了存储客户端的个人证书,并且JSSE要求密码才能访问之外,keyStore本质上与trustStore相同。 实际上,您可以将您的个人证书添加到之前创建的trustStore中,它将同时充当trustStore和keyStore,但是现在不需要将以前不需要的密码传递给JSSE,以便它可以访问您的个人证书。
您可以通过运行以下命令在服务器上进行验证,如《 使用客户端和队列管理器的自签名证书进行相互身份验证》指南中所示:
DISPLAY CHSTATUS(<your channel name>) SSLPEER SSLCERTI
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.