TLS fails on imaps port
Andrew Morgan
morgan at orst.edu
Mon Jan 25 15:01:00 EST 2010
On Mon, 25 Jan 2010, Bob Dye wrote:
> Andrew Morgan wrote:
>> On Sat, 23 Jan 2010, Bob Dye wrote:
>>
>>> I'm running Cyrus-imapd 2.3.7 on a Redhat Enterprise Linux 5 system.
>>>
>>> TLS works fine if I connect to the imap port (143). If I try to connect
>>> instead via the imaps port (993), the attempt times out and I get the
>>> following in the log:
>>>
>>> imaps[27170]: imaps TLS negotiation failed: [xx.xx.xx.xx]
>>> imaps[27170]: Fatal error: tls_start_servertls() failed
>>>
>>> Any ideas?
>>
>> Try the command line openssl client and see if it can negotiate SSL/TLS.
>> Something like this:
>>
>> openssl s_client -connect your_server_dns_name:993 -CApath /etc/ssl/certs
>>
>> CApath should be the path to your local CA certificates directory,
>> /etc/ssl/certs on Debian Linux. You could also add -debug to get a hex
>> dump of the traffic.
>>
>> Can you post your imapd.conf file (sanitized)?
>>
>> Andy
> The openssl client connects successfully with TLSv1, AES256-SHA cipher, and
>
> * OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=PLAIN AUTH=DIGEST-MD5
> AUTH=CRAM-MD5 SASL-IR] netserver.vintagefactor.com Cyrus IMAP4
> v2.3.7-Invoca-RPM-2.3.7-7.el5_4.3 server ready
>
> I have a very standard imap.conf except for the use of SQL:
>
> configdirectory: /var/lib/imap
> partition-default: /var/spool/imap
> admins: cyrus root
> sievedir: /var/lib/imap/sieve
> sendmail: /usr/sbin/sendmail
> hashimapspool: true
> sasl_log_level: 10
> sasl_mech_list: PLAIN CRAM-MD5 DIGEST-MD5
> sasl_pwcheck_method: auxprop
> sasl_auxprop_plugin: sql
> sasl_sql_engine: mysql
> sasl_auto_transition: no
> sasl_sql_hostnames: mail-db.vintagefactor.com
> sasl_sql_user: mail
> sasl_sql_passwd: xxxxxxxx
> sasl_sql_database: mail
> sasl_sql_statement: SELECT password FROM accountuser WHERE username = '%u'
> allowplaintext: yes
> unixhierarchysep: yes
> tls_require_cert: false
> tls_imap_require_cert: true
> tls_cert_file: /usr/share/ssl/certs/xxx.crt
> tls_key_file: /usr/share/ssl/private/xxx.key
> tls_ca_file: /usr/share/ssl/xxx.crt
It sounds like a client configuration problem then. You should choose
"SSL" when connecting to port 993 and "TLS" when connecting to port 143.
Andy
More information about the Info-cyrus
mailing list