我正在TIdFTPServer
和Windows 10
中使用ssl实现indy Linux Red Hat 64-bit
。在Windows
下,一切似乎都能正常工作,但MLSD
中的Linux
命令存在问题。单位IdFTPServer.pas
内的被叫程序是TIDFTPServer.DoDataChannelOperation
,我们有
LContext.FDataChannel.InitOperation(AConnectMode);
在InitOperation
内部执行此代码:
if FNegotiateTLS then begin
LIO := FDataChannel.IOHandler as TIdSSLIOHandlerSocketBase;
if AConnectMode then begin
LIO.IsPeer := False;
end;
LIO.Passthrough := False;
end;
我收到该行的Invalid class typecast
例外:
LIO := FDataChannel.IOHandler as TIdSSLIOHandlerSocketBase;
我的证书是自签名的,服务器IOHandler的SSLOptions.Method
是sslvTLSv1_2
。 (此异常不会发生在Windows中 - 仅在Linux中)。对此问题的任何形式的帮助将不胜感激:)