1、在 WebSphere MQ 和 WebSphere Message Broker 之间建立基于 SSL 的通信开始之前本教程展示如何在 z/OS 上使用 MQ SSL 和 Microsoft Windows 在 WebSphere MQ 和 WebSphere Message Broker 产品之间建立基于 SSL 的通信。本教程还将展示如何检查 SSL Cipher Specification (SSLCIPH) 的各种组合,以及诸如无效证书和过期证书之类的错误场景。 我们使用 z/OS 平台上的面板执行这些任务,这些面板使那些不熟悉 z/OS 的用户能够轻松完成这些任务。在本文末尾,我们
2、列示了 z/OS 上的所有 RACF 命令(如创建一个密匙环,将证书添加到密匙环等)。对于在 z/OS 平台上建立 MQ SSL,这些命令可以执行与 z/OS 上的面板相同的操作。目标在 z/OS 队列管理器上建立 MQ SSL在 z/OS 队列管理器和 WebSphere Message Broker 工具包之间建立单向 SSL 通信在 z/OS 队列管理器和 WebSphere Message Broker 工具包之间建立双向 SSL 通信展示各种 SSLCIP 组合的 SSL 通信展示无效 SSLCIPH 组合、无效证书和过期证书的错误场景先决条件您应该熟悉:z/OS 基础知识z/OS
3、上的各种面板(ISPF、RACF 等)的用途IBM WebSphere MQ IBM WebSphere Message Broker(运行时和工具包)概念比较熟悉 Microsoft Windows 上的 SSL系统要求要执行本教程中的任务,您需要:一台 Microsoft Windows 机器IBM WebSphere MQ V6 或更高版本IBM WebSphere Message Broker V6 或 V6.1 IBM WebSphere Message Broker Toolkit V6 或 V6.1安装了 RACF 的 z/OS LPAR 时间2 小时关键字和定义为方便起见,本小
4、节提供来自 MQ 信息中心 的一些关键术语定义。SSL(Secure Sockets Layer,安全套接字层)SSL 是一个工业标准协议,它在应用程序协议和通信层之间提供一个数据安全层,通常是 TCP/IP。SSL 使用加密技术、数字签名和数字证书,在客户端和服务器之间提供消息隐私、消息完整性和相互验证。MQ SSL在 WebSphere MQ 中,您可以对两个队列管理器之间的通信使用 SSL,每个队列管理器都将使用一个数字证书。SSLCIPH(SSL Cipher Specification,SSL 密码规范)SSLCIPH 为一个 SSL 连接定义单个 CipherSpec。一个 Web
5、Sphere MQ SSL 通道的两端都必须包括这个属性,SSLCIPH 值必须在通道的两端指定相同的 CipherSpec。该值是一个字符串,最大长度为 32 个字符。这个属性并不是对所有通道类型都有效。它只对传输类型(TRPTYPE)为 TCP 的通道有效。如果 TRPTYPE 不是 TCP,将忽略数据且不发送错误信息。SSLCIPH 是一个可选属性。SSLCAUTH(SSL Client Authentication,SSL 客户端验证)SLCAUTH 用于定义通道是否需要接收和验证来自一个 SSL 客户端的 SSL 证书。可能的值包括:OPTIONAL 如果对等 SSL 客户端发送一个
6、证书,则该证书被正常处理;如果该客户端不发送任何证书,验证并不失败。REQUIRED 如果 SSL 客户端不发送证书,验证失败。默认值是 REQUIRED。您可以在一个非 SSL 通道定义上指定一个 SSLCAUTH 值,非 SSL 通道上没有或缺失 SSLCIPH。您可以使用这种方法临时禁用 SSL 以便调试,无需先清除 SSL 参数然后再重新输入这些参数。这个属性对可以接收一个通道初始化流的所有通道有效,发送器通道除外。这个属性对以下通道类型有效:* Server* Receiver* Requester* Server connection* Cluster receiverSSLPEE
7、R(SSL Peer,SSL 对等)SSLPEER 属性用于检查来自对等队列管理器或客户端(位于 WebSphere MQ 通道的另一端)的证书的 Distinguished Name (DN)。如果从对等 SSL 接收的 DN 与 SSLPEER 值不匹配,通道将不会启动。SSLPEER 是一个可选属性。如果不指定属性值,通道启动时将不检查对等 DN。在 z/OS 上,该属性的最大长度是 256 字节,其他平台上是 1024 字节。在 z/OS 上,将不会对这个属性值进行检查。如果您输入错误的值,通道在启动时失败,错误消息写入通道两端的错误日志。通道两端还将生成一个 Channel SSL
8、Error 事件。在支持 SSLPEER 的平台(除 z/OS 外),字符串的有效性在首次输入时检查。您可以在一个非 SSL 通道定义上指定一个 SSLCAUTH 值,非 SSL 通道上没有或缺失 SSLCIPH。您可以使用这种方法临时禁用 SSL 以便调试,无需先清除 SSL 参数然后再重新输入这些参数。假设以下小节提供在 WebSphere Message Broker Toolkit (Windows) 和 z/OS 上的 WebSphere MQ 队列管理器之间建立一个 MQ SSL 连接的步骤和屏幕截图。假设 1:队列管理器已建立并正在运行,通道初始化程序正在运行。SSL 设置还没有
9、激活。假设 2:在本教程中,我们对队列管理器 MA01 和 MA02 分别使用两个用户 ID:MA01USR 和 MA02USR。这些用户 ID 需要访问 RACDERT 命令。咨询您的系统管理员,您要使用的用户 ID 是否能够访问 RACDERT 命令。在下面的小节中,您将学习如何创建一个密匙环。密匙环可以视为存储数字证书的存储库。这些证书用于确定客户端系统是否可以信任。创建一个密匙环选择选项 R (RACF)(如图 1 所示)并按下 Enter 键。 图 1. WMQI Change Team Menu选择选项 7 (DIGITAL CERTIFICATES AND KEY RINGS)(
10、如图 2 所示)并按下 Enter 键。 图 2. Services Option Menu选择选项 6 (Key Ring Services) (如图 3 所示)并按下 Enter 键。 图 3. Services Option Menu选择选项 1 (Create a new key ring),在 For user 字段中输入用户名(这里是 MA01USR,如图 4 所示),然后按下 Enter 键。 图 4. Digital Certificate Key Ring Services输入 MA01 作为密匙环的名称(如图 5 所示)并按下 Enter 键。 图 5. Digital C
11、ertificate Key Ring Name图 6 展示了成功创建并添加到 RACF Database 的密匙环。 图 6. 确认密匙环已经添加按下 F3 键,直到返回主菜单。在下一个小节中,您将学习使用 RACF 创建一个 CA 证书。创建一个客户端验证(CA)证书选择选项 1 (Generate a certificate and a public/private key pair)(如图 7 所示)并按下 Enter 键。 图 7. Digital Certificates and Related Services输入 X 以请求一个 CA 证书(如图 8 所示)并按下 F8 键(F
12、8 是向下滚动功能键)。 图 8. 生成一个 Digital Certificate输入 First.M.Last 作为 CommonName,Software Engineer 作为 Title 以及 MVS 作为 Organizational Unit(如图 9 所示):图 9. 生成一个 Digital Certificate(更多选项)输入这个 CA 证书的 start date/time 和 end date/time 的值(如图 10 所示),这些值基本上表明证书的有效性。输入 “CA01” 作为这个 CA 证书的 Label name 并按下 F8 键。 图 10. 生成一个 D
13、igital Certificate(更多选项)输入一个 X 作为选项 Certsign(如图 11 所示)。如果没有出现错误消息,那么这个 CA 证书已成功创建并添加到 RACF 数据库。 图 11. 生成一个 Digital Certificate(更多选项)要列示 CA 证书 CA01,选择选项 4(如图 12 所示)并按下 Enter 键。 图 12. Digital Certificates 和 Related Services在 For Certificate Type 字段中的 Certificate Authority 下输入一个 X,然后选择选项 3(如图 13 所示)并按下
14、 Enter 键。 图 13. Digital Certificate Services Main Panel 输入 CA01 作为证书的标签并选择选项 1(如图 14 所示),然后按下 Enter 键。 图 14. Digital Certificate List Filtering Panel图 15 显示了证书 CA01 的内容,按下 F8 显示更多证书细节。 图 15. Change Status/Delete Digital Certificate在下一小节中,您将学习创建一个由 CA 证书签署的个人证书。这个签署 CA 证书是您在上一小节创建的,标签为 CA01。创建一个个人证书选
15、择选项 1(如图 16 所示)并按下 Enter 键。 图 16. Digital Certificates and Related Services输入任意个人用户 ID 以生成一个个人证书。选择 Certificate Authority 作为 Signing Certificate type,输入 CA01 作为 Label(如图 17 所示)。按下 F8 向下滚动。 图 17. 生成一个 Digital Certificate 输入 MAO1.PERSONAL 作为您选择的 Common Name(如图 18 所示),按下 F8 键向下滚动。 图 18. 生成一个 Digital Ce
16、rtificate(更多选项) 在 Label 字段中输入个人证书的名称。常用的格式是 ibmWebSphereMQXXXX,其中 XXXX 代表 4 个字母的队列管理器名。选择选项 Handshake(如图 19 所示)并按下 Enter 键。 图 19. 生成一个 Digital Certificate(更多选项) 连接证书和密匙环下面需要将 CA 证书和个人证书添加到密匙环,因为当队列管理器执行与客户端系统的 SSL “握手” 时,将检查密匙环中的证书列表。将 CA 证书 CA01 连接到密匙环 MA01在本小节中,您将学习将 CA 证书连接(添加)到密匙环。选择选项 6 (Create
17、, List, or Delete an entire key ring or Connect or Remove a certificate to/from a key ring)(如图 20 所示)并按下 Enter 键。 图 20. Digital Certificates and Related Services 选择选项 4 以将一个数字证书连接到一个密匙环(如图 21 所示)并按下 Enter 键。 图 21. Digital Certificate Key Ring Services 输入密匙名称 MA01 并选择 Certificate Authority 选项作为 Certi
18、ficate Type,输入 CA01 作为 Label name,选择 Certificate Authority 作为 Usage 证书(如图 22 所示)并按下 Enter 键。 图 22. 将数字证书连接到密匙环 图 23 显示 CA 证书 CA01 已经成功连接到密匙环 MA01。 图 23. Digital Certificate Key Ring Services 在下一小节中,您将学习将个人证书连接(添加)到密匙环。将个人证书 ibmWebSphereMQMA01 连接到密匙环 MA01输入创建个人证书的用户 ID (MA01USR)并选择选项 4(Connect a digi
19、tal certificate to a key ring)(如图 24 所示)并按下 Enter 键。 图 24. Digital Certificate Key Ring Services 输入密匙环名称 MA01,输入用户 ID MA01USR 作为 Certificate Type(因为这是一个个人证书)。下面输入 ibmWebsphereMQMA01 作为 Label name,选择 Personal 作为 Usage 字段(如图 25 所示)并按下 Enter 键。 图 25. 将数字证书连接到密匙环 图 26 显示个人证书 ibmWebsphereMQMA01 已经成功连接到密匙
20、环 MA01。 图 26. Digital Certificate Key Ring Services 在下一小节中,您将学习如何列示连接(添加)到密匙环的所有证书。 列示连接到密匙环的证书选择选项 3(List existing key ring(s)),输入 MA01USR 作为用户 ID(如图 27 所示)并按下 Enter 键。 图 27. Digital Certificate Key Ring Services 输入密匙环名称 MA01 (如图 28 所示)并按下 Enter 键。 图 28. Digital Certificate List Key Ring Services 图
21、 29 显示所有连接到密匙环 MA01 的证书。 图 29. 列示密匙环名称 清单 1 展示了通道初始化程序(MA01CHIN))日志的一个代码段。注意变量 SSLTASKS (=0) 和 SSLKEYR (= ) 的值和消息 “0 SSL server subtasks started, 0 failed”,该消息表明队列管理器还没有准备好进行 SSL 通信。 还应注意表明位于端口地址 1501 的监听器已经启动的消息。清单 1. 通道初始化程序(MA01CHIN)日志的一个代码段CSQX080IMA01CSQXGIPSSLTASKS=0,SSLRKEYC=0CSQX081IMA01CSQX
22、GIPSSLKEYR=CSQX082IMA01CSQXGIPSSLCRLNL=CSQX085IMA01CSQXGIPLU62CHL=200,LUGROUP=,LUNAME=,LU62ARM=CSQX090IMA01CSQXGIPTCPCHL=200,TCPKEEP=NO,TCPNAME=TCPIPCSQX091IMA01CSQXGIPTCPSTACK=SINGLE,IPADDRV=IPV4CSQX092IMA01CSQXGIPOPORTMIN=0,OPORTMAX=0CSQX093IMA01CSQXGIPDNSWLM=NO,DNSGROUP=CSQX094IMA01CSQXGIPRCVTIME
23、=0,RCVTTYPE=MULTIPLY,RCVTMIN=0CSQX011IMA01CSQXGIPClientattachmentfeatureavailableCSQX141IMA01CSQXADPI8adaptersubtasksstarted,0failedCSQX151IMA01CSQXSSLI0SSLserversubtasksstarted,0failedCSQX410IMA01CSQXREPORepositorymanagerstartedCSQX015IMA01CSQXSPRI5dispatchersstarted,0failedCSQX022IMA01CSQXSUPRChan
24、nelinitiatorinitializationcompleteCSQX251IMA01CSQXSTRLListenerstarted,TRPTYPE=TCPINDISP=QMGRCSQX023IMA01CSQXLSTTListenerstarted,port1501address*,提取 CA 证书现在,队列管理器拥有了一个证书。当 Toolkit (作为一个 MQ Client)连接时,队列管理器向 Toolkit 出示该证书。要验证队列管理器的证书,Toolkit 需要 CA 证书。在此之前,为用户 ID(WebSphere Message Broker Toolkit 使用此用户
25、ID 启动)创建一个配置管理器并定义一个 ACL 条目。按照以下步骤将 CA 文件提取到一个物理序列(PS)文件中:使用如图 30 所示的参数创建一个 PS 文件,该文件将用于提取 CA 证书 CA01。 图 30. Data Set Information 选择选项 3(Write a certificate to a data set)(如图 31 所示)并按下 Enter 键。 图 31. Digital Certificates and Related Services 由于 CA 证书将传递到 Windows 机器,选择选项 Certificate Authority 作为 Cert
26、ificate Type(如图 32 所示)。输入标签名 CA01 并输入将在其中保存提取的证书的数据集名。选择选项 Base64 encoded X.509 certificate,这是提取的证书的默认格式类型。按下 Enter 键。 图 32. 将证书写入 Data Set 使用 ISPF 3.4 选项,您可以查看提取的证书。清单 2 显示了提取的证书 CA01 的内容。清单 2. CA 证书 CA01 的内容*TopofData*-BEGINCERTIFICATE-MIICfTCCAeagAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMQwwCgYDVQQLEwNNVl
27、MxGjAYBgNVBAwTEVNvZnR3YXJlIEVuZ2luZWVyMRUwEwYDVQQDEwxGaXJzdC5NLkxhc3QwHhcNMDkwMzI5MTgzMDAwWhcNMTAwMzMwMTgyOTU5WjBBMQwwCgYDVQQLEwNNVlMxGjAYBgNVBAwTEVNvZnR3YXJlIEVuZ2luZWVyMRUwEwYDVQQDEwxGaXJzdC5NLkxhc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMUbsc1Z5TNBP0GIGcWvSJZ2Mh7WV3lsbA80z9KeXKEI+pHwePrKttk3Xbz3EH
28、wk6ImiaFlMEdwdfCaib5/I5chXa5qXrQRknpMywCBvbBYvnX0IK/eX2OushIIxOecDoCdejNZPucq2qjcbhKX5kXqvE0CeMxUWoZJWBcbcVwEjAgMBAAGjgYQwgYEwPwYJYIZIAYb4QgENBDITMEdlbmVyYXRlZCBieSB0aGUgU2VjdXJpdHkgU2VydmVyIGZvciB6L09TIChSQUNGKTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUhc9SF6OS/fmxfZhbWeyXiKPg6dUwDQ
29、YJKoZIhvcNAQEFBQADgYEAceSBdwf6cU6vc/O63WE8E6kB/lY1XLwSIWefEa6LMicJHu+sbgsf/tRTu8L47D/wbo7JEEoCV3kYWvkFV3QasjFmCch9MfR0SPFKXmUpcLPVtaHTyb+gSvCe5ZaOeCDlxbp2SZpNdKF2r2OLmhrssfAuNIa+fE5l9Ed3nIMrpTE=-ENDCERTIFICATE-*BottomofData*将 CA 证书文件传输到 Windows Toolkit 的存储库按照以下步骤将 CA 证书文件传输到 Windows:使用 Windows Explorer 或命令提示创建一个目录 C:MQSSLMA01: C:mdMQSSLC:cdMQSSLC:MQSSL
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1