よろづやアンテナ

ITから生活の参考になる情報を備忘録代わりに残していきます

WindowsServer2012 エンタープライズCAの証明書テンプレートの有効期限2年を延長する

Windows Server 2012 R2にて、証明書を発行したい場合は、認証局を構築することになります。


認証局を構築する場合、スタンドアロンCAとエンタープライズCAが選べますが、使いやすさを考えるとエンタープライズCAを選択することになります。


そして、エンタープライズCAを導入する場合、証明機関の有効期限に関して、知識が必要です。これを知らないと間違いなくトラブルを引き起こしますというか、ある意味、トラップなので注意が必要です。



Windows Server 2012 R2にて、エンタープライズCAをインストール後、サーバー証明書をテンプレートから作成し、例えば有効期限を「10年」で作成し、証明書を発行しても、サーバー証明書の有効期限は「2年」で発行されます。
※上記はルートCA(発行CA)の有効期限を10年に設定。
 

証明書テンプレートの有効期限を「10年」に設定したのに、「2年」で発行されるのには理由があります。


エンタープライズCAにおいて、証明書の有効期限を決める要素は以下の3つがあり、その中の最小値が適用されます。
 
①ルートCAの有効期限
②証明書テンプレートの有効期限
③CAがインストールされたサーバーのレジストリ


今回、③が原因で「2年」が適用されています。つまり、デフォルトではレジストリで設定されている値が「2年」であるということです。


場所は、レジストリエディタを開き、以下の場所に移動します。
 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration\
 

右画面の [ValidityPeriodUnits]の値をデフォルト値から任意の値に変更します。


変更後は、証明書サービスをWindows PowerShell コマンドを実行することで再起動できます。

restart-service certsvc
 
つまり、証明機関の有効期限とレジストリ値は同一にするのがいいと考えられます。これ、Windows Server 2003もなんですが、レジストリ変更が必要な仕様ってなんとかしてほしいですね。間違いなくトラブルの原因になりますから・・・。知らないと高確率でトラブルになります。