Timo Sirainen wrote:
On Fri, 2009-06-26 at 23:39 +0400, Proskurin Kirill wrote:
SSL just binds to special port(like 993 in IMAP by default).
No, SSL is a protocol, just like TLS. It doesn't bind to any ports. http://wiki.dovecot.org/SSL
To illustrate, both SSL and TLS as implemented in Dovecot utilize "SSL certificates."
A typical "TLS" session will work as follows:
1 The client connects to the IMAP service on port 143, unencrypted. 2 The server announces that it speaks TLS. 3 The client says "Ok, let's talk encrypted." 4 Magic occurs, and the session becomes encrypted. This step is where your "SSL" certificate is used. 5 The rest of the session is encrypted.
/Usually/, when people refer to SSL as opposed to TLS, they mean IMAPS or POPS. These differ in that there's no "Hey, I speak TLS" step. It is assumed that the conversation will begin according to some secure protocol, kind of like when you connect to a web server on port 443.
1 The client connects to IMAPS on port 993, and performs the secure handshake. Your "SSL" certificate is used in here somewhere. 2 Once the handshake has completed, the rest of the session is secure.
When implementing IMAPS/POPS you will usually use a different port, because if you tried to talk plaintext to the server, it would appear to be speaking gibberish (whatever secure protocol is being used).
With TLS enabled on a normal IMAP port, the switch from plaintext to encrypted is optional. Although, it's usually a good idea to force TLS, too.
Much of the confusion comes from the fact that you can use either protocol, TLSv1 or SSLv3 after the "Hey I speak TLS" step. Likewise, you can use TLSv1 with IMAPS or POPS, though it's use will be implied and there will be no "Hey, I speak TLS" step. There's really no agreement amongst mail clients as to the meaning of "Use SSL" and "Use TLS."
You may find it easiest to concentrate on the one distinction: does the session begin encrypted, or does it switch from plaintext to encrypted at some point? Once you've answered that, either of the SSLv3 or TLSv1 protocols can be used, and they will both use your "SSL" certificate.
Ultimately, you may wind up using both, depending on your user base. Many versions of Outlook are screwy with regard to one or both of these methods.