Добрый день.
Объясните пожалуйста как правильно делать клиентскую авторизацию, используя SslStream и сертификат, загружаемый из файла.
Клиентское приложение C#, серверное приложение написано на Java.
Пытаюсь делать следующее:
X509Certificate cer = X509Certificate.CreateFromCertFile(Application.StartupPath + "\\client.der");
X509Certificate2Collection cerCollection = new X509Certificate2Collection();
cerCollection.Add(cer);
client = new TcpClient();
client.Connect(serverAddress, serverPort);
stream = new SslStream(client.GetStream(), true, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
stream.AuthenticateAsClient("CerName", cerCollection, SslProtocols.Tls, false);
На сервере получаем исключение null сertificate chain и клиент повисает на строчке
stream.AuthenticateAsClient("CerName", cerCollection, SslProtocols.Tls, false);
, видимо ожидая результат от сервера.
Что это может быть и как это победить? Как правильно это делать и как правильно создавать сертификаты?
Спасибо.