Я хочу написать клиента и сервер на C, предпочтительно на простом C ++, если необходимо.
Сервер будет работать на некотором варианте Linux, клиент предназначен для тестирования сервера.
Я хочу гарантировать получение сообщений без ошибок; поэтому я буду использовать TCP.
Я хочу, чтобы они общались безопасно; поэтому я буду использовать последнюю версию TLS (v1.3).
Я намерен использовать библиотеку GnuTLS по следующим причинам:
- Активно обновляется уважаемым проектом с открытым исходным кодом
- Лицензия позволяет продавать продукт
Учитывая вышеизложенное, если оно реализовано и протестировано, я могу утверждать, что взаимодействие клиент / сервер является безопасным, надежным (так называемым гарантированным) и проверено на ошибки. Да?
Я что-то упустил? Есть ли что-нибудь явно ложное?
Изменить: сертификаты ... я думаю, мне что-то не хватает сертификатов для защиты от атак человека в середине ...