powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
10 сообщений из 10, страница 1 из 1
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40065767
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Суть проблемы:
Для подписывания своих exe-шников использую Code Signing от Certum, валидный, естественно SHA256.
Последние лет 5 подписывал так (двумя подписями SHA1+SHA256):
Код: vbnet
1.
2.
signtool sign /a /ph /v /n "My Software" /ac crosscert.crt /t http://timestamp.verisign.com/scripts/timstamp.dll MyExe.exe
signtool sign /a /as /ph /v /n "My Software" /tr http://time.certum.pl /td sha256 /fd sha256 MyExe.exe



Со второй подписью SHA256 + TimeStamp SHA256 все понятно, все работает - вопросов нет.

Первая подпись SHA1 - для обратной совместимости с XP/Vista.

В конце 2020 все это подписывание еще работало, счас стал подписывать файлы для новой версии, но возникли проблемы.
Собственно, я их предполагал но сейчас не могу найти решение.

/t http://time.certum.pl - не использовал т.к с переходом на SHA256-сертификаты они тупо лепят штамп времени SHA256 и на XP имеем "Invalid algorithm specified"

/t http://timestamp.verisign.com/scripts/timstamp.dll
в прошлом году еще работал и сервер времени корректно подписывал сертификатом Symantec Time Stamping Services Signer - G4
сам сертификат был SHA1 и подпись SHA1 - как надо
который правда [действителен с 18.10.2012 по 30.12.2020], т.е. на настоящий момент издох.
Новый SHA1 видимо они не выпустили, и сервис также похоже сдох.
Пишет сейчас: SignTool Error: The specified timestamp server either could not be reached or returned an invalid response.

Надо еще объяснить про /ac crosscert.crt -скачан когда-то отсюда
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/cross-certificates-for-kernel-mode-code-signing
Вот этот: Certum Trusted Network CA Но опять же Expiration date 2021/04/15 (уже тоже сдох)
Зачем это использовал (еще со старым Certum, который был SHA1) - честно уже не помню,
возможно нужно было для подписывания драйвера очень давно, но строчка осталась.
Подозреваю для подписывания обычных exe-шников она погоды не делает, на описанную проблему никак не влияет (можно вообще убрать).

В общем я поигрался со списком других серверов времени:
https://gist.github.com/Manouchehri/fd754e402d98430243455713efada710

1 http://timestamp.globalsign.com/scripts/timstamp.dll
2 http://timestamp.globalsign.com/?signature=sha2
3 http://rfc3161timestamp.globalsign.com/advanced
4 https://timestamp.geotrust.com/tsa
5 http://timestamp.sectigo.com
6 http://timestamp.wosign.com
7 http://tsa.startssl.com/rfc3161
8 http://time.certum.pl
9 http://timestamp.digicert.com
10 https://freetsa.org
11 http://dse200.ncipher.com/TSS/HttpTspServer
12 http://tsa.safecreative.org
13 http://zeitstempel.dfn.de
14 https://ca.signfiles.com/tsa/get.aspx
15 http://services.globaltrustfinder.com/adss/tsa
16 https://tsp.iaik.tugraz.at/tsp/TspRequest
17 http://timestamp.apple.com/ts01
18 http://timestamp.entrust.net/TSS/RFC3161sha2TS
19 http://tsa.starfieldtech.com/

Ни один вариант проблемы не решил.

С опцией /t <адрес сервера времени>
1) Либо SignTool Error: The specified timestamp server either could not be reached or returned an invalid response.
2) Либо подписывает SHA256 (как в случае с /t http://time.certum.pl) "Invalid algorithm specified" на XP
3) получилось только с /t http://tsa.starfieldtech.com/ (сертификат времени SHA256 но подписал SHA1 как хотел), и на Win10 подпись выглядит прилично, но на XP опять облом: The timestamp signature and/or certificate could not be verified or is malformed

Опция /tr <адрес сервера времени>/td sha1 - иногда дает формальный результат, но на XP этот штамп времени по определению виден не будет.

Задача вообще в 2021г. решаемая, или бобик сдох, поезд ушел?
Т.е. реально есть такой живой сервер времени, который мне может поставить SHA1 штамп времени опцией /t?


Просто я свой софт формально поддерживаю для всех OS отXP до Win10 (не сложно мне это).
На XP это подписывание никогда реально не было нужно, но если брать Висту (хотя ясно, ее уже ни у кого не стоит),
то если формально, то там тоже надо SHA1 и окна "Непроверенный издатель" если не подписать выскакивать там будут.

Т.е. мне надо определиться,
то ли подписывать только SHA256 и иже с им (обидно(C)),
или таки копать дальше.

Некоторые выбирают сдаться:
Retirement of SHA-1 signing for McAfee content on January 1, 2021
End of Life for SHA-1 Code Signing
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40065789
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бобик (XP/2003) сдох уже давно, а вот поезд, да - ушёл буквально в прошлом году. Должен был уехать раньше, но работало too big to fail.

P.S.
Для Vista+ есть поддержка SHA256. Например .
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40066043
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Для Vista+ есть поддержка SHA256. Например .

На Win7 (во всяком случае на штатно обновленном) проблем нет, SHA256 подписи видятся и работают штатно.
На тестовой висте попробовал ради интереса установить
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4090450
Оно не встало, вроде установилось, но потом "Идет отмена обновлений/изменений", т.е не установилось.

Но суть не в этом, понятно что погуглив, потанцевав с бубнами на своих тестовых системах я м.б. заставлю и висту и XP/2003 видеть и работать с SHA256.
Но этим 200% не будет заниматься обычный юзер, который по какой-то причине фанат XP/2003/Vista/2008, хоть ему мануал пиши.
Поэтому это не решение.

Что касается "подписывать модули для работы в ядре ОС Windows" (драйвера),
об этом речь не идет, просто подписываю exe-шники,
поэтому кросс-сертификат /ac crosscert.crt наверно вообще тут лишний

Суть в том что SHA1 сервер времени /t http://timestamp.verisign.com/scripts/timstamp.dll сдох (вместе с его сертификатом),
единственная альтернатива от GoDaddy так понимаю http://tsa.starfieldtech.com/ системам XP/Vista неизвестна и доверенной не является (The timestamp signature and/or certificate could not be verified or is malformed), а другой рабочей альтернативы я не нашел.
Т.е подписать для XP/Vista чтоб они "из коробки" и без танцев с бубном видели красивую "цифровую подпись" заверенную time-штампом я более не могу.

Отказываться от первой (SHA1) подписи молча или с комментом? Работать программа на XP/Vista от этого не перестанет, единственный драйвер подписан крайний раз лет 7 назад, работает включая Win 10 исправно и изменений/перекомпиляций не планируется.
Визуально будет "Непроверенный издатель" при установке и запуске административных операций и только на Висте и Win2008 (без R2).
Честно, я сомневаюсь что у меня остались реальные пользователи этих OS. Один тут доставал как то года 2 тому назад, начал с вопроса о поддержке Win 2000, потом ковырялся у себя на Win2003, но кажется так и не купил.
Я эти OS как бы поддерживаю, но с комментом (но я то знаю что все OK до сих пор)
** Limited support. Some features may not work or work incorrectly. Windows XP, Windows Server 2003, Windows Vista, Windows 7 and Windows 8 are no longer supported by Microsoft.

или

Пытаться поискать еще рабочий timestamp сервер времени с SHA1? (Запрыгнуть в последний вагон последнего поезда который если вдруг и есть, то ясен пень идет в тупик на распил - вопрос не очень долгого времени).
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40066102
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77
Поэтому это не решение.
"Мир меняется. Я чувствую это в воде, я чувствую это в земле. Вот, уже и воздухе чем-то запахло".
У пользователя есть ровно два варианта:
1. Использовать более старые версии драйверов;
2. Обновить систему до актуального состояния.

P.S.
Пункт про последовательную установку на висту SP1 и SP2 вы проигнорировали или они у вас уже "закатаны"?
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40066105
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov

1. Использовать более старые версии драйверов;

С имеющимся драйвером у меня все в порядке, как написал выше. Подписан давно, к изменению не планируется.

Basil A. Sidorov

P.S.
Пункт про последовательную установку на висту SP1 и SP2 вы проигнорировали или они у вас уже "закатаны"?

Из дистрибутива SP2, да бог с ней.

Ну видимо придется ставить одну подпись SHA256. Я еще потыкался, но SHA1 timestamp корректного сервера так и не нагуглил. видимо их уже не осталось.
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40066113
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ставить одну подпись SHA256,
то на XP как бы еще "эстетическая" проблема вылазит.

Когда делал SHA1+SHA256, он на XP/Vista показывал только красивый SHA1, а SHA256 не показывал вообще.
А если только SHA256, то он его и показывает, без Timestamp, при этом с красным крестиком и текстом "This digital signature is not valid" ("The digital signature of the object did not verify").
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40066188
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче решил я этот вопрос, еще повоюем.
Проанализировал, как подписывают свои инсталляторы в 2021г производители софта (кто еще на плаву и лепит новые версии).
А как попало. Варианты такие:
1) вообще перестали подписывать, хотя раньше это делали
2) только SHA256, с этим ясно, как завещал MS
3) лепят SHA1+SHA256 но SHA1 проставлен абы было, т.е. time-сервера, штампуют SHA256 штамп времени поверх SHA1 подписи, при этом Comodo/Sectigo сейчас вообще штампует время SHA384 не глядя (лично проверял) - на XP/Vista этим SHA1 обеспечен "Invalid algorithm specified".

Но обратил внимание, что некоторые Comodo/Sectigo подписи от 19г. подписанные еще нормальным SHA1+штамп времени SHA1 на Win2003 могут не взлетать (отсутствует корневой сертификат центра авторизации).
XP/Vista старые, корневые сертификаты давно не обновлялись, корневого сертификата может не быть.
http://timestamp.verisign.com/scripts/timstamp.dll - он очень старый был, его все знали.

Дмитрий773) получилось только с /t http://tsa.starfieldtech.com/ (сертификат времени SHA256 но подписал SHA1 как хотел), и на Win10 подпись выглядит прилично, но на XP опять облом: The timestamp signature and/or certificate could not be verified or is malformed
https://www.starfieldtech.com/ -вот и он, поезд вне расписания, искомый рабочий TimeStamp сервер с поддержкой SHA-1. Win7-Win10 этот CA знают, XP/Vista - не успели получить инфу до окончания поддержки.

Что делаем:
1) подписываем так
Код: vbnet
1.
2.
signtool sign /a /ph /v /n "My Software" /ac crosscert.crt /t http://tsa.starfieldtech.com/ MyExe.exe
signtool sign /a /as /ph /v /n "My Software" /tr http://time.certum.pl /td sha256 /fd sha256 MyExe.exe


(/ac crosscert.crt наверно правильнее убрать, но он здесь погоды похоже вообще не делает)
2) Root-сертификат "Starfield Root Certificate Authority - G2" из Win10 экспортируем в файл starfield.cer
Этот файл пихаем в дистрибутив инсталлятора своей проги

3) Дальше инсталлятор продукта (запускаемый под админом) тупо ложит этот starfield.cer в "Доверенные корневые центры сертификации" целевой машины (для наглядности тестовый код под спойлером)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
Imports System.Security.Cryptography.X509Certificates

Public Class Form1

  Private Sub ButtonInstallCert_Click(sender As Object, e As EventArgs) Handles ButtonInstallCert.Click
    If IsWin7() = False Then
      Try : InstallCertificate(IO.Path.Combine(Application.StartupPath, "starfield.cer"), _
       Security.Cryptography.X509Certificates.StoreName.AuthRoot, Security.Cryptography.X509Certificates.StoreLocation.LocalMachine) : Catch : End Try
    Else
      MsgBox("OS >= Win7 No need!")
    End If
  End Sub

  Private Sub ButtonUninstallCert_Click(sender As Object, e As EventArgs) Handles ButtonUninstallCert.Click
    'test
    If IsWin7() = False Then
      Try : RemoveCertificateByHash("b51c067cee2b0c3df855ab2d92f4fe39d4e70f0e", _
       StoreName.AuthRoot, StoreLocation.LocalMachine) : Catch : End Try
    Else
      MsgBox("OS >= Win7 No need!")
    End If
  End Sub
End Class

Imports System.Security.Cryptography.X509Certificates

Module Module1

  Public Sub InstallCertificate(ByVal cerFileName As String, ByVal store_Name As StoreName, ByVal store_Location As StoreLocation)
    Dim certificate As X509Certificate2 = New X509Certificate2(cerFileName)
    Dim store As X509Store = New X509Store(store_Name, store_Location)
    store.Open(OpenFlags.ReadWrite)
    store.Add(certificate)
    store.Close()
  End Sub

  Public Sub RemoveCertificateByHash(ByVal hash As String, ByVal store_Name As StoreName, ByVal store_Location As StoreLocation)
    Dim store As X509Store = New X509Store(store_Name, store_Location)
    store.Open(OpenFlags.ReadWrite)
    Dim col As X509Certificate2Collection = store.Certificates.Find(X509FindType.FindByThumbprint, hash, False)
    store.RemoveRange(col)
    store.Close()
  End Sub

  Public Function IsWin7() As Boolean
    'returns True if running Win7 or later (NT >= 6.1)
    If Environment.OSVersion.Version.Major = 6 AndAlso Environment.OSVersion.Version.Minor >= 1 Then
      Return True
    ElseIf Environment.OSVersion.Version.Major > 6 Then
      Return True
    Else
      Return False
    End If
  End Function

End Module



Издержка, то что при запуске конкренто инсталлятора в первый раз (заметно это будет как правило только на Висте) он таки скажет "Непроверенный издатель" но только один раз из-за отсутствия этого самого рут-сертификата для штампа времени в хранилище. Но я и раньше этот фокус делал с тем же своим certum, потому как та же виста и certum-root не всегда находит.

Задачу решил (надолго ли).
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40073995
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://tsa.starfieldtech.com Неужели и он издох? А я даже не успел свою новую версию допилить, не все доделано и не все подписано. Стоко усилий.
Здесь вот коммент внизу:

Elbaan commented May 27, 2021 http://tsa.starfieldtech.com is no longer available

https://www.secureserver.net/help/what-if-i-notice-a-problem-with-an-ssl-or-code-signing-certificate-6798?prog_id=504762&locale=en&pl_id=504762

Не подписывает, по http страничка не доступна.
Хотя google еще помнит:
http://webcache.googleusercontent.com/search?q=cache:lyWqeUSiomUJ:tsa.starfieldtech.com/ &cd=2&hl=ru&ct=clnk&gl=ru

М.б. конечно еще взвизгнет заработает...
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40081820
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я только-что подписал с помощью:
Код: sql
1.
%SelfPath%\signtool.exe sign /v /p xxxxxxxxxxxxxxx /f %SelfPath%\Cert\xxxxxxCodeSign_CA.pfx /fd sha1 /tr http://timestamp.comodoca.com/?td=sha1 /td sha1 %1
...
Рейтинг: 0 / 0
Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
    #40081825
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__
Я только-что подписал с помощью:
Код: sql
1.
%SelfPath%\signtool.exe sign /v /p xxxxxxxxxxxxxxx /f %SelfPath%\Cert\xxxxxxCodeSign_CA.pfx /fd sha1 /tr http://timestamp.comodoca.com/?td=sha1 /td sha1 %1



А не, не подписался.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Рабочих TimeStamp серверов SHA-1 (цифровая подпись для XP/Vista) уже не осталось нигде?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]