Причины:
1. Манипуляции с цепочкой сертификатов (подмена корневого или промежуточного CA).
2. Использование самоподписанных сертификатов под видом легитимных.
3. Истечение срока действия или отзыв сертификата (CRL/OCSP не проверяются).
4. Несоответствие fingerprint сертификата эталонному (например, из официального источника ПО).
5. Повреждение контейнера PKCS#12/PFX.
Решение (только легальные методы, РФ):
1. Проверка подлинности сертификата файла через openssl verify
bash
<h2 id="dlya-pem-crt-fayla">Для PEM/CRT файла</h2>
openssl x509 -in cert.pem -text -noout | grep -E "Subject:|Issuer:|Not Before|Not After"
openssl verify -CAfile ca-cert.pem cert.pem # цепочка доверияПри ошибке `unable to get local issuer certificate — корневой CA не найден в доверенных (флаг подделки).
2. Проверка подписанного исполняемого файла (Windows)
powershell
Get-AuthenticodeSignature -FilePath "C:\path\to\file.exe" | Format-ListЕсли `Status` ≠ `Valid` — сертификат отозван, подпись нарушена или недоверенный издатель.
3. Верификация PFX/P12 контейнера
bash
openssl pkcs12 -in cert.pfx -info -nokeys -nodes -passin pass:password 2>&1 | grep -E "friendlyName|subject|issuer"
<h2 id="zatem-proverit-zakrytyy-klyuch">Затем проверить закрытый ключ</h2>
openssl pkcs12 -in cert.pfx -nocerts -nodes -passin pass:password | openssl rsa -checkНесовпадение пар ключей — подлог.
4. Определение цепочки сертификатов для SSL/TLS файла
bash
openssl s_client -showcerts -connect example.com:443 /dev/null | openssl x509 -sha256 -fingerprint -noout
<h2 id="sravnit-fingerprint-s-originalom-sayt-razrabotchika-dokumentatsiya">Сравнить fingerprint с оригиналом (сайт разработчика, документация).</h2>5. Проверка статуса отзыва (CRL/OCSP)
bash
openssl ocsp -issuer intermediate.pem -cert end_user.pem -url http://ocsp.server.com -text
<h2 id="vyvod-revoked-sertifikat-nedeystvitelen">Вывод: "revoked" — сертификат недействителен.</h2>Критично:** Всегда сверяйте издателя (`Issuer`) с официальным CA (GlobalSign, DigiCert, Минцифры РФ для УКЭП). Отсутствие в системном хранилище — прямое указание на вредонос.