当前位置: 首页 > 知识库问答 >
问题:

为什么我需要为到IBM MQ的SSL连接提供密钥存储和信任存储

黄高爽
2023-03-14

我创建了一个使用SSL连接到IBMMQ的轻应用程序

如果我同时设置了javax。网ssl。信任库javax。网ssl。密钥库一切正常。

密钥库(jks)包含两个条目:

>

  • TrustedCertEntry

    私钥入口

    我觉得,考虑到我是这个连接的客户机,MQ是服务器,应该只使用trustStore,但事实并非如此,因为如果我只设置trustStore,应用程序将无法工作。

    谁能给我解释一下为什么两者都是必需的吗?

  • 共有1个答案

    霍永年
    2023-03-14

    根据Websphere MQ Java/JMS客户机指南第2点的SSL配置。创建密钥库您最有可能使用证书进行客户端身份验证。此身份验证设置需要密钥库:

    仅当您希望在连接到队列管理器时进行客户端身份验证时,请完成本节。如果尚未在通道上指定客户端身份验证,则无需完成此部分。

    keyStore本质上与信任存储相同,只是它持有客户端的个人证书,JSSE需要密码才能访问。事实上,您可以将您的个人证书添加到之前创建的信任存储中,它将作为信任存储和密钥存储,但是以前不需要的密码现在需要传递给JSSE,以便它访问您的个人证书。

    如使用自签名证书进行客户端和队列管理器的相互身份验证指南中所示,可以在服务器上验证此操作,方法是运行:

    DISPLAY CHSTATUS(<your channel name>) SSLPEER SSLCERTI
    
     类似资料:
    • 来自服务器端的PEM文件,打开时为以下格式: 我试图将其转换为两个JKS文件(信任存储和密钥存储),我可以通过SSL使用java应用程序调用服务器。 谢谢你在这方面的帮助。

    • 证书、私钥(客户端)和客户端证书都是pem格式的,我必须将它们添加到信任存储区和密钥存储区中。我该怎么做呢?到目前为止,我在cmd(windows)中有命令: > 要生成PKC(key:客户端私钥,cert:客户端cert,CA:CACERT):openssl pkcs12-inKey key.pem-in cert.pem-export-out keystored.p12-certfile CA

    • 我写一个java应用程序连接到数据库与ssl连接使用jTDS。我已经向连接URL添加了属性ssl=需要,以启用ssl连接。 但是我找不到如何配置属性,在那里我可以指定使用哪个信任存储以及它的密码是什么?此处列出了所有jTDS连接属性:http://jtds.sourceforge.net/faq.html 根据此链接,SQL server jdbc驱动程序具有以下类型的属性trustStore和t

    • 问题内容: 我真的不明白为什么在核心类型链接中会在属性描述中说(例如,对于一个数字): store-设置为yes,将实际字段存储在索引中,否,则不存储它。默认为no(请注意, JSON文档本身已存储,可以从中检索 ) index-如果不应为该值建立索引,则设置为no。在这种情况下,应该将store设置为yes,因为如果未对它进行索引和存储, 则与它无关 这两个大胆的部分似乎矛盾。如果我仍然可以从源

    • 我有一个带有的spring boot应用程序。 我还使用并在其中扩展。 当我尝试@AutoWired我拥有的服务时: 原因:org.springframework.beans.factory.noSuchBeanDefinitionException:没有“com.api.core.service.countryService”类型的合格bean可用:应至少有一个合格的自动候选bean。依赖项注释

    • 我正在尝试用Java执行相互身份验证。我试图实现的结构是:具有自签名证书的服务器充当CA,对客户端证书进行签名。因此,这就是我在每个密钥库/信任库中保存的内容: 客户: 密钥库: 客户端的SSL密钥对。 由服务器签署的证书(与密钥对相关)。 信任库: 服务器的自签名证书 服务器 密钥库: 服务器的SSL密钥对。 自签名证书(与密钥对相关)。 信任库: 服务器的自签名证书 我能够执行服务器的身份验证