Переход Poco StreamSocket в SecureStreamSocket - PullRequest
0 голосов
/ 03 апреля 2020

Я изменяю встроенный FTP-сервер приложения, который я ранее написал для клиента, чтобы он поддерживал FTPS, и хотя у меня есть неявный режим работы, передавая SecureServerSocket в TCPSocketServer, я хочу поддерживать явный режим, при котором подключение запускается как обычное подключение к сокету, и при получении AUTH TLS переключите StreamSocket на SecureStreamSocket и отправьте серверный запрос hanshake.

Я попытался использовать метод присоединения, но, похоже, он отправляет рукопожатие клиента, а не серверный. , Затем я попытался создать контекст сервера при создании SecureStreamSocket, но при попытке установить соединение с filezilla получил «Ошибка GnuTLS -19: получен неожиданный пакет рукопожатия TLS».

const Poco::Net::Context::Ptr ctx = new Poco::Net::Context(Poco::Net::Context::SERVER_USE, "", "", "", Poco::Net::Context::VERIFY_NONE, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"); 
SecureStreamSocket *test = new SecureStreamSocket(ctx);
test->attach(socket());

У кого-нибудь был успешный переход уже установленное соединение POCO TCPServer с безопасным соединением, и если да, то как вы это сделали - любые подсказки будут полезны.

...