У меня есть клиентское серверное приложение, написанное на C#. На самом деле соединение tcp зашифровывается rsa и rijandel (например, бедный человек ssl). Я часто читал, что я должен использовать что-то вроде SSL, а не собственную реализацию. Я знаю причины этого. Но если я использую ssl, мне понадобятся два сертификата: один для клиента и один для сервера, верно? (Потому что и сервер отправляет некоторые данные клиенту и другим способом) Как я это делаю с клиентом? Или я должен использовать для этого сообщения другой канал шифрования?SSL или собственная реализация?
1
A
ответ
2
SSL (или TLS) использует public key cryptography для двух целей. Один из них - зашифровать канал связи (на самом деле просто для обмена симметричным ключом) и один для идентификации сервера. Открытый ключ пары открытых частных ключей обменивается сертификатом, который подписывается цифровой подписью органом.
Если вам не нужны ваши клиенты для аутентификации (которые отличаются от ваших пользователей), вам не нужен сертификат клиента. Сертификата сервера достаточно для идентификации сервера и для шифрования канала связи.
Сертификаты клиентов обычно используются в сценариях, где фоновым службам или демонам необходимо идентифицировать себя с веб-службами. В этом случае для авторизации запроса пользователь не может использовать пользователя.
Смежные вопросы
- 1. ASP.NET: Собственная реализация IsInRole
- 2. Собственная реализация MaybeT приподнять
- 3. Собственная реализация replicateM
- 4. собственная реализация станд :: is_function
- 5. Make_shared - собственная реализация
- 6. Собственная реализация ключей pthread
- 7. DownloadManager VS Собственная реализация загрузки?
- 8. java LinkedList vs собственная реализация
- 9. Собственная реализация кучи в C++
- 10. Пользовательский членский поставщик или роль моя собственная реализация
- 11. Собственная реализация объекта массива в Javascript
- 12. Библиотека или собственная структура?
- 13. CBC-MAC AES собственная реализация чрезвычайно медленная
- 14. Моя собственная реализация PrintStream для тестирования
- 15. Matrixmultiplication - Собственная реализация glTranslate? Неправильно Матрица
- 16. собственная реализация MultiMap, проблемы с поста
- 17. duktape modSearch. Собственная реализация в C
- 18. Подходит для DataStructure для графика (собственная реализация)
- 19. Реализация бедных людей ssl
- 20. Реализация SSL-туннеля в C#
- 21. Почему у неупорядоченных контейнеров есть собственная реализация Array
- 22. Реализация SSL в java rmi
- 23. Python/Pyside: Собственная реализация QFileIconProvider завершается с ошибками без исключений.
- 24. Собственная реализация «strcpy» (C) не работает! Конфликтующие типы. Зачем?
- 25. собственная реализация std :: string :: find (поиск в грубой силе)
- 26. Codename one Собственная реализация с Cocoa Pods Ошибка сборки
- 27. Собственная обработка Xml или (внешняя) lib
- 28. Собственная сессия Codeigniter или библиотека сеансов ci
- 29. реализация SSL-туннеля внутри кода C++ (WinSock)
- 30. Android: реализация SSLContext SSL не найден
Только серверу требуется сертификат. Посмотрите сайты с поддержкой SSL. Сервер отправляет вам страницу (зашифрован), и вы все равно можете ее расшифровать без необходимости иметь собственный сертификат. – itsme86
Хорошо, тогда я не понимаю ssl. Мне нужны два секретных ключа и два открытых ключа. Клиент имеет закрытый ключ, а сервер имеет закрытый ключ. Если вы говорите, только сервер нуждается в сертификате, что является закрытым ключом для клиента? Является ли закрытый ключ от клиента также в сертификате, для меня это не имеет смысла. –
Ключ получен с использованием некоторой математики, которая находится за пределами моего набора навыков. Я понимаю, что ключ имеет определенные математические свойства, которые позволяют совершать определенные сложные вещи. – itsme86