我正在尝试创建自签名 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