Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
12 / 12 / 7
Регистрация: 09.10.2013
Сообщений: 222
1
.NET 4.x

Ssl/Tls криптография, аутентикация клиента

18.07.2014, 15:53. Просмотров 2534. Ответов 3
Метки нет (Все метки)

Здравствуйте, вообщем, создал TcpListener, TcpClient, реализовал криптографию, всё работает, всё нормально. На данный момент все клиенты имеют один и тот же паблик ключ, а сервер - весь набор, как положено. Происходит аутентикация серверной части, т.е. проверяется название серверной машины. Вот только не происходит аутентикация клиентской части. Подскажите, как реализовать это? Необходимо, чтобы какие-то левые клиенты, имея паблик ключ - не могли подключаться к серверу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2014, 15:53
Ответы с готовыми решениями:

Ssl/Tls криптография, перехват пакетов
Вообщем, создал свой клиент - серверное приложение и использую Ssl/Tls криптографию. Попробовал...

Прием электронных сообщений, POP3, SSL/TLS
Добрый день, подскажите пожалуйста как реализовать прием писем с почты POP3 + SSL или TLS? Просто...

Ошибка: не удалось создать защищенный канал ssl tls
Создали сертификат на одной машине. Установил на другую в Личные. Приложением пытаемся подрубиться...

Could not create SSL/TLS secure channel
Добрый день! Следующая проблема: есть служба, есть объект httpwebrequest, создаем TLS соединение и...

3
12 / 12 / 7
Регистрация: 09.10.2013
Сообщений: 222
21.07.2014, 18:39  [ТС] 2
Ещё актуально...

Добавлено через 7 часов 47 минут
Может кто-то хотя бы может рассказать принцип валидации клиентской части? Как это происходит? Допустимые клиенты записаны в сертификате сервера? Или что вообще?
0
Ушел с форума
Эксперт С++
16411 / 7386 / 1184
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
21.07.2014, 22:15 3
Аутентификация клиента выполняется также, как и аутентификация
сервера - по сертификату. В обычном HTTPS клиент проверяет сертификат
сервера, пытаясь строить цепочку сертификатов, которая приведет его к
доверенному центру сертификации - VeriSign, Thawte, StarSSL и т.д.
А здесь сервер точно таким же образом проверяет клиента.

Как это ни странно, по теме SSL/TLS очень мало источников в формате
"user guide", а то, что есть - очень поверхностно или обрывочно.
Даже в лучших книгах по HTTP этому вопросу уделяется от силы
несколько страниц.

В образовательных целях можно покурить вот этот RFC:

The Transport Layer Security (TLS) Protocol (Version 1.2)
http://tools.ietf.org/html/rfc5246

Еще поизучать исходники OpenSSL, например...
1
12 / 12 / 7
Регистрация: 09.10.2013
Сообщений: 222
22.07.2014, 10:32  [ТС] 4
Убежденный, спасибо, почитаю. Валидация сервера по идее - проходит на ура. А вот когда ставлю:
C#
1
SecureStream.AuthenticateAsServer(serverCert, true, SslProtocols.Tls, true);
- второй параметр true - значит Client Certificate Required, то есть, по идее - валидация клиента. На сервере же выскакивает ошибка: The remote certificate is invalid according to validation procedure.
- Как я ставил сертификаты - я создал новый сертификат в VS10 под паролем (BlaBlaBla_TemporaryKey.pfx), со всеми правами. Добавил его на серверной части в Trusted Root Certificate Authority. Затем я сделал с него экспорт PublicKey.cer. Данный паблик ключ я ставил на все машины, где используется клиент, так же в Trusted Root Certificate Authority.

Когда же я ставлю:
C#
1
SecureStream.AuthenticateAsServer(serverCert, false, SslProtocols.Tls, true);
- Всё проходит успешно, все данные нормально шифруются и расшифровываются - как на клиентской части, так и на серверной. (Проверял с помощью WireShark)


Может я что-то не так сделал? Могу скинуть код клиентской и серверной части, если надо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2014, 10:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

POST запрос: Не удалось создать защищенный канал SSL/TLS
Что не так с POST запросом? Ошибка:System.Net.WebException: "Запрос был прерван: Не удалось...

Не удалось создать защищенный канал SSL/TLS
Всем привет. Народ, такой вопрос. Отправляю запрос и некоторые норм бегают, а некоторые...

Не удалось создать защищенный канал SSL/TLS
Есть программа которая сама заходит на сайт и отображает нужную мне информацию в удобном и...

Запрос был прерван:Не удалось создать защищенный канал SSL/TLS
Пишу бота, раз в час выдает исключение (System.Net.WebException: Запрос был прерван:Не удалось...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.