confusion about setting up certificates
Jim Miller
jimm at simutronics.com
Thu Mar 17 15:36:44 EST 2005
Hi everyone,
My apologies if this rambles on abit but I'm very frustrated and can't seem
to figure out what I'm missing. I've setup cyrus-imap 2.2.10 to use openssl
certificates, users can connect and get mail just fine until I set
tls_require_certs: true -- When I do this Outlook users can no longer
connect but Thunderbird users can.
I would greatly appreciate any suggestions.
Here's the process I followed to setup my certificates -- I didn't
do -nodes:
openssl req -x509 -newkey rsa -out cacert.pem -outform PEM -days 1825
openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM \
-out tempreq.pem -outform PEM
openssl rsa < tempkey.pem > cyrus_key.pem
openssl ca -in tempreq.pem -out cyrus_crt.pem
cat cyrus_key.pem cyrus_crt.pem cacert.pem > /var/lib/cyrus/cyrus.pem
Set this in imapd.conf
tls_ca_file: /var/lib/cyrus/cyrus.pem
tls_cert_file: /var/lib/cyrus/cyrus.pem
tls_key_file: /var/lib/cyrus/cyrus.pem
I then distribute the cacert.pem as mailserver.crt and users import it into
IE/Thunderbird w/out problem.
Next I created a .p12 file from the cyrus_crt.pem for import into
IE/Thunderbird again w/out problems. Here's the process that I use to
generate it.
openssl pkcs12 -export -in cyrus_crt.pem -inkey cyrus_key.pem \
-name "result of - openssl x509 -noout -in cyrus_crt.pem -subject | sed -e
's;.*CN=;;' =-e 's;/Em.*;;'" \
-cname "result of - openssl x509 -noout -n cacert.pem -subject | sed -e
's;.*CN=;;' -e 's;Em.*;;'" \
-out mailserver.p12
Here's the output from SSLDUMP for Outlook
New TCP connection #4:
4 1 0.0006 (0.0006) C>S SSLv2 compatible client hello
Version 3.1
cipher suites
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
SSL2_CK_RC4
SSL2_CK_3DES
SSL2_CK_RC2
TLS_RSA_WITH_DES_CBC_SHA
SSL2_CK_DES
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT_WITH_RC4_40_MD5
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
SSL2_CK_RC4_EXPORT40
SSL2_CK_RC2_EXPORT40
4 2 0.3764 (0.3757) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
xx 44 xx b4 xx 11 xx ee xx 7b xx a2 xx f7 xx f3
5c xx da xx a3 xx 21 xx 6a xx 25 xx 62 xx 9a xx
cipherSuite TLS_RSA_WITH_RC4_128_MD5
compressionMethod NULL
4 3 0.3765 (0.0000) S>C Handshake
Certificate
4 4 0.3765 (0.0000) S>C Handshake
CertificateRequest
certificate_types rsa_sign
certificate_types dss_sign
certificate_authority
LINES removed
53 69 6d 75 xx 72 6f 6e 69 63 xx 20 43 6f 72 70
63 73 2e 63 6f 6d ServerHelloDone
4 5 0.3794 (0.0029) C>S Handshake
Certificate
ClientKeyExchange
4 6 0.3794 (0.0000) C>S ChangeCipherSpec
4 7 0.3794 (0.0000) C>S Handshake
4 8 0.3798 (0.0004) S>C Alert
level fatal
value handshake_failure
4 0.3802 (0.0004) C>S TCP FIN
Here's the output for Thunderbird w/SSLDUMP:
New TCP connection #1:
1 1 0.0008 (0.0008) C>S SSLv2 compatible client hello
Version 3.1
cipher suites
SSL2_CK_RC4
SSL2_CK_RC2
SSL2_CK_3DES
SSL2_CK_DES
SSL2_CK_RC4_EXPORT40
SSL2_CK_RC2_EXPORT40
Unknown value 0x39
Unknown value 0x38
Unknown value 0x35
Unknown value 0x33
Unknown value 0x32
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
Unknown value 0x2f
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
Unknown value 0xfeff
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
Unknown value 0xfefe
TLS_RSA_WITH_DES_CBC_SHA
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT_WITH_RC4_40_MD5
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
1 2 0.0053 (0.0045) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
xx 74 xx 33 xx cc xx 49 xx 3e xx c0 bd xx 0b xx
a8 xx 5f xx 7d xx b1 xx 79 be 3b xx 2a 69 f0 9d
cipherSuite TLS_RSA_WITH_RC4_128_MD5
compressionMethod NULL
1 3 0.0054 (0.0000) S>C Handshake
Certificate
1 4 0.0054 (0.0000) S>C Handshake
CertificateRequest
certificate_types rsa_sign
certificate_types dss_sign
certificate_authority
LINES removed
53 69 6d 75 xx 72 6f 6e 69 63 xx 20 43 6f 72 70
63 73 2e 63 6f 6d
ServerHelloDone
1 5 0.1347 (0.1293) C>S Handshake
Certificate
ClientKeyExchange
CertificateVerify
Signature[256]=
LINES removed
53 69 6d 75 xx 72 6f 6e 69 63 xx 20 43 6f 72 70
63 73 2e 63 6f 6d 1 6 0.1347 (0.0000) C>S ChangeCipherSpec
1 7 0.1347 (0.0000) C>S Handshake
1 8 0.1563 (0.0215) S>C ChangeCipherSpec
1 9 0.1563 (0.0000) S>C Handshake
1 10 0.3315 (0.1752) S>C application_data
1 11 0.4106 (0.0790) C>S application_data
1 12 0.4108 (0.0002) S>C application_data
Thanks,
Jim
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list