今回は Active Directory 証明書サービス (サーバー側)が安全であることをクライアントに登録する手順を記載します。 あらかじめ、証明書サービス の ルート証明書 が出力され、手元に cerファイル がある前提で進めます。
※Active Directory 証明書サービス の ルート証明書 発行手順は こちら 。
ウィザード を利用した インポート
-
証明書ファイル を ダブルクリック
-
「証明書のインストール」を選択
-
[ローカル コンピューター] を選択して「次へ」を選択
-
[証明書をすべて次のストアに配置する] を選択して「参照」を選択
-
[信頼されたルート証明機関] を選択して「OK」を選択
-
[証明書ストア] に "信頼されたルート証明機関" が入力されていることを確認して「次へ」を選択
-
「完了」を選択
-
「OK」を選択
コマンド を利用した インポート
rootcert.cer という名前のファイルに含まれる証明書を ローカルコンピューター の ルート証明書ストア に追加するコマンドを次に示します。 コマンドプロンプトは管理者で起動して、以下のコマンドを実行します。
コマンド サンプル
certutil -addstore ROOT rootcert.cer
コマンド オプション
使用法: CertUtil [オプション] -addstore 証明書ストア名 入力ファイル 証明書をストアに追加します CertificateStoreName -- 証明書ストア名です。See -ストアを参照してください。 InFile -- ストアに追加する証明書 CRL ファイルです。 オプション: -f -- 強制的に上書きします -enterprise -- ローカル コンピューター エンタープライズ レジストリ証明書ストアを使用します -user -- HKEY_CURRENT_USER キーまたは証明書ストアを使用します -GroupPolicy -- グループ ポリシー証明書ストアを使用する -Unicode -- リダイレクトされた出力を Unicode として書き込む -gmt -- 時刻を GMT で表示します -seconds -- 時間を秒とミリ秒で表示します -v -- メッセージを詳細に表示します -privatekey -- パスワードと秘密キーのデータを表示します -pin PIN -- スマート カードの暗証番号 (PIN) -dc DC 名 -- 特定のドメイン コントローラーを対象にします -sid WELL_KNOWN_SID_TYPE -- 数値 SID 22 -- ローカル システム 23 -- ネットワーク サービス 24 -- ローカル サービス
プログラム による インポート
コンソール アプリケーション(C#) でインストールする場合のサンプルコードを記載します。
サンプルコード
namespace CertInstaller { using System; using System.Security.Cryptography.X509Certificates; class Program { static void Main(string[] args) { try { // 証明書ファイルへの絶対パス var filename = args[0]; // 証明書のインスタンスを生成 var cert = new X509Certificate2(filename); // 証明書ストアのインスタンスを生成 var store = new X509Store(StoreName.TrustedPublisher, StoreLocation.LocalMachine); // 証明書ストアを開き、証明書を追加する store.Open(OpenFlags.ReadWrite); store.Add(cert); store.Close(); } catch (Exception exception) { Console.WriteLine(exception.Message); } } } }
[おまけ] 正しくインポートされたことの確認
証明書が正しくインポートされたかどうかの確認は、Microsoft 管理コンソール(mmc) に 「証明書」スナップイン を追加して行います。 ここでは、「証明書」スナップインの追加から確認に至るまでを記載しています。
-
[スタート]メニュー から「ファイル名を指定して実行」を選択
-
"mmc" を入力して「OK」を選択
-
[ファイル]-[スナップインの追加と削除] を選択
-
利用できるスナップインから[証明書]を選択し、「追加」を選択
-
[コンピューター アカウント] を選択し、「次へ」を選択
-
「完了」を選択
-
「OK」を選択
-
[コンソール ルート]-[証明書(ローカル コンピューター)]-[信頼されたルート証明機関]-[証明書]と展開
-
一覧にインポートした証明書があることを確認
関連記事
- IIS で SSL/TLS を 自己署名入り証明書 で 設定 する方法
- Windows Servier 2012 で 証明書サービス(認証局) の 構築
- Active Directory 証明書サービス(AD CA) の ルート証明書 を エクスポート する 方法
- IIS で SSL/TLS を AD CA 発行の証明書 で 設定 する方法
参考記事
- Soliton Lounge(ソリトンラウンジ) - Windows 7 に電子証明書をインポートする方法 ~コマンドライン(CertUtil)編~
- Windowsコマンド集 - certutil
- MSDN - Certmgr.exe (証明書マネージャー ツール)
- @IT - プログラムでデジタル証明書をインストールするには?
最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!