Процедура проверки сертификата описана в RFC 5280 и нескольких дополнительных стандартах.Это довольно сложно и зависит от того, какие инструменты / библиотеки / компоненты вы планируете использовать.
Вкратце:
- Найти сертификат CA.Если он отсутствует, вам не повезло в проверке.Если сертификат является самозаверяющим, пользователь должен решить, может ли он доверять этому сертификату.
- проверить, был ли сертификат выдан сайту, к которому вы подключаетесь (проверяя поле «Тема» и расширение «Альтернативное имя субъекта»)
- проверка того, что сертификат может использоваться для SSL (проверьте поле «Использование ключа»)
- проверка того, что сертификат не был отозван с использованием CRL и ответчика OCSP.
- , если все вышеперечисленное в порядке, проверьте сертификат CA аналогичным образом.Повторяйте, пока не доберетесь до доверенного сертификата (это может быть доверенный корень или ранее доверенный ЦС).
Мы реализовали полный и гибкий валидатор сертификатов, который выполняет все вышеперечисленное в нашей библиотеке SecureBlackbox .