COLUMN コラム

TOP > コラム > ADCSで大量の証明書を発行する方法【PowerShell対応】

ADCSで大量の証明書を発行する方法【PowerShell対応】

はじめに

弊社にてActiveDirectory証明書サービス(ADCS)を扱う機会がありました。

その際、多数のクライアント証明書を発行する必要が生じたため、クライアント証明書を作成・発行するためのコマンドについて調査を行いました。

その結果を整理してまとめています。

Active Directory Certificate Services(AD CS/ADCS)は、WindowsServerの役割としてPKI証明書の発行および管理を提供する機能です。

本記事では、ADCS環境においてクライアント証明書を発行する際に利用できるcertreqコマンド(.infファイルからの証明書要求作成、CAへの要求送信、応答の取得およびインストールなど)を用い、PowerShellベースで大量発行を行うための一連の手順を解説します。

※本手順を本番環境へ適用する際は、CA構成や証明書テンプレート、運用ポリシーなどの環境差分を踏まえ、事前検証を行うことを推奨します。

【本記事の想定対象】

・VPNや無線LAN認証用途で、クライアント証明書を一括発行したい場合

・手動での証明書発行・配布では運用が難しくなっている環境

・スタンドアロン CA構成での証明書発行手順を確認したい場合

ADCS証明書発行

本記事では、スタンドアロン CA構成を前提としています。
CAの構築手順や設計については環境要件により異なるため、本記事では割愛します。

「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

※CAの設定によっては、証明書要求は即時発行されず、スタンドアロン CA構成では既定で「保留」状態となり、管理者による承認が必要となる場合があります。


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をダブルクリックし端末にインポートする

RECRUIT 採用情報

ヤングライフプロポーサルでは、一緒にお客様の自由時間を創出してくれる仲間を募集します。

CONTACT お問い合わせ

事業内容や採用に関するお問合せは、こちらからお問合せください。

採用情報
お問合せ
PAGE TOP