証明書の有効期限につきましては、下記の3点から、最も短いものが適用されます。
- レジストリ ValidityPeriod、ValidityPeriodUnits で設定される有効期間
- CA 証明書の有効期限
- 証明書テンプレートでの有効期限
例えば、20年以上の有効期限の証明書を発行する場合は、上記3点の有効期限をすべて20年以上で設定する必要があります。以下に、各有効期限の変更手順を記載いたします。
- レジストリ ValidityPeriod、ValidityPeriodUnits で設定される有効期間
=======================================
レジストリ ValidityPeriod、ValidityPeriodUnits で設定される有効期間について
以下のレジストリ値を変更します。
変更方法 :
1)ルート CA にて、以下のレジストリを設定します。
(※年数を変更する場合、ValidityPeriodUnits の値を変更します。)
キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<CA名
値 : ValidityPeriod
データ型 : REG_SZ
データ : Years (既定値)
値 : ValidityPeriodUnits
データ型: REG_DWORD
データ : 2 (既定値) → x にすることで x年となります。
2)証明書サービスを再起動するため、コマンド プロンプトで、以下のコマンド を実行します。
net stop certsvc
net start certsvc - CA 証明書の有効期限
=======================================
以下の手順でルートCA 証明書の有効期限を確認してください。
認証局 から発行される証明書の有効期限は、最長でも ルートCA 証明書の有効期限に制限されます。ルートCA 証明書の有効期限は以下の方法により確認できます。
1) ルート CA に Enterprise Admin グループに所属するアカウントでログオンします。
2) 管理ツールから、Microsoft 管理コンソール (MMC) の [証明機関] スナップインに移動します。
3) CA 名を右クリックし、[プロパティ] をクリックします。
4) [全般] タブから [証明書の表示] をクリックし、CA 証明書の有効期間を確認します。
ルートCA証明書の有効期限が短い場合は以下の手順で有効期間を延ばしたルートCA証明書に置き換えてください。
1)メモ帳等のテキスト エディターに以下を記載します。テキスト エディターのアイコンを右クリックし、[管理者として実行] を選択して開きます。新しい CA 証明書の有効期限は RenewalValidityPeriod に記載します。
ーーーーここからーーーー
[Version]
Signature= “$Windows NT$”
[certsrv_server]
RenewalValidityPeriod=20
RenewalValidityPeriodUnits=Years
ーーーーここまでーーーー
※今回の例では「RenewalValidityPeriod=20」として20年間有効なルートCA証明書としていますが、この部分の値を変更する事により有効期間の長いルートCA証明書の発行が可能となります。
2)上記で編集した内容を、 %SystemRoot%\CAPolicy.inf として保存します。
3)[管理ツール] – [証明機関] を開きます。
4)証明機関管理コンソールの左のコンソール ツリーより CA 名を右クリックし、
[すべてのタスク] – [CA 証明書の書き換え] を選択します。
5)証明書サービスを停止するか聞かれますので、 [はい] をクリックします。
6)証明するキー (秘密鍵) を書き換えるか聞かれますので、 [いいえ] を選択し、 [OK] をクリックします。 ※[はい]を選んでも特に問題はございません - 証明書テンプレートでの有効期限
=======================================
以下手順にて、該当の証明書テンプレートの有効期限を変更します。
1.「certtmpl.msc」 を起動します。(証明書テンプレートの MMC)
2. 修正したい証明書テンプレートを選択し、右クリックから「プロパティ」を選択します。
3.「全般」タブから、有効期間を設定したい期間を入力します。
4.「OK」ボタンをクリックします。