Имам два сертификата за подписване на код (един SHA-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
Ако премахна URL адреса на клеймото за време от втората команда, подписването завършва успешно, но подписът SHA-2 няма клеймо за време. (Дали съм поставил времеви печат върху първия подпис няма ефект)
Намерението тук е да се позволи на някой да провери приложението с по-силния сертификат, ако е на операционна система, която поддържа това, но да се избегне неуспешно валидиране на операционни системи, които не поддържат по-силните сертификати (Vista, XP).
Възможно ли е изобщо такова нещо?
/td sha256 /tr ...
вместо/t ...
за втория подпис? - person Thomas Weller   schedule 04.02.2014