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

В 2014 году я купил у StartSSL сертификат подписи кода второго класса, который я использовал для цифровой подписи своих двоичных файлов. Срок действия этого сертификата только что истек, и я на самом деле пытаюсь получить новый. Однако в несвязанном инциденте я запустил одну из моих подписанных программ установки на виртуальной машине и был несколько... раздражен... когда Windows вывела вариант «Непроверенный издатель» в диалоговом окне UAC.

Когда я просматриваю свойства цифровой подписи, я вижу это:

Что за черт

Конечно срок действия сертификата истек, но почему файл (который был подписан в течение срока действия) вдруг непроверенный? Я не видел, чтобы это происходило с другим программным обеспечением, например, если я смотрю на старую подписанную копию установки Office 2003, которая не жалуется на недействительную подпись и срок действия истек десять лет назад.

Все еще действует

Почему это? Честно говоря, мне сейчас интересно, в чем смысл покупки сертификата в первую очередь, и я серьезно рассматриваю возможность отмены замены в процессе. Кажется бессмысленным, когда они обесценивают себя. Или это разница между 2 и 3 классом? (Класс 3 - это версия, которую я сейчас пытаюсь заполучить)


person Richard Moss    schedule 01.01.2017    source источник
comment
Возможно, это объясняет это? Обновление: не все сертификаты издателя позволяют разрешать отметку времени для обеспечения неограниченного срока действия. Если сертификат подписи издателя содержит пожизненный OID подписавшего (OID_KP_LIFETIME_SIGNING 1.3.6.1.4.1.311.10.3.13), подпись становится недействительной по истечении срока действия сертификата подписи издателя, даже если подпись имеет отметку времени.   -  person Harry Johnston    schedule 02.01.2017
comment
Гарри, спасибо за этот комментарий. На самом деле это кажется ответом (сертификат имеет флаги расширенного использования ключа для подписи кода (1.3.6.1.5.5.7.3.3) и Lifetime Signing (1.3.6.1.4.1.311.10.3.13), в то время как более старый сертификат Comodo У меня не было флагов расширенного использования, и, похоже, срок их действия не истек). Если вы хотите добавить это как ответ, я могу отметить его, в противном случае я добавлю его сам с несколькими скриншотами. Еще раз спасибо!   -  person Richard Moss    schedule 02.01.2017


Ответы (1)


По-видимому, это специальное ограничение для некоторых сертификатов для подписи кода, как описано в первой сноске к сообщению в блоге Microsoft, Все, что вам нужно знать о подписи кода Authenticode:

Не для всех сертификатов издателя разрешена отметка времени для обеспечения неограниченного срока действия. Если сертификат подписи издателя содержит пожизненный OID подписавшего (OID_KP_LIFETIME_SIGNING 1.3.6.1.4.1.311.10.3.13), подпись становится недействительной по истечении срока действия сертификата подписи издателя, даже если подпись имеет отметку времени. Это должно освободить центр сертификации от бремени ведения списков отзыва (CRL, OCSP) на неограниченный срок.

Вы можете проверить, будет ли замещающий сертификат иметь такое же ограничение, и, возможно, рассмотреть альтернативного поставщика.

person Harry Johnston    schedule 02.01.2017
comment
Я уже решил больше не использовать StartSSL в качестве поставщика, учитывая их недавние проблемы, и в настоящее время нахожусь в процессе получения сертификата Comodo (хотя и не без сомнений, изначально у меня был сертификат Comodo в 2013 году, и это было очень неприятный опыт, лично для меня они предоставляют самый ужасный сервис на планете) а другие провайдеры довольно дорогие. Даже с сертификатами вы, кажется, получаете то, за что платите, я просто хотел бы знать об этом заранее, тогда я бы вообще не беспокоился о StartSSL. По крайней мере, теперь я знаю. - person Richard Moss; 02.01.2017