2014年6月4日水曜日

Certreq.exeで証明書を生成する

  • このエントリーをはてなブックマークに追加


久しぶりの投稿です。
今日は、certreq.exeコマンドで証明書要求を作成し、証明機関(CA)に送信し、証明書を要求する手順をご紹介します。
証明書の要求(登録)には、幾つか方法があります。
・Web登録ページ(例:http://certserver/certsrv)を使用して証明書を生成する
・mmcの証明書スナップインで「新しい証明書の要求」からCAに証明書を要求する。
・今日紹介するcertreq.exeで要求する。

ステップとしては、以下になります。
1、証明書テンプレートを確認する。
「サブジェクト名」で「要求に含まれる」をチェックする必要があります。
image
チェックされていない場合は、要求が失敗し、以下のエラーが表示されます。
証明書は発行されていません (拒否) ポリシー モジュールによって拒否されました DNS
名は利用できないのでサブジェクト代替名に追加できません。 0x8009480f (-2146875377)
証明書要求のプロセッサ: DNS 名は利用できないのでサブジェクト代替名に追加できませ
ん。 0x8009480f (-2146875377)
ポリシー モジュールによって拒否されました


2、証明書設定情報を保存する.infファイルを作成する。
参照情報はこちら Creating a RequestPolicy.inf file
[NewRequest]
Subject="cn=test.contoso.local"
Exportable=TRUE
KeyLength=4096
KeySpec=1
KeyUsage=0xf0
MachineKeySet=TRUE
[RequestAttributes]
CertificateTemplate=wss
[Extensions]
2.5.29.17="{text}"
_continue_ = "dns=test.contoso.com&"
_continue_ = "dns=www.contoso.com"
※注意
サブジェクトの別名の設定について、
Vista、7、Windows Server 2008、2008 R2の場合は、上記のように[Extensions]にサブジェクトの別名を指定します。
XP、Windows Server 2003、2003 R2の場合は、以下のように[RequestAttributes]に記述します。
[RequestAttributes]
SAN="dns=test.consoto.com&dns=www.contoso.com"

3、.infファイルから.reqファイルを生成する
certreq.exe -new -f .\cert.inf .\cert.req
image

4、.reqファイルをCAに送信し、証明書を生成する
certreq.exe -submit -q -f –config  <CA Name>  <req file>  <cer file>
image

発行された証明書は以下の様なかんじです。
image

certreq.exeを使って自動化できるので、かなり手間を省けると思います。

この記事がお役にたちましたらシェアをお願いします:)

  • このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿