GNU/Linux >> Linux の 問題 >  >> Linux

自己署名SSL証明書の作成

この記事では、opensslを使用して自己署名SSL証明書を作成する方法について説明します。 ツール。

自己署名SSL証明書とは何ですか? #

自己署名SSL証明書は、信頼できる認証局ではなく、証明書を作成した人によって署名された証明書です。自己署名証明書は、信頼できるCA署名SSL証明書と同じレベルの暗号化を持つことができます。

Webブラウザーは、自己署名証明書を有効として認識しません。自己署名証明書を使用する場合、Webブラウザーは、Webサイト証明書を検証できないという警告を訪問者に表示します。

通常、自己署名証明書は、テスト目的または内部使用のために使用されます。インターネットに公開されている本番システムでは、自己署名証明書を使用しないでください。

前提条件#

自己署名証明書を生成するには、OpenSSLツールキットが必要です。

opensslかどうかを確認するには パッケージがLinuxシステムにインストールされている場合は、ターミナルを開き、openssl versionと入力します。 、Enterキーを押します。パッケージがインストールされている場合、システムはOpenSSLバージョンを出力します。そうでない場合は、openssl command not foundのようなものが表示されます。 。

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 -265ビットのSHA(セキュアハッシュアルゴリズム)を使用します。
  • -days 3650 -証​​明書を認証する日数。 3650は10年です。任意の正の整数を使用できます。
  • -nodes -パスフレーズなしでキーを作成します。
  • -out example.crt -新しく作成された証明書を書き込むファイル名を指定します。任意のファイル名を指定できます。
  • -keyout example.key -新しく作成された秘密鍵を書き込むファイル名を指定します。任意のファイル名を指定できます。

openssl reqの詳細については コマンドオプションについては、OpenSSLreqのドキュメントページにアクセスしてください。

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) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:linuxize.com
Email Address []:[email protected]

証明書と秘密鍵は、指定された場所に作成されます。 lsコマンドを使用して、ファイルが作成されたことを確認します。

ls
example.crt example.key

それでおしまい!新しい自己署名SSL証明書を生成しました。

新しい証明書とキーを外部ストレージにバックアップすることは常に良い考えです。

プロンプトなしで自己署名SSL証明書を作成する#

質問を求められずに自己署名SSL証明書を生成する場合は、-subjを使用します。 オプションを選択し、すべての件名情報を指定します:

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証明書を生成する方法を示しました。証明書を取得したので、それを使用するようにアプリケーションを構成できます。

ご不明な点がございましたら、お気軽にコメントをお寄せください。


Linux
  1. cPanelに自己署名SSL証明書をインストールする方法

  2. SSL証明書ブラウザエラー

  3. リモート証明書の確認 - MySQL

  1. Apache – * .local Ssl証明書を作成しますか?

  2. SSL証明書とは何ですか?

  3. SSL証明書をインストールする

  1. Plesk:SSLインストール

  2. SSL証明書を購入または更新する

  3. Curl:証明書の検証を無効にする