SSL証明書は、インターネットでの認証と暗号化を容易にするために使用されます。 通常、これらの証明書は、次のような信頼できるサードパーティの認証局によって発行されます。 Let’s Encrypt。 自己署名証明書は、サードパーティの認証局を経由せずに取得される証明書です。
TLS / SSLは、公開証明書と秘密鍵の組み合わせです。 秘密鍵はサーバーまたはロードバランサーに安全に保存されますが、証明書は公開されています。
このチュートリアルでは、その方法を説明します 自己署名SSL証明書を作成する を使用して OpenSSL 道具。
前提条件
Linuxマシンとユーザー sudo 特権。
OpenSSLをインストールします
OpenSSLは、すべての主要なLinuxディストリビューションでデフォルトで使用できます。 以下のコマンドを実行して、OpenSSLがLinuxマシンにすでにインストールされているかどうかを確認します。
$ opensslバージョン
OpenSSLのバージョンの詳細を示す出力が表示されない場合は、次のコマンドを実行してOpenSSLをインストールします。
UbuntuおよびDebianベースのディストリビューションの場合:
$ sudo apt install openssl
Red Hatベースのディストリビューション:
$ sudo dnf install openssl $ sudo yum install openssl
ザ openssl コマンド構文は次のとおりです。
openssl command options arguments
OpenSSLを使用して自己署名SSL証明書を作成する
LinuxマシンにOpenSSLツールがインストールされていることを確認したら、自己署名証明書の作成に進むことができます。
秘密鍵を生成するには、CSR情報が必要です。 自己署名証明書を生成しているため、CSRファイルを出力する必要はありません。これは、CSR情報をサードパーティの認証局に送信する場合にのみ必要になるためです。
自己署名SSL証明書を作成するには、次のように入力します。
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout my_key.key -out my_cert.crt
これにより、365日間有効な自己署名証明書が作成されます。 別のディレクトリが明示的に指定されていない限り、証明書とキーファイルは現在のディレクトリに作成されます。
各オプションの意味は次のとおりです。
- req -証明書署名要求を作成します
- -newkey rsa:4096 -これにより、4096ビット長のRSAキーが作成されます。 指定しない場合、デフォルトで2048ビット長のキーが作成されます
- -キーアウト -キーが保存される秘密キーファイル名
- -アウト -新しい証明書を保存するファイル名を示します
- –ノード -パスフレーズを使用して証明書を作成する手順をスキップします
- -x509 -X.509形式の証明書を作成します
- -日々 -証明書が有効な日数
CSRフィールド:
C =-国名。 (2文字のコード)。
ST =-州または県の名前。
L =-地域名。
O =-組織のフルネーム。
OU =-組織単位名。
CN =-完全修飾ドメイン名。
既存の秘密鍵とCSRを使用して自己署名証明書を作成する
既存の秘密鍵とcsrがある状況では、次の手順で十分です。
OpenSSL秘密鍵を作成する
まず、以下のコマンドを実行して、秘密鍵を作成して保存します。 この秘密鍵は、SSL証明書に署名するために必要です。 あなたは変えられる 私の鍵 以下のコマンドで自分の値に変更します。
$ sudo openssl genrsa -out my_key.key
オプションの意味は次のとおりです。
- genrsa RSA秘密鍵を生成する
- -アウト 出力ファイル
別の場所を指定した場合を除き、秘密鍵は現在の作業ディレクトリに保存されます。
証明書署名要求を作成します
次のステップは、証明書署名要求(CSR)を作成することです。 CSRは、通常、署名のためにサードパーティの認証局に送信するものです。 ただし、この場合は、自分で署名します。
CSRを作成するときに、いくつかの情報を提供するように求められます。 Enterキーを押すと、一部のフィールドが空白のままになる場合があります。
次に、以下のコマンドを実行して、CSRの作成を開始します。
$ sudo openssl req -new -key my_key.key -out my_csr.csr
各オプションの意味は次のとおりです。
- req 証明書署名要求を行う
- -新着 新しいリクエスト
- -鍵 秘密鍵ファイルが保存されているパス
- -アウト 出力ファイル
次の画像は、CSR作成プロセスがどのように見えるかを示しています。

自分で証明書に署名する
以下のコマンドを実行すると、365日間有効な自己署名証明書が作成されます。
$ openssl x509 -req -days 365 -in my_csr.csr -signkey my_key.key -out my_cert.crt
以下はオプションの意味です。
- x509 公開鍵証明書を作成および検証するための国際標準
- -req 証明書要求を行う
- -日々 証明書が有効な日数
- -の csrファイルが保存されているパス
- –signkey 秘密鍵が保存されているパス
- -アウト 自己署名証明書の出力ファイル
証明書を確認する
以下のコマンドを使用して、証明書の詳細をテキスト形式で確認できます。
$ openssl x509 -text -noout -in my_cert.crt

結論
このチュートリアルでは、を使用して自己署名SSL証明書を作成する方法について説明しました。 openssl 道具。 主要なブラウザは自己署名証明書を信頼しないため、内部またはテスト目的でのみ使用することをお勧めします。