C++ 将Poco StreamSocket转换为SecureStreamSocket
我正在修改我以前为客户编写的嵌入式FTP服务器应用程序,以支持FTPS,虽然我通过将SecureServerSocket传递到TCPSocketServer来使用隐式模式,但我希望支持显式模式,其中连接以常规套接字连接开始,并且在接收AUTH TLS时,将StreamSocket切换到SecureStreamSocket并发送服务器hanshake 我曾尝试使用attach方法,但它似乎发送的是客户端握手,而不是服务器握手。 因此,在创建SecureStreamSocket时,我尝试创建一个服务器上下文,但在尝试从filezilla连接时得到“GnuTLS错误-19:接收到意外的TLS握手数据包”C++ 将Poco StreamSocket转换为SecureStreamSocket,c++,ssl,poco-libraries,ftps,C++,Ssl,Poco Libraries,Ftps,我正在修改我以前为客户编写的嵌入式FTP服务器应用程序,以支持FTPS,虽然我通过将SecureServerSocket传递到TCPSocketServer来使用隐式模式,但我希望支持显式模式,其中连接以常规套接字连接开始,并且在接收AUTH TLS时,将StreamSocket切换到SecureStreamSocket并发送服务器hanshake 我曾尝试使用attach方法,但它似乎发送的是客户端握手,而不是服务器握手。 因此,在创建SecureStreamSocket时,我尝试创建一个服务
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连接转换为安全连接?如果是,您是如何做到的?任何提示都会很有帮助
SecureStreamSocket
具有一些静态功能,可以将StreamSocket
附加到SecureStreamSocket
。类似于静态SecureStreamSocket attach(const StreamSocket&StreamSocket,…
),但我认为您希望像SecureStreamSocket test=SecureStreamSocket::attach一样使用它(yourSocket…
感谢您指出这一点,但结果是一样的:GnuTLS错误-19:收到意外的TLS握手数据包。将错误处理程序分配给Poco后,它会在附加时记录以下错误:错误:141A10F4:SSL例程:ossl_statem_client_read_transition:意外消息似乎是Poco的问题e协议切换序列?您的POCO FTP服务器代码是否在某处可用?需要一个。感谢SecureStreamSocket
具有一些静态功能,可以将StreamSocket
附加到SecureStreamSocket
。例如静态SecureStreamSocket附加(const StreamSocket&StreamSocket,…
。但我认为您希望像使用SecureStreamSocket test=SecureStreamSocket::attach一样使用它(yourSocket…
感谢您指出这一点,但结果是一样的:GnuTLS错误-19:收到意外的TLS握手数据包。将错误处理程序分配给Poco后,它会在附加时记录以下错误:错误:141A10F4:SSL例程:ossl_statem_client_read_transition:意外消息似乎是Poco的问题协议交换序列?您的POCO FTP服务器代码是否在某处可用?需要一个。谢谢