Я создал ЦС и несколько сертификатов (подписанных ЦС) с использованием OpenSSL, и у меня есть клиент и сервер .NET/C#, использующие SslStream
, каждый из которых имеет свои собственные сертификаты/ключи, взаимная аутентификация включена, а отзыв отключен.
Я использую RemoteCertificateValidationCallback
вместо SslStream
для проверки сертификата удаленного сервера, и я надеялся, что смогу просто загрузить общедоступный сертификат ЦС (в виде файла) в программу и использовать его для проверки удаленного сертификата, а не для фактической установки ЦС в Windows. Магазин сертификатов. Проблема в том, что X509Chain
больше ничего не покажет, если я не установлю ЦС в хранилище, либо оболочку Windows CryptoAPI, когда я открою версию PEM одного из сертификатов.
Мой вопрос заключается в том, как я могу проверить, что сертификат был подписан моим конкретным ЦС, просто используя общедоступный файл сертификата ЦС без использования хранилища сертификатов Windows или WCF, когда RemoteCertificateValidationCallback
, X509Certificate
и X509Chain
не кажутся дать мне что-нибудь для работы?