Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
FTPS with Indy/Delphi to connect with special Visa FTPS server
(08-30-2019, 05:50 AM)PeakTibor Wrote: The requested sequnce of FTP commands/activities with this Visa server is as follows:

- TLS handshake
- PBSZ 0
- PROT P (Data channel must be encrypted)
- CCC (if Clear Command Channel have to be used)

Is it possible with the current idFTP solution to follow this?

Possible, but not in a straight-forward manner.

TIdFTP does have SendPBSZ() and SendPROT() methods, which you can call whenever you want. However, they are protected methods, so you would need to use a descendant/accessor class to reach them, as well as to set TIdFTP.FDataSettingsSent=True so that TIdFTP.SendDataSettings() does not send its own PBSZ/PROT/CCC commands.

The TIdFTP.Login() method does not natively allow you to send custom commands after it sends AUTH and performs the TLS handshake, and before it sends USER/PASS/ACCT, so you would have to handle the login sequence manually. You could set TIdFTP.AutoLogin=False and handle the entire login sequence manually. Or, you could set TIdFTP.ProxySettings.ProxyType=fpcmCustomProxy and use the TIdFTP.OnCustomFTPProxy event to send PBSZ, PROT, and USER/PASS after TIdFTP.Login() sends AUTH and performs the TLS handshake for you.

That just leaves CCC, which you can disable by setting TIdFTP.UseCCC=False and then send it manually when needed.


Messages In This Thread
RE: FTPS with Indy/Delphi to connect with special Visa FTPS server - by rlebeau - 08-30-2019, 04:45 PM

Forum Jump:

Users browsing this thread: 1 Guest(s)