В моем коде С# у меня есть объект X509Certificate2
, который представляет сертификат SSL (из локального хранилища или из успешного HTTP-запроса через SSL). Сертификат подписан с некоторым промежуточным сертификатом, который, возможно, присутствует в локальном хранилище, возможно, нет, поэтому использование X509Chain.Build()
, вероятно, не будет работать.
Рисунок просмотра просмотра сертификатов Firefox (потому что у меня еще нет полезного кода):
В разделе "Подробности" в "Иерархии сертификатов" я вижу следующее:
- DigiCert High Assurance EV Root CA
- DigiCert SHA2 Extended Validation Server CA
- github.com
- DigiCert SHA2 Extended Validation Server CA
Мой объект представляет "github.com", самую низкую строку в цепочке. Мне нужно программно идентифицировать среднюю строку ( "DigiCert SHA2 Extended CA CA CA Validated Server" ).
Как узнать отпечаток или что-нибудь эквивалентное, которое позволит мне определить, какой сертификат был использован для подписания моего сертификата?