理想的には、 SSL 証明書は、公的に信頼されている認証局によって発行されます(例: Let’s Encrypt 、コモド 、ベリサイン )インターネット上で認証と暗号化を提供します。ただし、サードパーティの認証局を経由せずにSSL証明書を取得することはできます。これは、自己署名証明書と呼ばれるものです。
このチュートリアルでは、 OpenSSLを使用して自己署名SSL証明書を生成する方法について説明します。 Linuxでは。 OpenSSLは、インターネット上で安全な通信を実装するために使用されるオープンソースソフトウェアライブラリです。
LinuxにOpenSSLをインストールする方法
OpenSSLが来る 主要なLinuxディストリビューションにプレインストールされており、 OpenSSL 次のコマンドを使用して、Linuxマシンにインストールされます。
$ openssl version
OpenSSLの出力が表示されるはずです 下の図に示されているものと同様のバージョン情報。 Ubuntu Linux 20.04を使用しています 。

OpenSSLの場合 インストールされていない場合は、次のコマンドを実行して OpenSSLをインストールできます Linuxの場合。
$ sudo apt install openssl [On Debian/Ubuntu/Mint] $ sudo yum install openssl [On RHEL/CentOS/Fedora]
OpenSSLを使用して自己署名SSL証明書を生成する
opensslを確認したら ツールがインストールされ、次のように自己署名証明書を生成する準備が整いました。
OpenSSL秘密鍵を生成する
まず、以下のコマンドを実行して、SSL証明書の署名に使用される秘密鍵を生成して保存します。 ubuntu_serverの代わりに何でも使用できます 。
$ openssl genrsa -out ubuntu_server.key

秘密鍵は現在の作業ディレクトリに保存されます。
証明書署名要求を生成する
次に、証明書署名要求を生成します ( CSR )次のコマンドを使用します。以前に生成した秘密鍵の正しい名前を指定する必要があることに注意してください。
$ openssl req -new -key ubuntu_server.key -out ubuntu_server.csr
CSRを生成するプロセス中 、証明書署名要求に関連付けられる情報を提供するように求められます。 CSR 現在の作業ディレクトリに保存されます。

注 :一部のフィールドは空白のままにしてください。たとえば、「追加」の下のフィールド キーボードのEnterキーを押すと、の属性を空白のままにすることができます。
CSRが正常に完了すると、自分で証明書に署名する準備が整います。
自己署名証明書
以下のコマンドを実行して、 365で有効な自己署名証明書を要求します。 日々。 x509 オプションはX.509を参照します 公開鍵証明書を作成および検証するための国際標準。 ubuntu_serverを忘れずに置き換えてください 必要に応じて。
$ openssl x509 -req -days 365 -in ubuntu_server.csr -signkey ubuntu_server.key -out ubuntu_server.crt

自己署名証明書は現在の作業ディレクトリに保存され、lsコマンドを実行して確認できます。
$ ls

また、次のコマンドで証明書の詳細を確認できます。
$ openssl x509 -text -noout -in ubuntu_server.crt
この時点で、自己署名証明書をWebアプリまたはサイトに展開する準備ができています。
結論
このガイドでは、Linuxでopensslツールを使用して自己署名SSL証明書を生成する方法について説明しました。自己署名証明書は、すべての主要なWebブラウザーで安全でないと見なされていることに注意してください。したがって、このような証明書は、内部で、またはテストと開発の目的でのみ使用する必要があります。