X509_check_private_key:密钥值不匹配错误:DPS,IOT集线器

问题描述

我无法在node.js中的IOT集线器上创建设备。我已经用全局设备端点IDScope用我的DPS的ID范围替换了配置主机。我正在使用具有x.509证书的组注册,所以我使用证书的主题名称作为registrationId的值。我还将IoT中心链接到了Device Provisioning Service。

var provisioningHost = "global.azure-devices-provisioning.net"; 
var idScope = "6n*******3"; //Replace id scope with the ID Scope
var **registrationId** = "Azure IoT CA TestOnly Root CA"; 
var deviceCert = {
  cert: fs.readFileSync("./IOTProj_cert.pem").toString(),key: fs.readFileSync("./IOTProj_key.pem").toString()
};

我正在执行azure-iot-sdk-node / provisioning / device / samples / register_x509.js文件,但出现以下错误:

PS D:\ TestNode \ azure-iot-sdk-node-master \ provisioning \ device \ samples>节点。\ register_x509.js
_tls_common.js:149

错误:错误:0B080074:x509证书例程:X509_check_private_key:密钥值不匹配 在Object.createSecureContext(_tls_common.js:149:17) 在Object.connect(_tls_wrap.js:1582:48) 在Object.buildBuilder(D:\ TestNode \ azure-iot-sdk-node-master \ provisioning \ device \ samples \ node_modules \ mqtt \ lib \ connect \ tls.js:17:20) 在MqttClient.wrapper [作为streamBuilder]上(D:\ TestNode \ azure-iot-sdk-node-master \ provisioning \ device \ samples \ node_modules \ mqtt \ lib \ connect \ index.js:153:36) 在MqttClient._setupStream(D:\ TestNode \ azure-iot-sdk-node-master \ provisioning \ device \ samples \ node_modules \ mqtt \ lib \ client.js:298:22)
库:“ x509证书例程”, 函数:“ X509_check_private_key”, 原因:“键值不匹配”, 代码:“ ERR_OSSL_X509_KEY_VALUES_MISMATCH” }

我正在关注以下链接

创建测试证书: Managing test CA certificates for samples and tutorials

create-simulated-device-x509-nodeJS#Simulate the device

IoT Hub Device Provisioning Service device concepts#Registration ID

Samples for the Azure IoT Device Provisioning Device SDK for Node.js

编辑-我要使用网上论坛注册。

解决方法

从上面的代码中,您似乎正在使用““ Azure IoT CA TestOnly根CA”作为registrationId?registrationId应该是设备证书本身的cn /主题(无论您传递给'./certGen。 sh create_device_certificate'命令),而不是根证书CA。“ IOTProj_cert.pem”是哪种证书?是设备证书还是根CA证书?

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...