Подтвердите X509Certificate удаленного сервера с помощью файла сертификата CA

Я создал ЦС и несколько сертификатов (подписанных ЦС) с помощью OpenSSL, и у меня есть клиент и сервер .NET / C #, использующие SslStream , каждый из которых имеет свои собственные сертификаты / ключи, взаимная аутентификация включена, отзыв отключен.

Я использую RemoteCertificateValidationCallback для SslStream для проверки сертификата удаленного сервера, и я надеялся, что смогу просто загрузить открытый сертификат ЦС (в виде файла) в программу и использовать это для проверки удаленного сертификата, а не для фактической установки ЦС в хранилище сертификатов Windows. Проблема в том, что X509Chain не покажет ничего, если я не установлю CA в хранилище, или оболочка Windows CryptoAPI, когда я открою PEM-версию одного из сертификатов.

У меня вопрос: как проверить, что сертификат подписан моим конкретным ЦС, просто используя файл общедоступного сертификата ЦС без использования хранилища сертификатов Windows или WCF , когда RemoteCertificateValidationCallback , X509Certificate и X509Chain , похоже, не дают мне ничего, с чем можно было бы работать?

7
задан jww 28 March 2014 в 21:57
поделиться