首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成生产x509证书

生成生产x509证书
EN

Stack Overflow用户
提问于 2021-07-19 20:31:57
回答 1查看 123关注 0票数 0

正在尝试通过nodeJS为边缘设备实施TPM资源调配。如上所述,https://docs.microsoft.com/en-us/azure/iot-dps/quick-create-simulated-device-x509-node能够生成用于测试目的的自签名证书。请帮助我,如何为生产环境生成和验证。我对术语并不是很清楚,并且正在寻找做研发的起点。

以下是自签名证书验证的示例代码,该代码派生自azure-IoT-sdk节点JS。

代码语言:javascript
复制
var deviceCert = {
  cert: fs.readFileSync(process.env.CERTIFICATE_FILE).toString(),
  key: fs.readFileSync(process.env.KEY_FILE).toString()
};

var transport = new Transport();
var securityClient = new X509Security(registrationId, deviceCert);
var deviceClient = ProvisioningDeviceClient.create(provisioningHost, idScope, transport, securityClient);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-20 00:23:15

如果您查看create_test_cert.js的源代码,您将看到您正在使用的教程中的参数创建了一个自签名证书。此外,代码使用Math.random而不是crypto.randomXXX。这对我来说是一个危险信号,但它可能什么都不是。文章说,“自签名证书仅用于测试,不应在生产中使用。”

安全密钥管理的主题太大,无法在堆栈溢出答案中涵盖,但可以从50,000英尺的角度进行讨论。您想要创建根CA。大多数大公司在没有连接到网络的机器上或在特殊的硬件文件夹中保持这些安全。在此基础上创建一个或多个中间证书。常见的模式是每个产品的根CA上的中间证书,然后是每个制造设备的工厂的产品证书上的中间证书。从那里,从中间工厂证书创建设备证书。这样,如果第三方工厂受到威胁,您可以撤销它的证书并重新发布,而无需关闭整个产品或公司。

创建根证书和中间证书的代码在脚本中。您要做的另一件事是使用组注册向Device Provisioning Service注册根CA或中间CA。这样,可以提供由注册的密钥或具有向DPS注册的父密钥的密钥签名的所有设备密钥。组注册所需的拥有证明代码也在脚本中。不久前,我为C版本的SDK写了一个类似的bash脚本,可以在here中找到,以防有任何帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68440561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档