blob: f4252668e625cf32d82be610ad933a09b2385a90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
# Exim test configuration 5655
# OCSP stapling, server, multiple chain-element OCSP. Both GnuTLS and OpenSSL.
.include DIR/aux-var/tls_conf_prefix
primary_hostname = server1.example.com
# ----- Main settings -----
acl_smtp_mail = check_mail
acl_smtp_rcpt = check_recipient
log_selector = +tls_peerdn
queue_only
queue_run_in_order
tls_advertise_hosts = *
CADIR = DIR/aux-fixed/exim-ca
DRSA = CADIR/example.com
DECDSA = CADIR/example_ec.com
tls_certificate = DRSA/server1.example.com/fullchain.pem
tls_privatekey = DRSA/server1.example.com/server1.example.com.unlocked.key
.ifndef CONTROL
tls_ocsp_file = PEM DRSA/server1.example.com/fullchain.ocsp.resp.pem
.else
tls_ocsp_file = PEM DIR/tmp/ocsp/double_r.ocsp.pem
.endif
.ifdef _HAVE_GNUTLS
tls_require_ciphers = ${if eq {TRUSTED}{TLS1.2} {NORMAL:!VERS-ALL:+VERS-TLS1.2} {}}
.endif
.ifdef _HAVE_OPENSSL
.ifdef TRUSTED
openssl_options = ${if eq {TRUSTED}{TLS1.2} {+no_tlsv1_3} {}}
.endif
.endif
# ------ ACL ------
begin acl
check_mail:
accept logwrite = acl_mail: ocsp in status: $tls_in_ocsp \
(${listextract {${eval:$tls_in_ocsp+1}} \
{notreq:notresp:vfynotdone:failed:verified}})
check_recipient:
accept
# ----- Routers -----
begin routers
client:
driver = manualroute
condition = ${if !eq {SERVER}{server}}
route_list = * 127.0.0.1
self = send
transport = remote_delivery
errors_to = ""
srvr:
driver = accept
retry_use_local_part
transport = local_delivery
# ----- Transports -----
begin transports
remote_delivery:
driver = smtp
port = PORT_D
hosts_require_tls = *
.ifdef _HAVE_GNUTLS
tls_require_ciphers = ${if eq {TRUSTED}{TLS1.2} \
{NONE:\
+SIGN-RSA-SHA256:+VERS-TLS-ALL:+ECDHE-RSA:+DHE-RSA:+RSA\
:+CIPHER-ALL:+MAC-ALL:+COMP-NULL:+CURVE-ALL:+CTYPE-X509} \
{}}
.endif
.ifdef _HAVE_OPENSSL
tls_require_ciphers = RSA
.endif
tls_verify_certificates = CADIR/example.com/server1.example.com/ca_chain.pem
hosts_require_ocsp = *
tls_verify_cert_hostnames = :
local_delivery:
driver = appendfile
file = DIR/test-mail/$local_part
create_file = DIR/test-mail
headers_add = TLS: cipher=$tls_cipher peerdn=$tls_peerdn
user = CALLER
# End
|