Этот вопрос касается решения ошибки SslPolicyError.RemoteCertificateNotAvailable
.SslStream на TCP-сервере не удается проверить сертификат клиента с RemoteCertificateNotAvailable
Я разработал TCP-сервер с SSLStream и TCP-клиент для другого конца.
Я аутентифицировать сервер с:
sslStream.BeginAuthenticateAsServer
Я аутентифицировать клиент с:
sslStream.BeginAuthenticateAsClient
Я загрузка моего сертификата с Trusted Publishers - Local Machine
.
Оба работают на одной машине.
Я попытался загрузить сертификат клиента из файлов .cer и .pfx, а не в хранилище доверенных издателей. Но обратный вызов проверки валидатора сервера (удаленного) сертификата сервера не удается обнаружить, обнаружив, что SslPolicyErrors
имеет ошибку RemoteCertificateNotAvailable
.
Я также попробовал загрузить сертификат из «Личного» магазина. У моего сертификата есть закрытый ключ. – cdpnet
Certutil -verify -urlfetch должен проверить правильность проверки сертификата. Если нет, нет кубиков. Сердеру сервера требуется «целевое назначение: аутентификация сервера», а клиентскому сертификату, вероятно, потребуется «аутентификация клиента», если он предназначен для уникальной идентификации клиента. – TristanK
Tristank. Вы заметили проблему на самом деле. У меня был сертификат с целью только авторизации сервера. Мне нужен сертификат, который поддерживает клиентскую аутентификацию. Итак, как только я понял, это сработало. – cdpnet