最近の 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サーバー構築からクライアントにルート証明書登録するまでの概略です。
-
CAサーバー構築
-
CAサーバー構築時には以下のような公開鍵と秘密鍵のペアを作成します。
- 公開鍵
- ca_cert.pem
- 秘密鍵
- ca_key.pem
-
秘密鍵作成時、 CN には FQDN を指定します。
-
クライアントにルート証明書登録
- 公開鍵 ca_cert.pem の拡張子を書き換えて ca_cert.cer にして登録します。
関連記事
- Windows Servier 2012 で 証明書サービス(認証局) の 構築
- Active Directory 証明書サービス(AD CA) の ルート証明書 を エクスポート する 方法
- 信頼されたルート証明機関 に 電子証明書 を インポート する方法
サーバー証明書要求作成 と 署名
CAサーバー構築が完了している前提で、SSL/TLS化 (HTTPS化) したいサーバーで 証明書要求(CSR) を作成するところから署名された公開鍵を登録するところまでの概略です。
- サーバー側で証明書要求 (CSR) 作成
-
SSL/TLS化したいサーバーで以下のような証明書要求(CSR) と 秘密鍵を作成します。
- 証明書要求 (CSR)
- server_csr.pem
- 秘密鍵
- server_key.pem
-
- CAサーバー側で証明書要求(CSR) に署名
- 受領した証明書要求(CSR)に署名して公開鍵を作成します。
- 公開鍵
- server_cert.pem
- 受領した証明書要求(CSR)に署名して公開鍵を作成します。
- サーバー側に公開鍵登録
- 受領した署名済み公開鍵をWebサーバーに登録します。
関連記事
参考記事
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!