WTD_LIFETIME_SIGNING_FLAG が設定された証明書に注意してください: これは、プログラムが変更されておらず、証明書が有効であったとしても、証明書の有効期限が切れた後は、証明書で署名されたプログラムが無効になることを意味します (名前から推測されますが)。署名された。
これは更新にも影響します。顧客が会社のすべてのプログラムを信頼するようにチェックボックスをオンにしても、更新プログラムが同じ証明書で署名されていない (またはその証明書の有効期限が切れている) 場合、信頼は失敗します。
から:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Authenticode_PE.docx
ライフタイム署名セマンティクスによるタイムスタンプ処理
タイムスタンプ付きの署名が無期限に正常に検証されることを望まないアプリケーションまたは証明機関には、次の 2 つのオプションがあります。
• 発行者の署名証明書に生涯署名者 OID を設定します。
発行者の署名証明書に、PKIX コード署名 OID に加えて生涯署名者 OID が含まれている場合、発行者の署名証明書の有効期限が切れると、署名にタイムスタンプが付けられていても、署名は無効になります。生涯の署名者 OID は次のように定義されます。
szOID_KP_LIFETIME_SIGNING 1.3.6.1.4.1.311.10.3.13
• WinVerifyTrust を呼び出すときに、WINTRUST_DATA 構造体に WTD_LIFETIME_SIGNING_FLAG を設定します。
WinVerifyTrust の呼び出し元が WINTRUST_DATA 構造に WTD_LIFETIME_SIGNING_FLAG を設定し、発行元の署名証明書の有効期限が切れている場合、WinVerifyTrust は、署名にタイムスタンプが付けられていても、署名が無効であると報告します。
パブリッシャーが生涯署名者 OID を含むコード署名証明書を失効させるか、WinVerifyTrust 呼び出し元が WINTRUST_DATA 構造体に WTD_LIFETIME_SIGNING_FLAG を設定した場合、WinVerifyTrust は次の両方の条件が満たされている場合に署名を有効であると報告します。
• 署名のタイムスタンプが失効日より前である。
• 署名証明書はまだ有効期間内です。有効期限が切れると、署名は無効になります。
例:
https://forum.startcom.org/viewtopic.php?f=15&t=2215&p=6827&hilit=lifetime+signing#p6827
これは、StartSSL 証明書の重大な問題です。それほど費用がかからない証明書に制限があることは驚くことではありませんが、この制限を製品の説明で明確にするのではなく、細かい活字や古いフォーラムの投稿に埋め込むことは、ビジネスとしては不十分です. 彼らは将来それを修正するかもしれませんし、他の人も同じ制限を持っているかもしれませんし、持っていないかもしれません.
誰が尋ねることを知らなかったと思いますか?笑...まあ、生きて学びましょう。