目次:
この記事では、opensslツールを使用して自己署名SSL証明書を作成する方法について説明します。
自己署名SSL証明書とは何ですか?
自己署名SSL証明書は、信頼できる認証局ではなく、作成者が署名した証明書です。 自己署名証明書は、信頼できるCA署名SSL証明書と同じレベルの暗号化を持つことができます。
任意のブラウザで有効であると認識された自己署名証明書。 自己署名証明書を使用している場合、WebブラウザーはWebサイトの証明書を検証できないという警告を訪問者に表示します。
自己署名証明書は、主にテスト目的または内部使用に使用されます。 インターネットに公開されている運用システムでは、自己署名証明書を使用しないでください。
前提条件
自己署名証明書を生成するには、opensslツールキットが必要です。
Linuxシステムにopensslパッケージがインストールされているかどうかを確認するには、ターミナルを開いて
openssl version
と入力し、Enterを押します。 パッケージがインストールされている場合、システムはOpenSSLバージョンを出力します。
システムにopensslパッケージがインストールされていない場合は、次のコマンドを実行してインストールできます。
-
UbuntuおよびDebian
sudo apt install openssl
CentosとFedora
sudo yum install openssl
自己署名SSL証明書の作成
新しい自己署名SSL証明書を作成するには、
openssl req
コマンドを使用します。
openssl req -newkey rsa:4096 \ -x509 \ -sha256 \ -days 3650 \ -nodes \ -out example.crt \ -keyout example.key
コマンドを分析して、各オプションの意味を理解しましょう。
-
-newkey rsa:4096
新しい証明書要求と4096ビットRSAキーを作成します。 デフォルトは2048ビットです。-x509
-X.509証明書を作成します。-sha256
ビットSHA(Secure Hash Algorithm)を使用します。-days 3650
証明書を認証する日数。 3650は10年です。 任意の正の整数を使用できます。-nodes
パスフレーズなしでキーを作成します。-out example.crt
新しく作成された証明書を書き込むファイル名を指定します。 任意のファイル名を指定できます。-keyout example.key
新しく作成された秘密鍵を書き込むファイル名を指定します。 任意のファイル名を指定できます。
openssl req
コマンドオプションの詳細については、OpenSSL reqドキュメントページをご覧ください。
Enterキーを押すと、コマンドは秘密キーを生成し、証明書の生成に使用する一連の質問をします。
Generating a RSA private key…………………………………………………………….++++……..++++ writing new private key to 'example.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----
要求された情報を入力し、Enterを押します。
Country Name (2 letter code):US State or Province Name (full name):Alabama Locality Name (eg, city):Montgomery Organization Name (eg, company):Linuxize Organizational Unit Name (eg, section):Marketing Common Name (eg server FQDN or YOUR name):linuxize.com Email Address:[email protected]
指定した場所に証明書と秘密キーが作成されます。 lsコマンドを使用して、ファイルが作成されたことを確認します。
ls
example.crt example.key
それでおしまい! 新しい自己署名SSL証明書が生成されました。
新しい証明書とキーを外部ストレージにバックアップすることをお勧めします。
プロンプトなしで自己署名SSL証明書を作成する
openssl req -newkey rsa:4096 \ -x509 \ -sha256 \ -days 3650 \ -nodes \ -out example.crt \ -keyout example.key \ -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key…………………………………………………………….++++……..++++ writing new private key to 'example.key' -----
-subj
行で指定されたフィールドは以下のとおりです。
-
C=
-国名。 2文字のISO略語。ST=
-州または県の名前。L=
-地域名。 あなたがいる都市の名前。O=
-組織のフルネーム。OU=
-組織単位。CN=
-完全修飾ドメイン名。
結論
このガイドでは、opensslツールを使用して自己署名SSL証明書を生成する方法を示しました。 証明書を取得したので、それを使用するようにアプリケーションを構成できます。
ご質問がある場合は、コメントをお気軽にお寄せください。
bashセキュリティ端末