Shammer's Philosophy

My private adversaria

X509証明書項目-秘密鍵利用期間(PrivateKeyUsage)

説明(書籍から一部引用)

デジタル署名鍵を使用する際、秘密鍵の有効期間が証明書の有効期間と異なる場合があります。署名を生成する秘密鍵が有効でなくなり使えなくなったずっと後で、証明された公開鍵を使用してデジタル署名を検証しなければならないことはよくあります。PrivateKeyUsage拡張領域には常に非クリティカルの印がつけられます。
秘密鍵には有効期間があります。この有効期間はデジタル署名を生成するために秘密鍵が使用できる最初の日を示すnotBeforeフィールドと、秘密鍵が使用できる最後の日を示すnotAfterフィールドによって指定されます。この拡張領域の取り扱いと使用法はそれぞれのPKI集団によって異なるので、その集団のPKIポリシーとセキュリティポリシーにより定義されるべきものです。

OpenSSLの設定例

設定ファイルをgrepすると以下のようになっている。

# grep privateKeyUsage openssl.cnf 
# 

デフォルトでは定義すらされていないようだ。

個人的見解

証明書を意図的に短い有効期間で作成し(3日とか)、その証明書が無効になった後で再度同じ秘密鍵を使用して新しい証明書を作成する、とかいうような場合で、さらに秘密鍵の有効期間を定義したい、というような場合に使用するのだろうか。正直、こういうことをしようなんて思ったこともない。検証目的でCAを立てるのと実運用でCAを立てる際には考えないといけない点はやっぱり違うんだろうな。