Commit | Line | Data |
---|---|---|
afda344b PH |
1 | # Exim test configuration 2102 |
2 | ||
d4dc049f JH |
3 | .include DIR/aux-var/tls_conf_prefix |
4 | ||
e9477a08 | 5 | timezone = UTC |
d4dc049f | 6 | primary_hostname = myhost.test.ex |
afda344b PH |
7 | |
8 | # ----- Main settings ----- | |
9 | ||
10 | acl_smtp_rcpt = check_recipient | |
11 | ||
12 | log_selector = +tls_peerdn | |
13 | ||
14 | queue_only | |
15 | queue_run_in_order | |
16 | ||
17 | tls_advertise_hosts = 127.0.0.1 : HOSTIPV4 | |
18 | ||
ba86e143 JH |
19 | .ifdef ORDER |
20 | tls_require_ciphers = ORDER | |
21 | .endif | |
22 | ||
23 | CA = DIR/aux-fixed/exim-ca | |
24 | DRSA = CA/example.com | |
25 | DECDSA = CA/example_ec.com | |
26 | ||
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 | |
afda344b PH |
31 | |
32 | tls_verify_hosts = HOSTIPV4 | |
ba86e143 | 33 | tls_verify_certificates = DRSA/server2.example.com/ca_chain.pem |
afda344b PH |
34 | |
35 | ||
36 | # ------ ACL ------ | |
37 | ||
38 | begin acl | |
39 | ||
40 | check_recipient: | |
41 | accept hosts = : | |
42 | deny hosts = HOSTIPV4 | |
ba86e143 | 43 | !encrypted = * |
131c0f8a | 44 | logwrite = cipher: $tls_in_cipher |
ba86e143 | 45 | # This appears to lie. Despite what's on the wire, it returns the last cert loaded. |
9e9ad3ee | 46 | # Fixed in OpenSSL 1.1.1 ? Testcase golden logfile has the incorrect value. |
9d1c15ef JH |
47 | warn logwrite = ${if def:tls_in_ourcert \ |
48 | {Our cert SN: <${certextract{subject}{$tls_in_ourcert}}>} \ | |
49 | {We did not present a cert}} | |
50 | accept condition = ${if !def:tls_in_peercert} | |
51 | logwrite = Peer did not present a cert | |
52 | accept logwrite = Peer cert: | |
53 | logwrite = ver ${certextract {version}{$tls_in_peercert}} | |
54 | logwrite = SR <${certextract {serial_number}{$tls_in_peercert}}> | |
55 | logwrite = SN <${certextract {subject} {$tls_in_peercert}}> | |
56 | logwrite = IN <${certextract {issuer} {$tls_in_peercert}}> | |
812a6045 | 57 | logwrite = IN/O <${certextract {issuer,O} {$tls_in_peercert}}> |
e9477a08 JH |
58 | logwrite = NB/r <${certextract {notbefore,raw} {$tls_in_peercert}}> |
59 | logwrite = NB <${certextract {notbefore} {$tls_in_peercert}}> | |
25ba2544 | 60 | logwrite = NB/i <${certextract {notbefore,int}{$tls_in_peercert}}> |
e4b6aa96 JH |
61 | logwrite = NA/i <${certextract {notafter,int} {$tls_in_peercert}}> |
62 | logwrite = NA <${certextract {notafter} {$tls_in_peercert}}> | |
9e4dddbd | 63 | logwrite = SA <${certextract {sig_algorithm}{$tls_in_peercert}}> |
9d1c15ef | 64 | logwrite = SG <${certextract {signature} {$tls_in_peercert}}> |
9e4dddbd | 65 | logwrite = ${certextract {subj_altname} {$tls_in_peercert} {SAN <$value>}{(no SAN)}} |
9d1c15ef JH |
66 | logwrite = ${certextract {ocsp_uri} {$tls_in_peercert} {OCU <$value>}{(no OCU)}} |
67 | logwrite = ${certextract {crl_uri} {$tls_in_peercert} {CRU <$value>}{(no CRU)}} | |
9ef9101c JH |
68 | logwrite = md5 fingerprint ${md5:$tls_in_peercert} |
69 | logwrite = sha1 fingerprint ${sha1:$tls_in_peercert} | |
70 | logwrite = sha256 fingerprint ${sha256:$tls_in_peercert} | |
59b87190 | 71 | logwrite = der_b64 ${base64:$tls_in_peercert} |
afda344b PH |
72 | |
73 | ||
74 | # ----- Routers ----- | |
75 | ||
76 | begin routers | |
77 | ||
78 | abc: | |
79 | driver = accept | |
80 | retry_use_local_part | |
81 | transport = local_delivery | |
82 | headers_add = tls-certificate-verified: $tls_certificate_verified | |
83 | ||
84 | ||
85 | # ----- Transports ----- | |
86 | ||
87 | begin transports | |
88 | ||
89 | local_delivery: | |
90 | driver = appendfile | |
91 | file = DIR/test-mail/$local_part | |
92 | headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn | |
93 | user = CALLER | |
94 | ||
95 | # End |