0

我正在尝试创建自签名 X.509 证书以在 AWS IoT 中使用。我可以理解它与普通的 OpenSSL 证书没有什么不同,但我偶然发现 AWS 创建的 PEM 文件有所不同。由于我是 OpenSSL 的新手,我无法弄清楚我缺少什么

我使用以下命令创建私钥、CSR 和服务器证书

openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem

openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out server.crt

如果我在 AWS IoT 控制台中上传 csr.pem,它会接受,但我无法使用此文件连接 MQTT。

如果我在 AWS IoT 中上传 server.crt,它会抱怨它不是 CSR 格式,这是可以理解的。

令我惊讶的是,一旦我在 AWS IoT 控制台中上传 csr.pem,我就可以从控制台下载文件 xxxx.pem.crt。当我用来连接到 MQTT 时,这个文件可以完美运行。我不确定如何创建此文件。

我的用例是不依赖 AWS 来生成这个文件。

参考: http ://docs.aws.amazon.com/iot/latest/developerguide/identity-in-iot.html

4

1 回答 1

0

您可以尝试这些进行基本测试:

openssl genrsa -out privkey.pem 2048
openssl req -new -key privkey.pem -out cert.csr

然后,您可以使用 CLI 从 CSR 创建。 http://docs.aws.amazon.com/iot/latest/apireference/API_CreateCertificateFromCsr.html

于 2016-01-04T22:27:10.703 回答