これまでのところ明確です:コード署名証明書自体の有効期限が切れると、タイムスタンプで署名された場合に備えて、署名されたコードが検証/受け入れられます。そうでない場合、署名されたコードも期限切れになります。
しかし、私のCA自体が期限切れになった場合はどうなりますか(ルートCA、つまり発行CA)。
しかし、私のCA自体が期限切れになった場合はどうなりますか(ルートCA、つまり発行CA)。
文字通り、何も。それについてもう少し詳しく説明しましょう。
署名にタイムスタンプが付けられていない場合、署名は次の条件を満たす限り有効です。
署名証明書の有効期限が切れた、失効した、または何らかの方法で無効になった場合、署名は無効と見なされます。簡潔でシンプル。
デジタル署名のタイムスタンプの目的は、署名されたコンテンツの信頼を拡張することです。署名証明書は短期間有効であり、基本的な信頼設定は長期間の(おそらくアーカイブされた)署名には適していません。通常(タイムスタンプなし)、署名証明書が更新されるたびに署名を再作成する必要があります。それはどこにも行かない方法です。
タイムスタンプをデジタル署名に追加すると、信頼条件が次のリストに変更されます。
ここでの変更点:署名は、関連する証明書の有効期限が切れた後も有効のままです。つまり、署名とタイムスタンプ証明書のチェーン全体が(ルート証明書とともに)期限切れになる可能性があり、信頼を失うことはありません。チェーン内の証明書は取り消すことができます。唯一の要件:証明書が失効した場合、失効時間(CRLから取得)は、署名の作成後の時間に設定する必要があります(署名時間はタイムスタンプによって識別されます)。前の文は、どちらの証明書も署名時に取り消されなかったことを証明するために、署名されたCRLが必要であることを意味します。
これが、最近のWindowsシステムが古くなって期限切れのルート証明書を出荷する理由です。それらは古い署名を検証するために引き続き使用され、タイムスタンプが付けられます。
しばらく前に私はこの件についてより詳細に説明するブログ投稿を書きました: デジタル署名とタイムスタンプ