OpenSSL を使用して自己署名 SSL 証明書を生成する方法 [closed] 質問する

OpenSSL を使用して自己署名 SSL 証明書を生成する方法 [closed] 質問する

組み込み Linux デバイスに HTTPS サポートを追加しています。次の手順で自己署名証明書を生成しようとしました。

openssl req -new > cert.csr
openssl rsa -in privkey.pem -out key.pem
openssl x509 -in cert.csr -out cert.pem -req -signkey key.pem -days 1001
cat key.pem>>cert.pem

これは動作しますが、たとえば Google Chrome ではいくつかエラーが発生します。

これはおそらくあなたが探しているサイトではありません!
サイトのセキュリティ証明書は信頼されていません!

何か見落としているのでしょうか? これは自己署名証明書を作成する正しい方法でしょうか?

ベストアンサー1

これを 1 つのコマンドで実行できます。

# interactive
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365

# non-interactive and 10 years expiration
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"

秘密鍵をパスフレーズで保護したくない場合は、 ( 「no DES」-nodesの略)を追加することもできます。そうでない場合は、「少なくとも 4 文字」のパスワードの入力を求められます。

パラメータdays(365) を任意の数字に置き換えて有効期限を設定できます。その後、「国名」などの入力を求められますが、そのままクリックしEnterてデフォルトを受け入れることができます。

-subj '/CN=localhost'証明書の内容に関する質問を抑制するために追加します(localhost目的のドメインに置き換えます)。

自己署名証明書は、事前にブラウザにインポートしない限り、第三者によって検証されません。よりセキュリティが必要な場合は、第三者によって署名された証明書を使用する必要があります。証明する機関(カリフォルニア州)。

おすすめ記事