无效的类类型转换 - indy FTPServer DoDataChannelOperation

时间:2017-04-09 16:48:48

标签: linux delphi ssl indy

我正在TIdFTPServerWindows 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.MethodsslvTLSv1_2。 (此异常不会发生在Windows中 - 仅在Linux中)。对此问题的任何形式的帮助将不胜感激:)

0 个答案:

没有答案