On the other hand, an explicit connection requires that the client explicitly specify to the server that it wants a secure connection. Typically this is done by the client sending a command to the server that causes the server to begin negotiating with the client to establish a secure session. An example of this is the File Transfer Protocol (FTP), where the client can use the AUTH command to tell the server that it wants a secure connection. Servers may also support both explicit and implicit secure connections, based on which port the client connects to. SocketTools supports both implicit and explicit secure connections. If the Secure property is set to true prior to calling the Connect method, then an implicit secure connection is established. Setting the Secure property to true after a connection has been established will cause SocketTools to begin negotiating a secure connection at that time.
In addition to establishing a secure connection, you may also be required to provide additional authentication information to the server in form a client certificate. For example, a server may require that the client provide a certificate in addition to or instead of a username and password. To support this, your application must specify the security credentials for the client prior to establishing a connection. For more information, refer to the CertificateStore and CertificateName properties in the Technical Reference.