On Wed, Dec 08, 2010 at 11:03:10AM -0500, Zhou, Yan wrote: > Why is that? Which one should I use: starttls or tls/ssl for secure > connections?
There are two ways to secure a protocol with SSL/TLS. - Encapsulate the entire protocol in SSL/TLS. A "secure" port is known for the SSL-encapsulated protocol, the client connects to the secure port and immediately begins an SSL handshake, once that completes, the client can send application protocol messages. - Extend the application protocol with a "STARTTLS" verb, which switches the communication channel from plaintext to SSL/TLS. This runs on the normal application port, and the timing of the SSL handshake is delayed until the client and server agree at the application level to perform the necessary handshake. The two approaches are fundamentally not interoperable, the application protocol won't tolerate an unanounced CLIENT SSL HELLO and the encapsulated protocol won't tolerate plaintext application messages. -- Viktor.