Задача
Несмотря на то, что я не получаю ошибки в подробных командах SignTool ( manual ) в моем исполняемом файле Windows, временные метки перезаписываются, и я хочу, чтобы было несколько временных меток, возможно ли это?
- Если это возможно , то как?
- Если это невозможно , возможно, и мне нужно использовать только одну временную метку, то какой сервер вы бы порекомендовали в долгосрочной перспективе? ( DigiCert сейчас приходит мне в голову.)
Вот что я попробовал
Функция PowerShell
function sign32exe([string]$arg)
{
& 'C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe' sign /fd sha256 /a $arg
Start-Sleep -Seconds 5
& 'C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe' timestamp /tr http://timestamp.globalsign.com/?signature=sha2 /td sha256 /v $arg
Start-Sleep -Seconds 5
& 'C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe' timestamp /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /v $arg
Start-Sleep -Seconds 5
& 'C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe' timestamp /tr http://time.certum.pl /td sha256 /v $arg
}
Выход PowerShell
Я получаю положительный вывод от SignTool, но временные метки перезаписываются при каждом вызове (реструктурируются для лучшей читаемости):
Процесс подписания проходит хорошо:
Done Adding Additional Store
Successfully signed: .\my.exe
Далее следуют метки времени, которые по отдельности идут без проблем:
Successfully timestamped: .\my.exe
Number of files successfully timestamped: 1
Number of errors: 0
Successfully timestamped: .\my.exe
Number of files successfully timestamped: 1
Number of errors: 0
Successfully timestamped: .\my.exe
Number of files successfully timestamped: 1
Number of errors: 0
Изображение для слов
![only the last timestamp present](https://i.stack.imgur.com/wPsSj.png)
Обоснование
Сертификат, которым я владею, принадлежит органу Certum и называется Стандартная кодовая подпись . Поскольку он скоро истекает, я хотел бы убедиться, что мой исполняемый файл Windows не будет проблем после истечения срока действия моего сертификата подписи. Я думал, что больше временных отметок будет лучше, если один сервер станет недоступным во времени или служба остановится, например, это может означать, что полномочия Certum исчезнут, например.
Дополнительные детали
Мое идеальное решение должно решить вышеуказанную проблему:
путем отметки времени более чем с одним сервером; или
путем цитирования какого-либо достоверного источника о том, что это невозможно