it-swarm-ja.com

SHA-2コード署名の質問

何よりもまず、これは コード署名 での私の最初の経験です。

Certumからの標準コード署名 を3年間購入しました。

SHA-2 ベースです:

SHA-2 関数によって保護されています

それらはすべて正常です Windows実行可能ファイル ;ポータブルとインストーラーの両方のエンドユーザー向け。

質問:

  1. 証明書が発行されたことを念頭に置いて、2016年10月10日、つまり2016年1月1日以降、これは署名の動作に何らかの影響を及ぼしますか? SHA-1 の非推奨について読むために、これを尋ねます。例:

    2016年1月1日-InternetExplorerやChromeなどのMicrosoft製品は信頼を失います SHA-1コード署名 証明書( ソース

  2. タイムスタンプも必要ですか?これは何に適していますか?タイムスタンプの欠点はありますか?私はこれを見つけました、それは本当に物事をクリアしません:

    署名が(ドキュメントの作成者またはデータの作成者の信頼性を証明するために)長期間、つまり1日または数日より長く使用されることになっている場合は、タイムスタンプを使用する必要があります。 ( ソース

  3. XPおよびVistaのサポートを終了すると仮定すると、 SHA-2 コード署名はWindows 7で正しく機能しますか?DigiCertで SHA-2コード署名 Windows 7でのサポートは部分的です:

    詳細なOS互換性:Windows 7部分的( ソース

  4. クロス署名の周りには大混乱があります SHA-2 (特にSHA-256)と SHA-1 。私が言ったように、WinXPとVistaをサポートしなくなるとしたら、これは必要ですか?

3

証明書が発行されたことを念頭に置いて、2016年10月10日、つまり2016年1月1日以降、これは署名の動作に何らかの影響を及ぼしますか? SHA-1の非推奨について読むために、これを尋ねます。例:

いいえ、ありません。

タイムスタンプも必要ですか?これは何に適していますか?タイムスタンプの欠点はありますか?

タイムスタンプは、サードパーティによる[////]証明です署名が実際に特定の時間に作成されたものであり、単にコンピュータの時計を巻き戻した結果ではありません。

したがって、タイムスタンプの主な用途は、証明書の有効期限が切れる前、またはさらに重要なことに、証明書が取り消される前に署名が行われたことを証明することです。

たとえば、誰かの秘密署名キーが漏洩し、証明書が取り消された場合、これは通常、それを使用して作成された all 署名(過去および将来)が無効になることを意味します。ただし、タイムスタンプが付けられた署名は、失効前に作成されたことがわかっているため、引き続き有効である可能性があります。

WindowsのAuthenticodeでのSHA-1の非推奨もタイムスタンプを使用しているため、SHA-1を使用して署名された old プログラムは正しく署名されたものとして表示されますが、「」からのカットオフ後は誰も許可されません。 「バックデート」の新しい署名。

かなりの数の無料および公開のタイムスタンプ機関があるので、そうしない理由はありません。

XPおよびVistaのサポートを終了すると仮定すると、SHA-2コード署名はWindows 7で正しく機能しますか?

SHA-2(特にSHA-256)とSHA-1の相互署名には大混乱があります。私が言ったように、WinXPとVistaをサポートしなくなるとしたら、これは必要ですか?

最初に、SHA-1/SHA-2はいくつかのの場所に関係していることに注意してください–発行元のCAが証明書に署名するときに別々に使用されますおよび実際の実行可能ファイルに署名するとき(およびタイムスタンプ権限が your 署名に逆署名するときでも)。言い換えれば、署名のチェーンがあり、それらのすべてが独自のハッシュを持っています。

証明書の署名が実行可能ファイルの署名とは異なるコードで検証される可能性もあり、一方はSHA-2をサポートし、もう一方はサポートしません。

したがって、実際の状況では、Windows XP SP3はSHA-2を使用して署名された証明書を完全にサポートし、SHA-2を使用して署名された実行可能ファイルをサポートしないだけです。 。これは KB 9687 、また このTechNet投稿 で言及されています。

ただし、Authenticodeでは、同じ実行可能ファイルに複数の署名を追加できるため(別名デュアル署名またはネストされた署名)、SHA-1を使用できます。古いシステムの場合はベースの署名、新しいシステムの場合はSHA-2ベースの署名。

osslsigncodeを使用すると、最初に-h sha1でSHA-1署名を作成し、次に-nest -h sha256で再度実行してSHA-2署名を追加できます。同じことがsigntool sign /as /fd sha256 /td sha256(署名を追加)でも機能します。たとえば、 夜間のPuTTYビルド は二重署名されており、SHA-256署名付き証明書を使用しているにもかかわらず、すべてのWindowsバージョンで機能します。

(ここではXP SP2以前)は数えていません。

7
user1686