WindowsがAuthenticode署名をチェックする方法に興味があります。
たとえば、test.exeに署名します
Test.exeにTSA(タイムスタンプ認証局)からのTS(タイムスタンプ)署名がない場合、署名は証明書のNotAfter日時後に期限切れになることを知っています。
Test.exeに有効なTS署名を含むAuthenticode署名がある場合、この署名はTS証明書の有効期限が切れた後に期限切れになると信じていました。
しかし、それは私が間違っているようです...古いコンピューターを掃除しているときに、PlantsVsZombie!(⊙o⊙)を見つけました!メインファイルは here からダウンロードできます(わかりません)このリンクをいつまで使用できるようにしておくことができます...)
署名証明書の有効期限は2012/9/21で、タイムスタンプ証明書の有効期限は2012/6/15です。これら2つの証明書はどちらも現在有効期限が切れています。ただし、驚くべきことに、その署名はまだ有効です(PowershellコマンドGet-AuthenticodeSignatureを使用して確認し、attributes-Signatureタブから表示)
次に、タイムスタンプ付きの署名は期限切れになりますか?もしそうなら、いつですか?
WindowsがAuthenticode署名をチェックする方法に興味があります
MicrosoftのAuthenticodeは、他のデジタル証明書検証プロセスと同様にPKIに基づくメカニズムです。
タイムスタンプの場合、証明書が有効である限り、署名は有効です。それ以外の場合は、証明書が期限切れになったときに期限切れになります。
から DigiCert :
タイムスタンプにより、システムがタイムスタンプを検証するため、証明書が期限切れになったときにコードが期限切れにならないことが保証されます。コードの署名時にタイムスタンプサービスを使用すると、コードのハッシュがタイムスタンプサーバーに送信され、コードのタイムスタンプが記録されます。ユーザーのソフトウェアは、信頼されるべきではない期限切れの証明書で署名されたコードと、コードの署名時に有効であったがその後期限切れになった証明書で署名されたコードを区別できます。