SSLSTREAM: Неизвестная ошибка произошла при обработке сертификатаC#

Место общения программистов C#
Ответить
Anonymous
 SSLSTREAM: Неизвестная ошибка произошла при обработке сертификата

Сообщение Anonymous »

Я пытаюсь установить соединение TCP с удаленным сервером, используя протокол SSLStream и TLS 1.2. Код следующим образом: < /p>

Код: Выделить всё

_tcpClient.Connect(endPoint);

var certificate = new X509Certificate2(_settings.CertificateFilePath, _settings.CertificatePassword, X509KeyStorageFlags.MachineKeySet);
var certificates = new X509CertificateCollection { certificate };

_nStream = _tcpClient.GetStream();
_sslStream = new SslStream(_nStream, false,
(o, x509Certificate, chain, errors) => true,
(o, s, collection, x509Certificate, issuers) =>
{ return collection[0]; }
);

_sslStream.AuthenticateAsClient(_settings.HostIpAddress, certificates, SslProtocols.Tls12, true);
_sslStream.Write(someData, 0, someData.Length);
< /code>

Однако я получаю исключение: < /p>


System.security.authentication.AuthenticationException: призыв к SSPI
не удалось, см. Внутреннее исключение. --->
system.componentmodel.win32exception: произошла неизвестная ошибка, в то время как
обработка сертификата < /p>

--- В конце внутреннего стека исключений < /p>

at system.security.sslstate.checkthrow (boolean ather System.net.security.sslstream.write (Byte [] буфер, int32 смещение, int32 count) < /p>
< /blockquote>

I включил журнал Schannel и обнаружил это в журнале retto letto windows, запрашиваемое, но storte -сервер, но storte server, но storte server, но storte servertiation, но storte servertiation, но stortication stortication, но. Подходящий сертификат клиента можно найти. Анонимное соединение
будет предпринято. Похоже, что сертификат клиента в порядке, но по какой -то причине в журнале говорится удаленный сертификат: null 
, хотя есть некоторые данные, отправленные обратно с удаленного сервера, который очень похож на сертификат. И в самом конце журнала говорит, что returned code = certunknown . Я понятия не имею, где может быть проблема (сертификат удаленного сервера? Мой код? Но мне действительно нужно использовать TLS, потому что это то, что просит владелец удаленного сервера.

Подробнее здесь: https://stackoverflow.com/questions/333 ... ertificate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»