在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并应用在IoT Hub/DPS中


本文介绍如下内容:
1. 了解证书链
2. 使用OPENSSL和 微软提供的示例工具生成自签名证书并应用在IoT Hub/DPS中;

视频讲解:

您可以在B站观看视频讲解:https://www.bilibili.com/video/av92977189/
或在本站观看:链接https://www.51azure.cloud/post/2020/3/4/azure-iot-6-dps-x509-proof-of-possession

图文介绍:

1. 下载安装openssl 并配置环境变量;

windows 版下载地址:http://slproweb.com/download/Win64OpenSSL-1_1_1d.msi

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图1

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图2

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图3

安装完成后,配置环境变量:
1. 在Path中添加openssl安装位置
2.配置 OPENSSL_CONF的conf路径
Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图4

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图5
在命令提示符运行 openssl,如下图表示安装完成
Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图6

2. 下载微软示例代码,配置Power Shell环境:

2.1 准备power shell 和openssl

示例代码:https://codeload.github.com/Azure/azure-iot-sdk-c/zip/master
以管理员权限使用pwoer shell进入 如下目录:
Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图7

执行如下命令:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted

输入A,如下图:

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图8

执行如下命令,注意两个“.”之间有一个空格:
. .\ca-certs.ps1
Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图9

执行如下命令,检查环境配置是否正常,如果出错i,则可能是openssl环境变量配置不正确或者. .\ca-certs.ps1命令格式不争取,部分电脑可能需要重启。
Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图10


2.2. 创建证书链


执行如下命令:
New-CACertsCertChain rsa

如下图所示,供创建4张证书,一张根证书和三证中间证书

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图11

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图12


Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图13


Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图14


Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图15


Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图16


执行如下命令:

New-CACertsVerificationCert “portal 中生成的验证码”


Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图17

选择新生成的证书,进行验证:


Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图18

如下图,显示验证通过:

Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权 - 图19



至此,证书所有权验证成功,后续的章节中介绍,该证书如何使用。



本系列其他文章:

  1. (视频)Azure IoT 中级(1)-Device Provisioning Service(DPS)概览
  2. (视频)Azure IoT 中级(2)-理解DPS组注册和单独注册
  3. (视频)Azure IoT 中级(3)-(案例1)使用DPS通过对称密钥进行单个设备注册
  4. (视频)Azure IoT 中级(4)-(案例2)使用DPS通过对称密钥进行设备组注册
  5. (视频)Azure IoT 中级(5)- 在 DPS/IoT Hub中使用X509证书的准备工作(1)了解证书链
  6. (视频)Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权
  7. (视频)Azure IoT 中级(7)- (案例3)设备通过X509证书经DPS验证后注册到IoT Hub并开始通信