AWS IoT で使用する自己署名 X.509 証明書を作成しようとしています。通常の 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