環境構築

ここでは、次の証明書を生成・管理するための基本環境を構築します。

※少し設定を変更すれば、他の証明書も生成可能です。

Open SSL のインストール

次のコマンドを入力して Open SSL をインストールします。

apt install openssl

環境設定

証明書に関する各種ファイルやディレクトリを作成します。 どこに置いても良いですが、ここでは、 /var/lib/o

証明書(電子証明書)は、認証局により持ち主の情報が正しいことを証明するものです。 証明書は、次の手順で認証局に署名をしてもらうことで作成します。

#ref(): File not found: "証明書署名の流れ.png" at page "RaspberryPi/証明書/環境構築"

  1. 申請者は、「秘密鍵」と「公開鍵」をペアで作成します。*1
  2. 申請者は、公開鍵と申請者を識別する次のような情報を含む CSR を作成します。
    /C=国
    /ST=都道府県
    /L=市町村
    /O=組織
    /OU=部門
    /CN=コモンネーム
  3. 申請者は、作成したCSRを認証局に送付し、署名をしてもらいます。
  4. 認証局は、受け取ったCSRに次のような情報を追記し、認証局の秘密鍵を用いて署名します。
    署名した認証局の情報
    証明書の有効期限
    証明書の用途
    失効リストのURL
    OSCPサーバーの情報(URL)
  5. 認証局は、署名した公開鍵証明書を申請者に返却します。

サーバー証明書

サーバー証明書は、Webサーバーなどで利用される証明書で、 証明書の CN (コモンネーム) にサーバーの FQDN が入っています。

Webブラウザは、Webサーバーに接続する際、次の手順で証明書の整合性を確認します。

#ref(): File not found: "証明書のチェック.png" at page "RaspberryPi/証明書/環境構築"

<前提>

  1. Webブラウザは、あらかじめルート認証局の証明書が組み込まれています。*2

<整合性の確認>

  1. Webブラウザは、Webサーバーにアクセスします。
  2. Webサーバーは、サーバー証明書を返却します。*3
  3. Webブラウザーは、サーバー証明書の整合性を確認します。
    1. 証明書が失効されていないかは、CRLリストまたは、OCSPにて確認します。
    2. 認証局は階層になっており、下位認証局のCA証明書は、上位の認証局により署名されています。Webブラウザーは、署名元を階層的にたどり、最終的にブラウザーに組み込まれているCA証明書にたどり着くことができれば、信頼できると判断します。


*1 正確には、公開鍵は、秘密鍵よりいつでも生成できるので、同時に作成しなくても問題ありません。
*2 ブラウザーではなく、OSで証明書をまとめて管理している場合もあります。
*3 この時、上位認証局のCA証明書も一緒に返される場合があります。
トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS