客户端证书认证
云消息队列 MQTT 版支持基于X.509证书的双向认证,分别通过服务器证书和设备证书完成服务端和客户端的认证,保证客户端和服务端通信链路的安全性和可靠性。本文介绍客户端证书认证的原理和实现方式。
使用限制
- 单向认证:所有类型实例均支持。 
- 双向认证:仅铂金版、专业版实例支持。 
单向认证
客户端认证服务端
云消息队列 MQTT 版客户端对服务端的认证通过服务器证书完成。客户端发起连接请求时,服务端的证书会随着请求握手自动下发给客户端,客户端将验证服务器证书的正确性,若验证通过则允许服务端连接。
操作步骤
本操作仅支持铂金版、专业版实例切换认证时使用,其他类型实例默认支持单向认证无需进行操作。
- 登录云消息队列 MQTT 版控制台,并在左侧导航栏单击实例列表。 
- 在顶部菜单栏选择目标地域,然后在实例列表中单击实例名称进入实例详情页面。 
- 在左侧导航栏选择。 
- 单击单向认证,在弹出的提示对话框中仔细阅读提示信息并单击确认,等待服务器重启完成。 
验证
您可以使用以下代码示例进行验证:
| 语言 | 下载地址 | 
| Java | |
| Python | |
| C | |
| .NET | |
| JavaScript | |
| iOS | 
双向认证
客户端认证服务端
云消息队列 MQTT 版客户端对服务端的认证通过服务端器书完成。客户端将验证服务器证书的正确性,若验证通过则允许与服务端建立链接。服务器证书需要您自行购买或自行签发后,托管到数字证书管理服务,并通过服务器证书重启云消息队列 MQTT 版服务。
服务端认证客户端
云消息队列 MQTT 版服务端对客户端的认证通过对设备证书的认证完成。客户端发起请求连接时,会与服务端按照TLS 1.2协议进行交互。交互过程中客户端会将设备证书传递到服务端,服务端将根据客户端提前注册的CA证书验证该设备证书的正确性,若验证通过则允许客户端连接服务端。
操作步骤
本操作仅支持铂金版、专业版实例。
- 获取并注册CA证书。详情请参见:CA证书管理。 - CA证书可以向证书颁发机构申请或自己创建。CA证书可用于签发设备证书、服务器证书、验证证书。 
- CA证书必须在云消息队列 MQTT 版服务端中注册才能用于验证设备证书的正确性。 
 
- 签发服务器证书,并托管到数字证书管理服务,然后通过服务器证书重启服务。详情请参见:服务器证书管理。 
- 签发设备证书。由CA证书签发,每个设备的设备证书建议全局唯一,详情请参见:使用CA证书签发设备证书。 - 设备证书必须在服务端进行注册,才能用于证书认证。 
- 客户端设备证书注册流程如下:客户端第一次连接服务端时,携带的设备证书未在服务端注册过,服务端支持根据设备证书信息匹配对应的CA证书,并将设备证书自动注册到服务端中。后续客户端请求时,服务端可直接对设备证书进行认证,无需再匹配CA证书。 
 
验证
您可以使用以下代码示例进行验证:
| 语言 | 下载地址 | 
| Java | |
| Python | |
| C | |
| .NET | |
| JavaScript | |
| iOS | 
相关操作
OpenAPI
- CA证书管理 
- 设备证书管理