Истёкший сертификат — это цифровой документ, у которого истёк срок действия (поле Not After). Хотя такой сертификат больше не считается доверенным для установления защищённого соединения, его содержимое по‑прежнему может быть полезно для аудита, отладки или расследования инцидентов. Главное — извлечь нужную информацию, не импортируя сертификат в доверенные хранилища ОС и не используя его для проверки подлинности.
Ниже описаны безопасные способы получения данных из сертификата, проверки его подписи и определения, не был ли он отозван. Все действия выполняются только с открытой частью сертификата; если у вас есть файл с закрытым ключом (формат .pfx или .p12), обращайтесь с ним как с конфиденциальными данными и никогда не импортируйте его в системное хранилище без явной необходимости.
- Что находится внутри сертификата
- Безопасные инструменты для анализа
- Последовательность действий с OpenSSL
- Анализ с помощью certutil (Windows)
- Просмотр через графический интерфейс
- Чего следует избегать
- Практический пример: анализ сертификата веб‑сайта
- Когда обращаться к специалисту
- Краткий чек‑лист безопасного анализа
Что находится внутри сертификата
Сертификат X.509 содержит набор стандартных полей, которые доступны независимо от срока действия:
- Subject — субъект, которому выдан сертификат (домен, организация и т.д.).
- Issuer — центр сертификации (CA), подписавший сертификат.
- Validity (Not Before / Not After) — период действия.
- Public Key — открытый ключ и алгоритм (RSA, ECDSA и т.д.).
- Signature Algorithm — алгоритм подписи CA.
- Extensions — Key Usage, Extended Key Usage, Subject Alternative Name, CRL Distribution Points, Authority Information Access и др.
Срок действия не влияет на возможность чтения этих полей; он лишь указывает, что после даты Not After сертификат не должен использоваться для установления доверия.
Безопасные инструменты для анализа
Для изучения сертификата не требуется устанавливать дополнительное ПО, если в системе уже есть один из следующих утилит:
- OpenSSL — кроссплатформенный криптографический набор.
- certutil — встроенная утилита Windows.
- PowerShell — командлеты Get-PfxCertificate, Get-ChildItem для доступа к хранилищу.
- Интерфейс Windows — двойной щелчок по файлу сертификата открывает диалог просмотра (не устанавливает сертификат, если не нажать «Установить сертификат»).
- Получите файл сертификата. Если он в формате .pfx или .p12, извлеките только публичную часть:
- Выведите полное содержимое сертификата в читаемом виде:
- Проверьте подпись сертификата, используя промежуточный или корневой сертификат издателя. Для этого понадобится файл issuer.crt (можно загрузить с сайта CA или из цепочки trust).
- При необходимости проверьте отзыв через CRL или OCSP. Например, для OCSP:
- Откройте командную строку от обычного пользователя (не требуется администратор).
- Выполните:
- Не импортируйте истёкший сертификат в доверенные хранилища (Trusted Root Certification Authorities, Intermediate Certification Authorities) — это может ложно создать доверие к недостоверному ключу.
- Не используйте истёкший сертификат для настройки TLS/HTTPS, VPN, подписи кода или любой операции, где требуется проверка цепочки доверия.
- Не передавайте файл с закрытым ключом (.pfx/.p12) по незащищённым каналам и не оставляйте его в открытых репозиториях.
- Не полагайтесь únicamente на онлайн‑сервисы для анализа, если в сертификате содержится закрытый ключ — такие сервисы могут сохранить ваш ключ.
- Скачайте промежуточный сертификат издателя (например, letsencryptauthorityx3.pem) с доверенного источника.
- Выполните проверку подписи:
- Проверьте отзыв через OCSP (URL обычно находится в расширении Authority Information Access):
- Подпись сертификата неверна (ошибка verify return code: 63 (certificate signature failure));
- Сертификат был отозван давно до истечения срока;
- В файле присутствует закрытый ключ и вы не уверены, как с ним обращаться;
- Получите только открытую часть сертификата (извлеките её из .pfx, если нужно).
- Используйте OpenSSL, certutil или графический просмотр для чтения полей.
- Проверьте подпись с помощью доверенного сертификата издателя.
- Обратите внимание на сообщение об истечении срока — оно не влияет на достоверность подписи.
- При необходимости проверьте отзыв через CRL или OCSP.
- Не импортируйте сертификат в системное хранилище и не используйте его для установления доверия.
Последовательность действий с OpenSSL
openssl pkcs12 -in certificate.pfx -nokeys -clcerts -out cert_only.crt
openssl x509 -in cert_only.crt -text -noout
openssl verify -CAfile issuer.crt cert_only.crt
Если подпись верна, но срок истёк, вы получите сообщение вроде certificate has expired. Это подтверждает, что сертификат корректно подписан CA, но больше не действителен по дате.
openssl ocsp -issuer issuer.crt -cert cert_only.crt -url http://ocsp.example.com/
Ответ revoked указывает, что сертификат был отозван до истечения срока; иначе вы получите good или unknown (если OCSP‑сервер недоступен).
Анализ с помощью certutil (Windows)
certutil -dump certificate.crt
Команда выведет все поля сертификата, включая расширения и подпись. Для проверки подписи потребуется файл издателя:
certutil -verify -urlfetch -chain certificate.crt
Если цепочка построена, но срок действия не прошёл, в выводе будет указано ошибка CERT_TIME_VALIDITY.
Просмотр через графический интерфейс
Дважды щёлкните по файлу .cer, .crt или .pfx. Откроется диалоговое окно с вкладками «Сведения», «Путь сертификации» и «Подробности». На вкладке «Подробности» можно увидеть все поля, а на вкладке «Путь сертификации» — цепочку доверия. Никаких изменений в системном хранилище не произойдёт, пока вы не нажмёте кнопку «Установить сертификат».
Чего следует избегать
Практический пример: анализ сертификата веб‑сайта
Допустим, у вас есть файл example.com.crt, полученный из веб‑сервера, и вы хотите убедиться, что он был выдан легитимным центром и не был отозван до истечения срока.
openssl verify -CAfile letsencryptauthorityx3.pem example.com.crt
Если вывод содержит example.com.crt: OK — подпись верна. Если после этого появляется certificate has expired, значит сертификат корректно подписан, но срок действия истёк.
openssl ocsp -issuer letsencryptauthorityx3.pem -cert example.com.crt -url http://ocsp.letsencrypt.org/
Ответ good подтверждает, что сертификат не был отозван до истечения срока.
Когда обращаться к специалисту
Если в ходе анализа вы обнаружите:
это может указывать на компрометацию ключа или попытку использования поддельного сертификата. В таких случаях рекомендуется передать информацию специалисту по информационной безопасности или администратору PKI для дальнейшего расследования.
Материал носит информационный характер. Он не заменяет консультацию квалифицированного специалиста по информационной безопасности. При работе с закрытыми ключами и подозрениями на компрометацию следует обращаться к профильному эксперту.
Краткий чек‑лист безопасного анализа
Следуя этим шагам, вы сможете извлечь всю полезную информацию из истёкшего сертификата, не подвергая систему риску ложного доверия или компрометации ключей.
