今回は 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 の フォロー」 お願いします!!
















