If you are trying to connect to an FTP server using implicit SSL, and you get an error message such as this:
DllDate: Sep 24 2007
Username: NETWORK SERVICE
Component: .NET 2.0
initialResponse: 220 *** FTP server (***) ready.
converting to secure connection...
ClientCertDN: O=***.net, OU=*** CN=***.net
Aborting because of fatal error
Error performing handshake.
Failed to connect to FTP server.
The problem is likely that the FTP server is not expecting an implicit SSL connection. Notice that in this log the FTP control port is 21. Port 21 is the default port for unencrypted (non-SSL) connections, whereas port 990 is for implicit SSL FTP connections. You can verify by opening a DOS command prompt and typing "telnet ftp.***.com 21″. If you receive a human-readable "ready" message from the FTP server — it is not expecting an SSL connection.
The reason for the "invalid token" error message is that the FTP client is attempting to initiate an SSL handshake to establish a secure connection. However, the FTP server is sending a human-readable "ready" message instead of the initial SSL token…