ADCSにて大量の証明書を発行する方法
はじめに
弊社にてActive Directory 証明書サービス (ADCS)を扱う機会がありました。
そこで大量のクライアント証明書を発行する必要あり、クライアント証明書を作成するためのコマンドについて調査しましたので、その結果をまとめております。
皆様の参考になれば幸いです。
ADCS証明書発行
スタンドアロン CAは適当に検索したサイトで構築してOK
「YLP」を任意の値に置換すればとりあえず証明書作成までできる。
検証後に命名規則を変更するのがおすすめ。
★作業はすべてPowerShell実行
1.CSRのRequestファイル作成
手作業
ファイル名+拡張子:request_YLP.inf
==ここから==
[NewRequest]
Subject = “C=JP,ST=Tokyo,L=Chuo-ku,O=tsukiji,CN=YLP”
Exportable = TRUE
ExportableEncrypted = TRUE
KeyLength = 2048
HashAlgorithm = sha256
==ここまで==
2.CSRファイルの作成
①「request_YLP.inf」をADCSの任意のフォルダにコピーする
②コピー先のフォルダをPowerShellにて開く
③コマンド実行
certreq -new -f request_YLP.inf request_YLP.req
3.証明書要求の実施
certreq -config WIN-ADCS\YLP-CA –submit request_YLP.req request_YLP.cer
4.証明書要求の承認
certsrvにて全選択し証明書発行が可能
保留中の要求→証明書要求した「要求ID」を右クリックし、証明書の「発行」をクリックする

「発行」された証明書の確認

5.証明機関が証明書を発行した後に証明書を取得する
certreq -config WIN-ADCS\YLP-CA -retrieve <数字> clientcert_YLP.cer
「<数字>」は「発行した証明書」の要求IDに置き換える
6.発行された証明書の受け取り
certreq -accept clientcert_YLP.cer
7.Thumbprint(サムプリント:拇印)確認
Get-ChildItem -path Cert:\CurrentUser\My
以下結果が表示されるため「Thumbprint」の値をコピーする
~~~
PS C:\Users\Administrator> Get-ChildItem -path Cert:\CurrentUser\My
PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My
Thumbprint Subject
———- ——-
F355E499C9000000000000000000BFCC48706164 CN=YLP, O=tsukiji, L=Chuo-ku, S=Tokyo, C=JP
~~~
8.PFX形式でエクスポート
certutil-exportPFX -p “12345678” -user my “F355E499C9000000000000000000BFCC48706164” YLP.pfx
12345678=パスワード
F355E499C9000000000000000000BFCC48706164=Thumbprint
■端末側での操作
1.ルート証明書のインストール
certutil -user -addstore Root cacert-YLP-CA.cer
2.クライアント証明書のインストール
YLP.pfxをダブルクリックし端末にインポートする