(2025-07-09 10:43:19 отредактировано timzi)

Re: No private key is available -- это как?

думаю над вариантом, где получить хэш через signtool sign /dg, подписать его самописной тулзой/сервисом и вклеить обратно через signtool sign /di а потом уже дернуть signtool timestamp

Кажется, так работать не будет. Для подписи "в разрыв" нельзя применить /timestamp

Re: No private key is available -- это как?

timzi пишет:

Кажется, так работать не будет. Для подписи "в разрыв" нельзя применить /timestamp

timstamp можно делать отдельным шагом, для уже существующей подписи.
у меня и сейчас -- сначала подписывается без таймштампа, а потом в цикле перебираются урлы и выходим если успешный timestamp
просто иногда сервера показывают фигу, если превышен предел обращений за день/месяц или по велению левой пятки, и мне проще было сделать так.

в начале батничка

set URLS=
set URLS=%URLS% http://timestamp.digicert.com
set URLS=%URLS% http://rfc3161timestamp.globalsign.com/advanced
set URLS=%URLS% http://aatl-timestamp.globalsign.com/tsa/aohfewat2389535fnasgnlg5m23
set URLS=%URLS% http://timestamp.sectigo.com
set URLS=%URLS% http://timestamp.comodoca.com
set URLS=%URLS% http://tsa.mesign.com
set URLS=%URLS% http://tsa.startssl.com/rfc3161
set URLS=%URLS% http://freetsa.org/tsr
rem set URLS=%URLS% http://sha256timestamp.ws.symantec.com/sha256/timestamp
set URLS=%URLS% https://rfc3161.ai.moda/microsoft
set URLS=%URLS% https://ca.signfiles.com/tsa/get.aspx
set URLS=%URLS% http://services.globaltrustfinder.com/adss/tsa
set URLS=%URLS% http://timestamp.entrust.net/TSS/RFC3161sha2TS
set URLS=%URLS% http://timestamp.acs.microsoft.com
set URLS=%URLS% https://tsp.iaik.tugraz.at/tsp/TspRequest

а после наложения подписи

:signed
echo Signed, applying timestamp...

for %%U in (%URLS%) do (
  %SGN% timestamp /q /tr %%U /td sha256 %A%
  if %ERRORLEVEL% EQU 0 (
    echo Timestamped using %%U
    exit /b 0
  )
  echo ERRORLEVEL=%ERRORLEVEL% for %%U
)
echo Too many errors on timestamping, exiting
exit /b 1