5.5. 認証局
ネットワーク上のサービスに複数の自己署名証明書が必要な場合は、独自の内部証明書を設定する追加の努力をする価値があるかもしれません。 認証局 (CA)。 独自の CA によって署名された証明書を使用すると、その証明書を使用するさまざまなサービスが、同じ CA から発行された証明書を使用する他のサービスを簡単に信頼できるようになります。
1. まず、CA 証明書と関連ファイルを保持するディレクトリを作成します。
sudo mkdir /etc/ssl/CA
sudo mkdir /etc/ssl/newcerts
2. CA が動作するには、いくつかの追加ファイルが必要です。XNUMX つは CA が使用した最後のシリアル番号を追跡するため、各証明書には一意のシリアル番号が必要で、もう XNUMX つはどの証明書が発行されたかを記録するためのファイルです。
sudo sh -c "echo '01' > /etc/ssl/CA/serial" sudo touch /etc/ssl/CA/index.txt
3. XNUMX 番目のファイルは CA 構成ファイルです。 厳密には必須ではありませんが、複数の証明書を発行する場合に非常に便利です。 編集 /etc/ssl/openssl.cnf、そして [ CA_デフォルト ] 変更:
dir = /etc/ssl # すべてが保存される場所 database = $dir/CA/index.txt # データベースインデックスファイル。 certificate = $dir/certs/cacert.pem # CA 証明書
serial = $dir/CA/serial # 現在のシリアル番号 private_key = $dir/private/cakey.pem# 秘密キー
4. 次に、自己署名ルート証明書を作成します。
openssl req -new -x509 -extensions v3_ca -keyoutcakey.pem -out cacert.pem -days 3650
次に、証明書に関する詳細を入力するように求められます。
5. 次に、ルート証明書とキーをインストールします。
sudo mvcakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/
6. これで、証明書の署名を開始する準備が整いました。 最初に必要な項目は証明書署名要求 (CSR) です。セクション 5.2「証明書署名要求 (CSR) の生成」 [p. 199] を参照してください。 詳細は「XNUMX」を参照してください。 CSR を取得したら、次を入力して CA によって署名された証明書を生成します。
sudo openssl ca -in server.csr -config /etc/ssl/openssl.cnf
CA キーのパスワードを入力すると、証明書に署名し、新しい証明書をコミットするように求められます。 証明書の作成に関連した大量の出力が表示されるはずです。
7. 新しいファイルが作成されているはずです。 /etc/ssl/newcerts/01.pem、同じ出力が含まれます。 次の行で始まるすべてをコピーして貼り付けます。 -----証明書の開始----- そして次の行を続けます。 ----証明書終了----- 証明書がインストールされるサーバーのホスト名にちなんで名付けられたファイルに行を追加します。 例えば mail.example.com.crt、わかりやすい名前です。
後続の証明書には名前が付けられます 02.ペム, 03.ペム, etc.
交換する mail.example.com.crt 独自のわかりやすい名前を付けます。
8. 最後に、新しい証明書を必要とするホストにコピーし、それを使用するように適切なアプリケーションを構成します。 証明書をインストールするデフォルトの場所は次のとおりです。 / etc / ssl / certs。 これにより、過度に複雑なファイル権限を必要とせずに、複数のサービスが同じ証明書を使用できるようになります。
CA 証明書を使用するように構成できるアプリケーションの場合は、 /etc/ssl/certs/cacert.pem にファイル /etc/ssl/certs/ 各サーバー上のディレクトリ。