_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, потому что это то, что просит владелец удаленного сервера.
Я пытаюсь установить соединение TCP с удаленным сервером, используя протокол SSLStream и TLS 1.2. Код следующим образом: < /p>
[code]_tcpClient.Connect(endPoint);
var certificate = new X509Certificate2(_settings.CertificateFilePath, _settings.CertificatePassword, X509KeyStorageFlags.MachineKeySet); var certificates = new X509CertificateCollection { certificate };
System.security.authentication.AuthenticationException: призыв к SSPI не удалось, см. Внутреннее исключение. ---> system.componentmodel.win32exception: произошла неизвестная ошибка, в то время как обработка сертификата < /p>
I включил журнал Schannel и обнаружил это в журнале retto letto windows, запрашиваемое, но storte -сервер, но storte server, но storte server, но storte servertiation, но storte servertiation, но stortication stortication, но. Подходящий сертификат клиента можно найти. Анонимное соединение будет предпринято. Похоже, что сертификат клиента в порядке, но по какой -то причине в журнале говорится удаленный сертификат: null [/code], хотя есть некоторые данные, отправленные обратно с удаленного сервера, который очень похож на сертификат. И в самом конце журнала говорит, что returned code = certunknown . Я понятия не имею, где может быть проблема (сертификат удаленного сервера? Мой код? Но мне действительно нужно использовать TLS, потому что это то, что просит владелец удаленного сервера.