testcase
[exim.git] / test / confs / 2102
1 # Exim test configuration 2102
2
3 exim_path = EXIM_PATH
4 keep_environment =
5 host_lookup_order = bydns
6 primary_hostname = myhost.test.ex
7 spool_directory = DIR/spool
8 log_file_path = DIR/spool/log/%slog
9 gecos_pattern = ""
10 gecos_name = CALLER_NAME
11 timezone = UTC
12
13 # ----- Main settings -----
14
15 acl_smtp_rcpt = check_recipient
16
17 log_selector = +tls_peerdn
18
19 queue_only
20 queue_run_in_order
21
22 tls_advertise_hosts = 127.0.0.1 : HOSTIPV4
23
24 tls_certificate = DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.pem
25 tls_privatekey = DIR/aux-fixed/exim-ca/example.com/server1.example.com/server1.example.com.unlocked.key
26
27 tls_verify_hosts = HOSTIPV4
28 tls_verify_certificates = DIR/aux-fixed/exim-ca/example.com/server2.example.com/ca_chain.pem
29
30
31 # ------ ACL ------
32
33 begin acl
34
35 check_recipient:
36   accept  hosts = :
37   deny    hosts = HOSTIPV4
38          !encrypted = AES256-SHA : \
39                       AES256-GCM-SHA384 : \
40                       AES128-GCM-SHA256 : \
41                       IDEA-CBC-MD5 : \
42                       DES-CBC3-SHA : \
43                       DHE-RSA-AES256-SHA : \
44                       DHE-RSA-AES256-GCM-SHA384 : \
45                       DHE_RSA_AES_256_CBC_SHA1 : \
46                       DHE_RSA_3DES_EDE_CBC_SHA : \
47                       ECDHE-RSA-AES256-GCM-SHA384 : \
48                       ECDHE-RSA-AES128-GCM-SHA256
49   warn    logwrite =  ${if def:tls_in_ourcert \
50                 {Our cert SN: <${certextract{subject}{$tls_in_ourcert}}>} \
51                 {We did not present a cert}}
52   accept  condition = ${if !def:tls_in_peercert}
53           logwrite =  Peer did not present a cert
54   accept  logwrite =  Peer cert:
55           logwrite =  ver ${certextract {version}{$tls_in_peercert}}
56           logwrite =  SR  <${certextract {serial_number}{$tls_in_peercert}}>
57           logwrite =  SN  <${certextract {subject}      {$tls_in_peercert}}>
58           logwrite =  IN  <${certextract {issuer}       {$tls_in_peercert}}>
59           logwrite =  IN/O <${certextract {issuer,O}    {$tls_in_peercert}}>
60           logwrite =  NB/r <${certextract {notbefore,raw}       {$tls_in_peercert}}>
61           logwrite =  NB   <${certextract {notbefore}   {$tls_in_peercert}}>
62           logwrite =  NB/i <${certextract {notbefore,int}{$tls_in_peercert}}>
63           logwrite =  NA  <${certextract {notafter}     {$tls_in_peercert}}>
64           logwrite =  SA  <${certextract {sig_algorithm}{$tls_in_peercert}}>
65           logwrite =  SG  <${certextract {signature}    {$tls_in_peercert}}>
66           logwrite =       ${certextract {subj_altname} {$tls_in_peercert} {SAN <$value>}{(no SAN)}}
67           logwrite =       ${certextract {ocsp_uri}     {$tls_in_peercert} {OCU <$value>}{(no OCU)}}
68           logwrite =       ${certextract {crl_uri}      {$tls_in_peercert} {CRU <$value>}{(no CRU)}}
69           logwrite =  md5    fingerprint ${md5:$tls_in_peercert}
70           logwrite =  sha1   fingerprint ${sha1:$tls_in_peercert}
71           logwrite =  sha256 fingerprint ${sha256:$tls_in_peercert}
72           logwrite =  der_b64 ${base64:$tls_in_peercert}
73
74
75 # ----- Routers -----
76
77 begin routers
78
79 abc:
80   driver = accept
81   retry_use_local_part
82   transport = local_delivery
83   headers_add = tls-certificate-verified: $tls_certificate_verified
84
85
86 # ----- Transports -----
87
88 begin transports
89
90 local_delivery:
91   driver = appendfile
92   file = DIR/test-mail/$local_part
93   headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
94   user = CALLER
95
96 # End