Iconshock - http://www.iconshock.com |
SSL証明書は 「オレオレ証明書」 ばかり使っていた snicker_jp です。
きっかけ
ワイルドカードのSSLサーバー証明書をLinuxで作ったものをIISに適用するのに、ハマったので手順をメモしておきたいと思います。
前提条件
キーファイル、CSRの作成された環境
- OSは 「Linux」
- 作成ツールは 「OpenSSL」
※CSR・・・Certificate Signing Request
サーバー証明書を適用するWebサーバー
- OSは 「Windows Server」
- Webアプリケーションサーバーは 「IIS 6」
「サーバー証明書」について
- 「サーバー証明書」は「第三者機関に発行してもらったもの」とします
IISの「SSLサーバー証明書」適用手順 動作仕様
「IIS 6」は、
- 自ら発行した「キーファイル」しいては「CSR」を使う方法
- Windows他システムに適用された「サーバー証明書」を使う方法
- Linuxを含む他システムで発行された「キーファイル」しいては「CSR」を使う方法
では、適用手順が異なっていたんです。(知らなかった!><)
今回は
- Linuxを含む他システムで発行された「キーファイル」しいては「CSR」を使う方法
に焦点をあてた内容です。
流れ
Linuxサーバー(OpenSSLがあればWindowsでも可)
- OpenSSLで「PKCS#12証明書ファイル」をエクスポート生成する
Windowsサーバー
- 「中間証明書」をインポートする (Optional)
- CSRを削除する (Optional)
- 適用済みの「証明書」を削除する (Optional)
- 「PKCS#12証明書ファイル」をインポートする
手順
OpenSSLで「PKCS#12証明書ファイル」をエクスポート生成する
必要なもの
- 第三者機関に発行された「SSLサーバー証明書」 (例:trust_server_name.crt)
- 自分で作成した「キーファイル」 (例:server_name.key)
コマンドで生成
openssl pkcs12 -export -in trust_server_name.crt -inkey server_name.key -out output_bundle.p12
注意
「エクスポートパスワード」は必ず設定しましょう!ヽ(`▽´)/(あとで必要になります!)
Enter Export Password: 設定する Verifying - Enter Export Password: 設定する
「中間証明書」をインポートする (Optional)
「中間証明書」をインポートするします。(インポート済みであれば手順を飛ばしてください)
例として「中間証明書」のファイルを「ICA-CA.crt」とします。 ダブルクリックします。
すると以下の画面が、表示されます。「証明書のインストール」をクリック!
すると以下の画面が、表示されます。「次へ」をクリック!
次は「証明書をすべて次のストアに配置する」を選択して「参照」をクリック!
すると以下の画面が、表示されます。順に
- 物理ストアを表示する
- 中間証明機関
- ローカルコンピュータ
を選んで「OK」をクリック!
「次へ」をクリック!
確認して「完了」をクリック!
この画面が出れば、成功です。
CSRを削除する (Optional)
すでに、適用済みの「証明書」を削除します。(適用されていなければ、手順を飛ばしてください)
「サーバー証明書」をクリック!
※以下のように、「保留中の証明書要求があります。....」状態だと、この手順が必要です。
「保留中の要求を削除する」を選択して「次へ」をクリック!
「次へ」をクリック!
以上で完了です!
適用済みの「証明書」を削除する (Optional)
※以下のように、「証明書の表示」がクリックできる状態だと、以下の作業が必要です。
「サーバー証明書」をクリック!
「選択されたサーバーに証明書がインストールされました。証明書ウィザード...」が出ていると思います。
確認して「次へ」をクリック!
「現在の証明書を削除する」を選択して「次へ」をクリック!
確認して「次へ」をクリック!
以上で削除は完了です!
「PKCS#12証明書ファイル」をインポートする
※厳密には「.p12」ファイルと「.pfx」ファイルは異なりますが、作業上便利なので、「.pfx」ファイルとして名前を付けます!
「証明書の表示」がクリックできない状態を確認して、
つぎに、
「サーバー証明書」をクリック!
「Webサーバーに証明書がインストールされていません。また...」と表示されているのを確認して「次へ」をクリック!
「pfxファイルから証明書のインポート」を選択して「次へ」をクリック!
「参照」から、pfxファイルを選択して「次へ」をクリック!
エクスポートのパスワードを入力して「次へ」をクリック!
「443」のまま「次へ」をクリック!
表示内容を確認して「次へ」をクリック!
以上で、完了です!
まとめ
- Apache以外のWebアプリケーションサーバーで「サーバー証明書」適用したことなかった~><あれ?でも、Azureの時にやったような?w
- ワイルドカード証明書でも手順は一緒です!
- ニッチなネタですが、お役に立てたなら幸いです!