ftp is a rather "complicated" protocol, involving separate connections
for transfer of directory listings or files.
There exist some approaches to wrap that with tls channels, but I must
admit I'm not very experienced with those. My feeling is, that at
very least, you need to make sure to switch "passive" mode off (or was
it on, anyway, be sure to try both ways!)
The "wrong" one of these "passive" settings would require the ftp-server
to open a connection back to you, which pretty surely wouldn't work.
Most likely it would be best to find some other alternative like
"sftp", which is based on ssh and entirely different.
> I was naively hoping, when I saw no mention of it in the ftp package docs
> or wiki page, that it may be as easy as just changing [socket] calls in the
> ftp package code for ::tls::socket but (with verbose and debug options in
> the ftp package set) I'm just getting error messages:
Also, be sure that also the secondary connection (which for correct
passive-mode setting would originate from the client) also gets
tls-wrapped.