9

デジタル署名された実行可能ファイルを実行すると、非常に奇妙な結果が得られます。

実行可能ファイルは、適切なレベル 2 コード署名証明書 (自己生成ではない) を使用して、signtool.exe を使用して署名されました。

Windows 7 マシンでのテストで、署名済みの実行可能ファイルを起動すると、Windows の警告ダイアログが表示され、Publisher Unknown (つまり、署名されていません) というメッセージが表示されます。

ただし、実行可能ファイルをキャンセルして右クリックし、[プロパティ] -> [デジタル署名] に移動すると、署名リストに署名付き証明書が表示されます。これをクリックして [詳細] を選択すると、署名の詳細が表示されます。 「デジタル署名はOKです」と表示されます。

その時点で、実行可能ファイルを起動すると、突然すべてのウィンドウが実行可能ファイルが署名されていることを正しく認識し、正しい「検証済み発行元」を報告します。

実行可能ファイルのプロパティ ダイアログから実際の証明書の詳細を表示するまで、Windows が証明書をオンラインでチェックしていなかったようです (実行可能ファイルを起動した後の単なる遅延ではなく、どれだけ待つかは関係ありません)。または何回起動しても、ファイルのプロパティ/デジタル署名に入るまで、署名されていないものとして扱われます)。

これは、私がテストに使用する一般的な Windows 7 のインストールです。まったく変更も調整もされていません。

この動作は、Windows でのコード署名の主な目的を無効にしているようです。ユーザーが右クリックのプロパティに移動して証明書を探し回らない限り、実行可能ファイルが署名されていないものとして扱われることはあり得ません。

足りないものはありますか?実行可能ファイルを、Windows が実行時に証明書を積極的にチェックする必要があるものとしてマークする方法はありますか?

4

1 に答える 1

1

ほとんどの場合、何らかの理由 (接続の問題など) で OCSP 失効を自動的にチェックできませんでした。問題を絞り込むには、より多くのシステムでテストを実行する必要があります。

于 2010-12-09T07:46:17.383 に答える