12

同じファイルに適用したい 2 つのコード署名証明書 (1 つは SHA-1、もう 1 つは SHA-256) があります。SHA-256 証明書を追加しようとしましたが、失敗しました:

:: Signs with the SHA-1 certificate
signtool sign /sha1 8f52fa9db30525dfabb35b08bd1966693a30eccf /t http://timestamp.verisign.com/scripts/timestamp.dll my_app_here.exe
:: Signs with the SHA-2 certificate
signtool sign /sha1 8b0026ecbe5bf245993b26e164f02e1313579e47 /as /t http://timestamp.verisign.com/scripts/timestamp.dll my_app_here.exe

これはエラーで失敗します:

Done Adding Additional Store
SignTool Error: SignedCode::Sign returned error: 0x80070057
        The parameter is incorrect.
SignTool Error: An error occurred while attempting to sign: my_app_here.exe

2 番目のコマンドからタイムスタンプ URL を削除すると、署名は正常に完了しますが、SHA-2 署名にはタイムスタンプがありません。(最初の署名にタイムスタンプを付けるかどうかは関係ありません)

ここでの目的は、より強力な証明書をサポートしているオペレーティング システムを使用している場合は、より強力な証明書を使用してアプリを検証できるようにすることですが、より強力な証明書をサポートしていないオペレーティング システム (Vista、XP) では検証に失敗しないようにすることです。

このようなことは可能ですか?

4

1 に答える 1