可以使用两个自签名设备证书在 IoT 中心对设备进行身份验证。 此功能有时称作指纹身份验证,因为证书包含提交到 IoT 中心的指纹(哈希值)。 以下步骤说明如何创建两个自签名证书。
备注
此示例是使用适用于 Windows 的 Cygwin64 创建的。 Cygwin 是一个开源工具集合,允许 Unix 或 linux 应用程序在 Windows 上通过类似 Linux 的接口运行。 CygWin64 与 OpenSSL 捆绑在一起。 如果你使用的是 Linux,则可能已经安装 OpenSSL。
openssl genpkey -out device1.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048
出现提示时,请确保指定设备 ID。
openssl req -new -key device1.key -out device1.csr
Country Name (2 letter code) [XX]:.
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server hostname) []:{your-device-id}
Email Address []:
openssl req -text -in device1.csr -noout
openssl x509 -req -days 365 -in device1.csr -signkey device1.key -out device1.crt
openssl genpkey -out device2.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048
出现提示时,请指定用于证书 1 的同一设备 ID。
openssl req -new -key device2.key -out device2.csr
Country Name (2 letter code) [XX]:.
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server hostname) []:{your-device-id}
Email Address []:
openssl x509 -req -days 365 -in device2.csr -signkey device2.key -out device2.crt
openssl x509 -in device1.crt -noout -fingerprint
openssl x509 -in device2.crt -noout -fingerprint
在 Azure 门户中导航到你的 IoT 中心,并创建具有以下特征的新 IoT 设备标识:
- 提供与两个证书的使用者名称匹配的设备 ID。
- 选择“X.509 自签名”身份验证类型。
- 粘贴从设备主要证书和辅助证书中复制的十六进制字符串指纹。 确保十六进制字符串不包含冒号分隔符。
前往“测试证书身份验证”,以确定证书是否可在 IoT 中心对设备进行身份验证。