TLS в одноранговом соединении
В настоящее время я изучаю сети и сетевую безопасность. В качестве упражнения я создал приложение, похожее на Apple AirDrop. Как и AirDrop, мое приложение обнаруживает узлы (но только в той же сети Wi-Fi) и устанавливает соединение для обмена файлами. Все это прекрасно работает, однако мое приложение использует простое TCP-соединение, и переданные данные не зашифрованы! Из некоторых исследований я узнал, что AirDrop использует TLS для шифрования данных.
Мой вопрос, как это возможно в одноранговом сетевом соединении? Разве TLS не требует сертификат, выданный ЦС? Означает ли это, что когда пользователь активирует AirDrop, сертификат должен быть создан?
Как включить TLS в такое приложение, где вы могли бы быть клиентом (при принятии файла) или сервером (при совместном использовании файла)?