1 # Exim test configuration 2102
3 .include DIR/aux-var/tls_conf_prefix
6 primary_hostname = myhost.test.ex
8 # ----- Main settings -----
10 acl_smtp_rcpt = check_recipient
12 log_selector = +tls_peerdn
17 tls_advertise_hosts = 127.0.0.1 : HOSTIPV4
20 tls_require_ciphers = ORDER
23 CA = DIR/aux-fixed/exim-ca
25 DECDSA = CA/example_ec.com
27 tls_certificate = DRSA/server1.example.com/server1.example.com.pem \
28 : DECDSA/server1.example_ec.com/server1.example_ec.com.pem
29 tls_privatekey = DRSA/server1.example.com/server1.example.com.unlocked.key \
30 : DECDSA/server1.example_ec.com/server1.example_ec.com.unlocked.key
32 tls_verify_hosts = HOSTIPV4
33 tls_verify_certificates = DRSA/server2.example.com/ca_chain.pem
36 .ifdef _OPT_OPENSSL_NO_TLSV1_3_X
37 openssl_options = +no_tlsv1_3
47 logwrite = cipher: $tls_in_cipher
48 # This appears to lie. Despite what's on the wire, it returns the last cert loaded.
49 # Fixed in OpenSSL 1.1.1 ? Testcase golden logfile has the incorrect value.
50 warn logwrite = ${if def:tls_in_ourcert \
51 {Our cert SN: <${certextract{subject}{$tls_in_ourcert}}>} \
52 {We did not present a cert}}
53 accept condition = ${if !def:tls_in_peercert}
54 logwrite = Peer did not present a cert
55 accept logwrite = Peer cert:
56 logwrite = ver ${certextract {version}{$tls_in_peercert}}
57 logwrite = SR <${certextract {serial_number}{$tls_in_peercert}}>
58 logwrite = SN <${certextract {subject} {$tls_in_peercert}}>
59 logwrite = IN <${certextract {issuer} {$tls_in_peercert}}>
60 logwrite = IN/O <${certextract {issuer,O} {$tls_in_peercert}}>
61 logwrite = NB/r <${certextract {notbefore,raw} {$tls_in_peercert}}>
62 logwrite = NB <${certextract {notbefore} {$tls_in_peercert}}>
63 logwrite = NB/i <${certextract {notbefore,int}{$tls_in_peercert}}>
64 logwrite = NA/i <${certextract {notafter,int} {$tls_in_peercert}}>
65 logwrite = NA <${certextract {notafter} {$tls_in_peercert}}>
66 logwrite = SA <${certextract {sig_algorithm}{$tls_in_peercert}}>
67 logwrite = SG <${certextract {signature} {$tls_in_peercert}}>
68 logwrite = ${certextract {subj_altname} {$tls_in_peercert} {SAN <$value>}{(no SAN)}}
69 logwrite = ${certextract {ocsp_uri} {$tls_in_peercert} {OCU <$value>}{(no OCU)}}
70 logwrite = ${certextract {crl_uri} {$tls_in_peercert} {CRU <$value>}{(no CRU)}}
71 logwrite = md5 fingerprint ${md5:$tls_in_peercert}
72 logwrite = sha1 fingerprint ${sha1:$tls_in_peercert}
73 logwrite = sha256 fingerprint ${sha256:$tls_in_peercert}
74 logwrite = der_b64 ${base64:$tls_in_peercert}
75 logwrite = cipher: $tls_in_cipher
76 logwrite = cipher_ $tls_in_cipher_std
77 logwrite = ver: $tls_in_ver
87 transport = local_delivery
88 headers_add = tls-certificate-verified: $tls_certificate_verified
91 # ----- Transports -----
97 file = DIR/test-mail/$local_part
98 headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn