W jaki sposób można poprawnie podpisać kod ze znacznikiem czasu?

Mam dwa certyfikaty podpisywania kodu (jeden SHA-1, jeden SHA-256), które chciałbym zastosować do tego samego pliku. Próbowałem dołączyć certyfikat SHA-256, ale to się nie udaje:

:: 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

Ten błąd kończy się błędem:

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

Jeśli usunę adres URL znacznika czasu z drugiego polecenia, podpisywanie zakończy się pomyślnie, ale podpis SHA-2 nie ma znacznika czasu. (Bez względu na to, czy umieściłem sygnaturę czasową przy pierwszym podpisie)

Intencją jest umożliwienie komuś zweryfikowania aplikacji za pomocą silniejszego certyfikatu, jeśli są one w systemie operacyjnym, który to obsługuje, ale aby uniknąć niepowodzenia sprawdzania poprawności w systemach operacyjnych, które nie obsługują silniejszych certyfikatów (Vista, XP).

Czy tego rodzaju rzeczy są nawet możliwe?

questionAnswers(1)

yourAnswerToTheQuestion