sender verify callout
[exim.git] / test / confs / 2033
CommitLineData
7f3555b3 1# Exim test configuration 2033
a320fabd 2# TLS client: verify certificate from server - name-fails
e51c7be2
JH
3
4SERVER=
5
6exim_path = EXIM_PATH
7host_lookup_order = bydns
8primary_hostname = myhost.test.ex
e51c7be2
JH
9spool_directory = DIR/spool
10log_file_path = DIR/spool/log/SERVER%slog
11gecos_pattern = ""
12gecos_name = CALLER_NAME
13
14FX = DIR/aux-fixed
15S1 = FX/exim-ca/example.com/server1.example.com
16
17CA1 = S1/ca_chain.pem
18CERT1 = S1/server1.example.com.pem
19KEY1 = S1/server1.example.com.unlocked.key
20CA2 = FX/cert2
21CERT2 = FX/cert2
22KEY2 = FX/cert2
23
24# ----- Main settings -----
25
26acl_smtp_rcpt = accept
27
28log_selector = +tls_peerdn+tls_certificate_verified
29
30queue_only
31queue_run_in_order
32
33tls_advertise_hosts = *
34
35# Set certificate only if server
36
37tls_certificate = ${if eq {SERVER}{server}{CERT1}fail}
38tls_privatekey = ${if eq {SERVER}{server}{KEY1}fail}
39
40tls_verify_hosts = *
41tls_verify_certificates = ${if eq {SERVER}{server}{CERT2}fail}
42
43
44# ----- Routers -----
45
46begin routers
47
48server_dump:
49 driver = redirect
50 condition = ${if eq {SERVER}{server}{yes}{no}}
51 data = :blackhole:
52
53client_x:
54 driver = accept
55 local_parts = userx
56 retry_use_local_part
57 transport = send_to_server_failcert
58 errors_to = ""
59
60client_y:
61 driver = accept
62 local_parts = usery
63 retry_use_local_part
64 transport = send_to_server_retry
65
66client_z:
67 driver = accept
68 local_parts = userz
69 retry_use_local_part
70 transport = send_to_server_crypt
71
72client_q:
73 driver = accept
74 local_parts = userq
75 retry_use_local_part
76 transport = send_to_server_req_fail
77
78client_r:
79 driver = accept
80 local_parts = userr
81 retry_use_local_part
82 transport = send_to_server_req_failname
83
84client_s:
85 driver = accept
86 local_parts = users
87 retry_use_local_part
88 transport = send_to_server_req_passname
89
aa2a70ba
JH
90client_t:
91 driver = accept
92 local_parts = usert
93 retry_use_local_part
94 transport = send_to_server_req_failcarryon
e51c7be2
JH
95
96# ----- Transports -----
97
98begin transports
99
100# this will fail to verify the cert at HOSTIPV4 so fail the crypt requirement
101send_to_server_failcert:
102 driver = smtp
103 allow_localhost
104 hosts = HOSTIPV4
105 hosts_require_tls = HOSTIPV4
106 port = PORT_D
107 tls_certificate = CERT2
108 tls_privatekey = CERT2
109
110 tls_verify_certificates = CA2
111
112# this will fail to verify the cert at HOSTIPV4 so fail the crypt, then retry on 127.1; ok
113send_to_server_retry:
114 driver = smtp
115 allow_localhost
116 hosts = HOSTIPV4 : 127.0.0.1
117 hosts_require_tls = HOSTIPV4
118 port = PORT_D
119 tls_certificate = CERT2
120 tls_privatekey = CERT2
121
122 tls_verify_certificates = \
123 ${if eq{$host_address}{127.0.0.1}{CA1}{CA2}}
124
125# this will fail to verify the cert but continue unverified though crypted
126send_to_server_crypt:
127 driver = smtp
128 allow_localhost
129 hosts = HOSTIPV4
130 hosts_require_tls = HOSTIPV4
131 port = PORT_D
132 tls_certificate = CERT2
133 tls_privatekey = CERT2
134
135 tls_verify_certificates = CA2
136 tls_try_verify_hosts = *
137
a320fabd
JH
138# this will fail to verify the cert at HOSTNAME and fallback to unencrypted
139# Fail due to lack of correct CA
e51c7be2
JH
140send_to_server_req_fail:
141 driver = smtp
142 allow_localhost
a320fabd 143 hosts = HOSTNAME
e51c7be2
JH
144 port = PORT_D
145 tls_certificate = CERT2
146 tls_privatekey = CERT2
147
148 tls_verify_certificates = CA2
149 tls_verify_hosts = *
150
151# this will fail to verify the cert name and fallback to unencrypted
a320fabd 152# fail because the cert is "server1.example.com" and the test system is something else
e51c7be2
JH
153send_to_server_req_failname:
154 driver = smtp
155 allow_localhost
a320fabd 156 hosts = HOSTNAME
e51c7be2
JH
157 port = PORT_D
158 tls_certificate = CERT2
159 tls_privatekey = CERT2
160
161 tls_verify_certificates = CA1
a320fabd 162 tls_verify_cert_hostnames = *
e51c7be2
JH
163 tls_verify_hosts = *
164
165# this will pass the cert verify including name check
a320fabd 166# our stunt DNS has an A record for server1.example.com -> HOSTIPV4
e51c7be2
JH
167send_to_server_req_passname:
168 driver = smtp
169 allow_localhost
a320fabd 170 hosts = server1.example.com
e51c7be2
JH
171 port = PORT_D
172 tls_certificate = CERT2
173 tls_privatekey = CERT2
174
175 tls_verify_certificates = CA1
a320fabd 176 tls_verify_cert_hostnames = *
e51c7be2
JH
177 tls_verify_hosts = *
178
aa2a70ba
JH
179# this will fail to verify the cert name but carry on (try-verify mode)
180# fail because the cert is "server1.example.com" and the test system is something else
181send_to_server_req_failcarryon:
182 driver = smtp
183 allow_localhost
184 hosts = HOSTNAME
185 port = PORT_D
186 tls_certificate = CERT2
187 tls_privatekey = CERT2
188
189 tls_verify_certificates = CA1
190 tls_verify_cert_hostnames = *
191 tls_try_verify_hosts = *
192
e51c7be2 193# End