I am trying to find an answer to the same problem. I notice that this thread was started in 2012 and in 10 years nobody has dared to answer it. Moreover, I googled it and there has been no proper article even after 10 years which is sad. Even google pointed me to such an old thread on the first page. So, I think the work-around that I found could be the final answer to this question. However, I will keep searching. I will share the work-around with you in case you are trying to fix the same issue:
Ubuntu: go to /etc/pure-ftpd/conf directory and change the TLS file to 2 so that only ftp over tls is allowed and non-encrypted tls is blocked.
Run this command: echo ",990" > /etc/pure-ftpd/conf/Bind
This will create a Bind file that change the port 21 to 990 for ftp connection for all incoming connections. This will fix the firewall issue.
Run service pure-ftpd-mysql restart to apply the new settings.
Now, test it out on your ftp client such as WinSCP. So, your settings will allow pure-ftp to use explicit encryption on port 990. It is not an idle solution for implicit encryption but it is a workaround for the firewall problem at your organization.
for centos edit this file: nano /etc/pure-ftpd/pure-ftpd.conf, add TLS 2 in the conf file.
Add these 2 lines as well:
TLSCipherSuite HIGH
CertFile /etc/ssl/private/pure-ftpd.pem
Don't forget to issue the certfile. You will find a lot of articles for explicit ftp connection for fure-ftp. You can follow those instructions.
Regards
Aditya