![[AIX]](ngaix.gif)
![[Windows]](ngwin.gif)
![[Linux]](nglinux.gif)
MQTT 使用 TLS 进行客户端身份验证的遥测通道配置
IBM® MQ 管理员在服务器上配置遥测通道。 每个通道被配置为接受不同端口号上的 TCP/IP 连接。 配置了 TLS 通道,以对密钥文件进行受口令保护的访问。 如果没有为 TLS 通道定义口令或密钥文件,那么此通道将不接受 TLS 连接。
将 TLS 遥测通道的属性 com.ibm.mq.MQTT.ClientAuth 设置为 REQUIRED ,以强制所有在该通道上连接的客户机提供已验证数字证书的证明。 客户机证书使用来自认证中心的证书进行认证,从而生成可信根证书。 如果客户机证书是自签名证书,或者由来自认证中心的证书签署,那么客户机或认证中心的公共签名证书必须安全地存储在服务器上。
将公用签名的客户机证书或来自认证中心的证书放在遥测通道密钥库中。 在服务器上,公用签名证书与专用签名证书存储在同一密钥文件中,而不是存储在单独的信任库中。
服务器使用其拥有的所有公用证书和密码套件来验证其发送的任何客户机证书的签名。 服务器验证密钥链。 可以配置队列管理器以根据证书撤销列表测试证书。 队列管理器撤销名称列表属性为 SSLCRLNL。
如果客户机发送的任何证书由服务器密钥库中的证书验证,那么将对客户机进行认证。
IBM MQ 管理员可以配置相同的遥测通道,以使用 JAAS 来检查具有客户机 密码的客户机的 UserName 或 ClientIdentifier 。
您可以将同一密钥库用于多个遥测通道。
验证设备上受密码保护的客户机密钥库中的至少一个数字证书会向服务器认证客户机。 数字证书仅用于 IBM MQ的认证。 它不用于验证客户机的 TCP/IP 地址,也不用于设置客户机的身份以进行授权或记帐。 服务器采用的客户机的身份是客户机的 用户名 或 ClientIdentifier ,或者是由 IBM MQ 管理员创建的身份。
您还可以使用 TLS 密码套件进行客户机认证。 如果计划使用 SHA-2 密码套件,请参阅在 MQTT 信道中使用 SHA-2 密码套件的系统要求。