Я пытаюсь создать почтовый клиент для обучения. Большинство современных почтовых серверов требуют использования TLS. При использовании s_client
OpenSSL, я могу использовать флаг -starttls
так s_client
будет автоматически выполнять согласование TLS с сервером. Однако, когда я использую сырой C API, а не утилиту openssl, я не уверен, как мне реализовать согласование.
Насколько я понимаю, я должен сначала подключиться к SMTP-порту сервера через TLS-порт из незащищенного сокета, вызвать команду STARTTLS
, а затем переключиться на безопасный сокет, выполнив согласование TLS. Это правильно ?