У меня есть этот исполняемый файл, написанный на vb.Net и скомпилированный для исполняемого файла Windows для .NET Framework 2.0. Поскольку мы используем программное обеспечение белый список, чтобы предотвратить неизвестное программное обеспечение на наших клиентов Windows, этот исполняемый strongnamed и подписываются с использованием Visual Studio 2008 Professional workflow:Почему подпись в моем исполняемом файле все еще действительна?
<SignFile
CertificateThumbprint="1f 6c ... 33 b2"
SigningTarget="$(TargetPath)"
TimestampUrl="http://timestamp.verisign.com/scripts/timstamp.dll"
ContinueOnError="false"
/>
Для этого мы проводим корпоративный ROOTCA, промежуточный ЦС для каждого корпоративного отделения и ниже каждого из них выдающий ЦС. «Мой» выдающий CA предоставил мне кодовое удостоверение, срок действия которого истек пару месяцев назад.
Поскольку в моем рабочем процессе я использовал Trusted Timestamp (Authenticode), подпись была/по-прежнему действительна при проверке ее свойств файла, пользователи все равно могут ее выполнить, не запуская Windows AppBlocker. Все хорошо.
Теперь, мне сказали, что мой сертификат отменен, и я могу проверить его, посмотрев на crl. По мнению руководства CA, он должен был быть недействительным в течение месяца, но подпись все еще действительна.
Serial Number: 16C40CA0000000002A60
Revocation Date: Aug 10 06:18:00 2015 GMT
CRL entry extensions:
X509v3 CRL Reason Code:
Cessation Of Operation
Я считаю, что причина, данная в crl, вызывает это. Согласно RFC 3161, § 4 пуля 1:
Когда TSA не будет больше использоваться, но закрытый ключ TSA не имеет скомпрометирован, сертификат органа должен быть отменен. В случае, когда расширение reasonCode относительно отозванного сертификата от TSA присутствует в расширениях входа CRL, оно ДОЛЖНО быть установлено либо неуказанным (0), присоединением (3), замененным (4), либо прекращением действия (5). В этом случае в любом будущем токены , подписанные с соответствующим ключом, будут считаться недействительными, но токены, сгенерированные до истечения времени отзыва, останутся действительными. Когда расширение reasonCode относительно отозванного сертификата из TSA отсутствует в расширениях CRL, , тогда все токены, которые были подписаны с соответствующим ключом , будут считаться недействительными. По этой причине рекомендуется использовать расширение reasonCode для .
Так что мой вопрос/проблема состоит из:
- ли RFC 3161 также применяется к CodeSigning или ВСТ сертификаты только?
- Если да, то подписи все еще действительны, если они сделаны до отзыва с основанием 5 CessationOfOperation?
- Если да, сертификаты can/should могут быть отозваны повторно по другой причине, если обнаружены скомпрометированные после истечения срока его действия? Там могут быть сотни достоверных подписей!
Чтобы немного устранить эту проблему, у наших клиентов может возникнуть проблема с получением crl. В данный момент это проверено, это может быть вовсе не проблема с сертификатом. –