公開鍵基盤 (PKI) 構築 に関する まとめ

0 件のコメント

最近の Webサービス の流れとして HTTPS対応 が当たり前になってきたので、SSL/TLS化 を考えようと思ったのですが… 公開鍵関連はよく分からなくなるので、概要だけを本記事まとめました。

この記事では 公開鍵基盤 において環境構築に関する全体像をざっくりとつかみます。 その上で、具体的な手順は個別に関連記事へのリンクを掲載しているのでそちらを参照すると理解しやすくなっていると思います。

証明書ファイル形式

証明書ファイルは「 [規格] × [エンコード] 」の組み合わせで決まるようです。 以下に載せる拡張子は「エンコード形式」ベースで記載しているので、中身(規格)については考慮していません。 エンコード方法の違いなので、基本は相互に変換可能です。

拡張子 説明
.der DER (Distinguished Encoding Rules) で符号化された証明書。 ASN.1 で定義された BER (Basic Encoding Rules) と互換するバイナリ形式。
.pem Base64 で符号化された証明書。 -----BEGIN CERTIFICATE----------END CERTIFICATE----- で囲まれたテキスト形式。
.cer Windows において 証明書を示すコンテナ としての拡張子。 実体として中身は pem か der 。

CA構築 と ルート証明書登録

CAサーバー構築からクライアントにルート証明書登録するまでの概略です。

  1. CAサーバー構築

    • CAサーバー構築時には以下のような公開鍵と秘密鍵のペアを作成します。

      公開鍵
      ca_cert.pem
      秘密鍵
      ca_key.pem
    • 秘密鍵作成時、 CN には FQDN を指定します。

  2. クライアントにルート証明書登録

    • 公開鍵 ca_cert.pem の拡張子を書き換えて ca_cert.cer にして登録します。

関連記事

サーバー証明書要求作成 と 署名

CAサーバー構築が完了している前提で、SSL/TLS化 (HTTPS化) したいサーバーで 証明書要求(CSR) を作成するところから署名された公開鍵を登録するところまでの概略です。

  1. サーバー側で証明書要求 (CSR) 作成
    • SSL/TLS化したいサーバーで以下のような証明書要求(CSR) と 秘密鍵を作成します。

      証明書要求 (CSR)
      server_csr.pem
      秘密鍵
      server_key.pem
  2. CAサーバー側で証明書要求(CSR) に署名
    • 受領した証明書要求(CSR)に署名して公開鍵を作成します。
      公開鍵
      server_cert.pem
  3. サーバー側に公開鍵登録
    • 受領した署名済み公開鍵をWebサーバーに登録します。

関連記事

参考記事