Здравствуйте. Я пытаюсь установить в C # связь ssl клиент / сервер с взаимной аутентификацией с использованием сертификата сервера и клиента.A удалось сделать ssl-связь только с использованием сертификата сервера, где на стороне клиента я использую вот что:
TcpClient client = new TcpClient(machineName, port);
//Create an SSL stream that will close the client's stream.
SslStream sslStream = new SslStream(
client.GetStream(),
false,
new RemoteCertificateValidationCallback(ValidateServerCertificate),
null
);
try
{
// The server name must match the name on the server certificate.
sslStream.AuthenticateAsClient(serverName);
}
catch (AuthenticationException e)
{
Console.WriteLine("Exception: {0}", e.Message);
if (e.InnerException != null)
{
Console.WriteLine("Inner exception: {0}", e.InnerException.Message);
}
Console.WriteLine("Authentication failed - closing the connection.");
client.Close();
return;
}
Я предполагаю, что мне нужно было бы использовать метод
AuthenticateAsClient(string targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, bool checkCertificateRevocation)
я Corrent?Может ли кто-нибудь показать мне, как использовать его со всеми вещами? Даже на стороне сервера, или указать на простой пример?
Большое спасибо.