powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# SslStream.AuthenticateAsClient
3 сообщений из 3, страница 1 из 1
C# SslStream.AuthenticateAsClient
    #39641532
VicNic-2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
.....
           TcpClient client = null;
            try
            {
                client = new TcpClient(Kde_remote_host, Kde_remote_port);
            }
            catch (SocketException s)
            {
                Log.Error(s.ToString());
                message_error = "Соединение не установлено. Проверьте строку соединения и доступность сервера";
                throw;
            }

            Log.Debug("Соединение установлено");
            SslStream sslStream = new SslStream(client.GetStream(),
                                                false,
                                                new RemoteCertificateValidationCallback(ValidateServerCertificate),
                                                new LocalCertificateSelectionCallback(ValidateClientCertificate)
                                               );
            try
            {
                X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
                try
                {
                    store.Open(OpenFlags.ReadOnly);
                }
                catch (SecurityException s)
                {
                    Log.ErrorFormat("(store.Open): {0}", s.ToString());
                    throw;
                }
                catch (ArgumentException a)
                {
                    Log.ErrorFormat("(store.Open): {0}", a.ToString());
                    throw;
                }
                catch (Exception e)
                {
                    Log.ErrorFormat("(store.Open): {0}", e.ToString());
                    throw;
                }
                X509Certificate2Collection cert = store.Certificates.Find(X509FindType.FindBySubjectName, "KDEC", false);
                if (cert == null||cert.Count ==0)
                {
                    X509Certificate2Collection collection = new X509Certificate2Collection();
                    X509Certificate2 sert = new X509Certificate2("Мойсерт.pfx", "123456");
                    collection.Add(sert);
                    store.Add(sert);
                    cert = store.Certificates.Find(X509FindType.FindBySubjectName, "KKKK", false);
                }
                sslStream.AuthenticateAsClient(serverName, cert, SslProtocols.Default, false);
            }
            catch (AuthenticationException e)
            {
                if (e.InnerException != null)
                {
                    Log.ErrorFormat("Inner exception: {0}", e.InnerException.Message);
                }
                Log.Error(e.ToString());
                sslStream.Close();
                client.Close();
                message_error = "Ошибка сертификата. Обратитесть к системному администратору";
                throw;
            }
.....


Два вопроса:
1. на машинах с 32 ОС (Win 7 и XP) sslStream.AuthenticateAsClient идет до 15-20 секунд. На 64бита W10 - почти мгновенно.
С чем это может быть связано?
2. Если в коде store.Add(sert) отработает, то при следующем хапрсое, сертификат будет найден, но вывалиться с ошибкой:
Учетные данные, предоставленные в пакет, не были распознаны" при аутентификации....
Код работает, только если руками добавлять сертификат...
...
Рейтинг: 0 / 0
C# SslStream.AuthenticateAsClient
    #39641535
VicNic-2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по второму вопросу.
Вываливается сообщение не при аутентификации а при записи в порт...

Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
C# SslStream.AuthenticateAsClient
    #39641914
VicNic-2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть знатоки?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# SslStream.AuthenticateAsClient
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]