Как проверить, что отметка времени выполнена правильно для подписанного кода - PullRequest
11 голосов
/ 06 февраля 2010

Я только что получил сертификат подписи кода от StartSSL и пытаюсь подписать наш установщик.

Процесс подписания проходит хорошо, и я получаю exe-программу установки, которая больше не жалуется на Windows от неизвестного издателя. Это здорово!

Однако я попытался убедиться, что отметка времени также работает так, как объявлено, поэтому я перенес дату своего ПК на 2012 год, после даты истечения срока действия сертификата для подписи кода.

Это предположительно не должно иметь никакого значения, но когда я запускаю ту же самую программу установки exe, я теперь получаю то же самое неприятное предупреждение "неизвестного издателя".

Глядя на свойства exe-файла на вкладке «Цифровые подписи», я определенно вижу, что метка времени показывает сегодня (2010 г.), но, похоже, это совсем не помогает.

Google не дал мне ничего, кроме того, что если вы видите дату в поле Timestamp, то все в порядке. Я не могу поверить в это, мой компьютер с продвинутой датой жалуется, что это не в порядке.

Кто-нибудь знает, работает ли эта концепция отметок времени и как убедиться, что я правильно подписываю исполняемый файл?

Спасибо.

Ответы [ 3 ]

8 голосов
/ 08 февраля 2010

Сертификаты для подписи кода, выпущенные StartSSL, содержат атрибут расширенного использования ключа (EKU) «Lifetime Signing» (1.3.6.1.4.1.311.10.3.13), который приводит к истечению срока действия подписи файла, когда истекает срок действия сертификата, независимо от любые отметки времени.

2 голосов
/ 07 февраля 2010

Извините, у меня нет ответа для вас, но похоже, что вы не должны видеть поведение, которое вы наблюдаете, в соответствии с FAQ по мгновенному SSL Comodo .

Является ли код с меткой времени действительным после Сертификат подписи кода истекает?
Отметка времени обеспечивает этот код не истечет, когда Срок действия сертификата истекает. Если ваш код отметка времени цифровая подпись действителен, хотя сертификат имеет истекший. Только новый сертификат необходимо, если вы хотите подписать дополнительный код Если вы не использовали опция отметки времени во время подписывая, вы должны переподписать свой код и повторно отправьте его своим клиентам.

Комодо, кажется, авторитетен в этом вопросе, поэтому я склонен верить в то, что они говорят.

Я с нетерпением жду ответа на этот вопрос сам, потому что я очень хотел бы купить сертификат подписи кода от StartSSL самостоятельно. Я заметил на их сайте, что сертификаты кода являются «бета», так что, возможно, это то, что им нужно, чтобы получить изломы.

0 голосов
/ 07 февраля 2010

Существует разница между «временем подписания» и отметкой времени «подписывающего лица». Время подписи - это время, когда вы действительно подписали код, когда отметка времени получена от «подписывающего лица» (сервера сертификатов).

Подписание с отметкой времени издателя сертификата фактически гарантирует, что ваша подпись все еще действительна, даже если ваш сертификат уже истек.

...