1SWANCTL.CONF(5) strongSwan SWANCTL.CONF(5)
2
3
4
6 swanctl.conf - swanctl configuration file
7
9 swanctl.conf is the configuration file used by the swanctl(8) tool to
10 load configurations and credentials into the strongSwan IKE daemon.
11
12 For a description of the basic file syntax, including how to reference
13 sections or split the configuration in multiple files by including
14 other files, refer to strongswan.conf(5).
15
16
18 For all options that define a time, the time is specified in seconds.
19 The s, m, h and d suffixes explicitly define the units for seconds,
20 minutes, hours and days, respectively.
21
22
24 The following settings can be used to configure connections, creden‐
25 tials and pools.
26
27 connections
28 Section defining IKE connection configurations.
29
30 The connections section defines IKE connection configurations,
31 each in its own subsections. In the keyword description below,
32 the connection is named <conn>, but an arbitrary yet unique con‐
33 nection name can be chosen for each connection subsection.
34
35
36 connections.<conn>
37 Section for an IKE connection named <conn>.
38
39
40 connections.<conn>.version [0]
41 IKE major version to use for connection. 1 uses IKEv1 aka
42 ISAKMP, 2 uses IKEv2. A connection using the default of 0
43 accepts both IKEv1 and IKEv2 as responder, and initiates the
44 connection actively with IKEv2.
45
46
47 connections.<conn>.local_addrs [%any]
48 Local address(es) to use for IKE communication, comma separated.
49 Takes single IPv4/IPv6 addresses, DNS names, CIDR subnets or IP
50 address ranges.
51
52 As initiator, the first non-range/non-subnet is used to initiate
53 the connection from. As responder, the local destination address
54 must match at least to one of the specified addresses, subnets
55 or ranges.
56
57 If FQDNs are assigned they are resolved every time a configura‐
58 tion lookup is done. If DNS resolution times out, the lookup is
59 delayed for that time.
60
61
62 connections.<conn>.remote_addrs [%any]
63 Remote address(es) to use for IKE communication, comma sepa‐
64 rated. Takes single IPv4/IPv6 addresses, DNS names, CIDR subnets
65 or IP address ranges.
66
67 As initiator, the first non-range/non-subnet is used to initiate
68 the connection to. As responder, the initiator source address
69 must match at least to one of the specified addresses, subnets
70 or ranges.
71
72 If FQDNs are assigned they are resolved every time a configura‐
73 tion lookup is done. If DNS resolution times out, the lookup is
74 delayed for that time.
75
76 To initiate a connection, at least one specific address or DNS
77 name must be specified.
78
79
80 connections.<conn>.local_port [500]
81 Local UDP port for IKE communication. By default the port of the
82 socket backend is used, which is usually 500. If port 500 is
83 used, automatic IKE port floating to port 4500 is used to work
84 around NAT issues.
85
86 Using a non-default local IKE port requires support from the
87 socket backend in use (socket-dynamic).
88
89
90 connections.<conn>.remote_port [500]
91 Remote UDP port for IKE communication. If the default of port
92 500 is used, automatic IKE port floating to port 4500 is used to
93 work around NAT issues.
94
95
96 connections.<conn>.proposals [default]
97 A proposal is a set of algorithms. For non-AEAD algorithms, this
98 includes for IKE an encryption algorithm, an integrity algo‐
99 rithm, a pseudo random function and a Diffie-Hellman group. For
100 AEAD algorithms, instead of encryption and integrity algorithms,
101 a combined algorithm is used.
102
103 In IKEv2, multiple algorithms of the same kind can be specified
104 in a single proposal, from which one gets selected. In IKEv1,
105 only one algorithm per kind is allowed per proposal, more algo‐
106 rithms get implicitly stripped. Use multiple proposals to offer
107 different algorithms combinations in IKEv1.
108
109 Algorithm keywords get separated using dashes. Multiple propos‐
110 als may be separated by commas. The special value default forms
111 a default proposal of supported algorithms considered safe, and
112 is usually a good choice for interoperability.
113
114
115 connections.<conn>.vips []
116 Comma separated list of virtual IPs to request in IKEv2 configu‐
117 ration payloads or IKEv1 Mode Config. The wildcard addresses
118 0.0.0.0 and :: request an arbitrary address, specific addresses
119 may be defined. The responder may return a different address,
120 though, or none at all.
121
122
123 connections.<conn>.aggressive [no]
124 Enables Aggressive Mode instead of Main Mode with Identity Pro‐
125 tection. Aggressive Mode is considered less secure, because the
126 ID and HASH payloads are exchanged unprotected. This allows a
127 passive attacker to snoop peer identities, and even worse, start
128 dictionary attacks on the Preshared Key.
129
130
131 connections.<conn>.pull [yes]
132 If the default of yes is used, Mode Config works in pull mode,
133 where the initiator actively requests a virtual IP. With no,
134 push mode is used, where the responder pushes down a virtual IP
135 to the initiating peer.
136
137 Push mode is currently supported for IKEv1, but not in IKEv2. It
138 is used by a few implementations only, pull mode is recommended.
139
140
141 connections.<conn>.dscp [000000]
142 Differentiated Services Field Codepoint to set on outgoing IKE
143 packets for this connection. The value is a six digit binary
144 encoded string specifying the Codepoint to set, as defined in
145 RFC 2474.
146
147
148 connections.<conn>.encap [no]
149 To enforce UDP encapsulation of ESP packets, the IKE daemon can
150 fake the NAT detection payloads. This makes the peer believe
151 that NAT takes place on the path, forcing it to encapsulate ESP
152 packets in UDP.
153
154 Usually this is not required, but it can help to work around
155 connectivity issues with too restrictive intermediary firewalls.
156
157
158 connections.<conn>.mobike [yes]
159 Enables MOBIKE on IKEv2 connections. MOBIKE is enabled by
160 default on IKEv2 connections, and allows mobility of clients and
161 multi-homing on servers by migrating active IPsec tunnels.
162
163 Usually keeping MOBIKE enabled is unproblematic, as it is not
164 used if the peer does not indicate support for it. However, due
165 to the design of MOBIKE, IKEv2 always floats to port 4500 start‐
166 ing from the second exchange. Some implementations don't like
167 this behavior, hence it can be disabled.
168
169
170 connections.<conn>.dpd_delay [0s]
171 Interval to check the liveness of a peer actively using IKEv2
172 INFORMATIONAL exchanges or IKEv1 R_U_THERE messages. Active DPD
173 checking is only enforced if no IKE or ESP/AH packet has been
174 received for the configured DPD delay.
175
176
177 connections.<conn>.dpd_timeout [0s]
178 Charon by default uses the normal retransmission mechanism and
179 timeouts to check the liveness of a peer, as all messages are
180 used for liveness checking. For compatibility reasons, with
181 IKEv1 a custom interval may be specified; this option has no
182 effect on connections using IKE2.
183
184
185 connections.<conn>.fragmentation [yes]
186 Use IKE fragmentation (proprietary IKEv1 extension or RFC 7383
187 IKEv2 fragmentation). Acceptable values are yes (the
188 default), accept, force and no. If set to yes, and the peer
189 supports it, oversized IKE messages will be sent in fragments.
190 If set to accept, support for fragmentation is announced to the
191 peer but the daemon does not send its own messages in fragments.
192 If set to force (only supported for IKEv1) the initial IKE mes‐
193 sage will already be fragmented if required. Finally, setting
194 the option to no will disable announcing support for this fea‐
195 ture.
196
197 Note that fragmented IKE messages sent by a peer are always
198 accepted irrespective of the value of this option (even when set
199 to no).
200
201
202
203 connections.<conn>.send_certreq [yes]
204 Send certificate request payloads to offer trusted root CA cer‐
205 tificates to the peer. Certificate requests help the peer to
206 choose an appropriate certificate/private key for authentication
207 and are enabled by default.
208
209 Disabling certificate requests can be useful if too many trusted
210 root CA certificates are installed, as each certificate request
211 increases the size of the initial IKE packets.
212
213
214 connections.<conn>.send_cert [ifasked]
215 Send certificate payloads when using certificate authentication.
216 With the default of ifasked the daemon sends certificate pay‐
217 loads only if certificate requests have been received. never
218 disables sending of certificate payloads altogether, always
219 causes certificate payloads to be sent unconditionally whenever
220 certificate authentication is used.
221
222
223 connections.<conn>.ppk_id []
224 String identifying the Postquantum Preshared Key (PPK) to be
225 used.
226
227
228 connections.<conn>.ppk_required [no]
229 Whether a Postquantum Preshared Key (PPK) is required for this
230 connection.
231
232
233 connections.<conn>.keyingtries [1]
234 Number of retransmission sequences to perform during initial
235 connect. Instead of giving up initiation after the first
236 retransmission sequence with the default value of 1, additional
237 sequences may be started according to the configured value. A
238 value of 0 initiates a new sequence until the connection estab‐
239 lishes or fails with a permanent error.
240
241
242 connections.<conn>.unique [no]
243 Connection uniqueness policy to enforce. To avoid multiple con‐
244 nections from the same user, a uniqueness policy can be
245 enforced. The value never does never enforce such a policy, even
246 if a peer included INITIAL_CONTACT notification messages,
247 whereas no replaces existing connections for the same identity
248 if a new one has the INITIAL_CONTACT notify. keep rejects new
249 connection attempts if the same user already has an active con‐
250 nection, replace deletes any existing connection if a new one
251 for the same user gets established.
252
253 To compare connections for uniqueness, the remote IKE identity
254 is used. If EAP or XAuth authentication is involved, the
255 EAP-Identity or XAuth username is used to enforce the uniqueness
256 policy instead.
257
258 On initiators this setting specifies whether an INITIAL_CONTACT
259 notify is sent during IKE_AUTH if no existing connection is
260 found with the remote peer (determined by the identities of the
261 first authentication round). Unless set to never the client will
262 send a notify.
263
264
265 connections.<conn>.reauth_time [0s]
266 Time to schedule IKE reauthentication. IKE reauthentication
267 recreates the IKE/ISAKMP SA from scratch and re-evaluates the
268 credentials. In asymmetric configurations (with EAP or configu‐
269 ration payloads) it might not be possible to actively reauthen‐
270 ticate as responder. The IKEv2 reauthentication lifetime negoti‐
271 ation can instruct the client to perform reauthentication.
272
273 Reauthentication is disabled by default. Enabling it usually may
274 lead to small connection interruptions, as strongSwan uses a
275 break-before-make policy with IKEv2 to avoid any conflicts with
276 associated tunnel resources.
277
278
279 connections.<conn>.rekey_time [4h]
280 IKE rekeying refreshes key material using a Diffie-Hellman
281 exchange, but does not re-check associated credentials. It is
282 supported in IKEv2 only, IKEv1 performs a reauthentication pro‐
283 cedure instead.
284
285 With the default value IKE rekeying is scheduled every 4 hours,
286 minus the configured rand_time. If a reauth_time is configured,
287 rekey_time defaults to zero disabling rekeying; explicitly set
288 both to enforce rekeying and reauthentication.
289
290
291 connections.<conn>.over_time [10% of rekey_time/reauth_time]
292 Hard IKE_SA lifetime if rekey/reauth does not complete, as time.
293 To avoid having an IKE/ISAKMP kept alive if IKE reauthentication
294 or rekeying fails perpetually, a maximum hard lifetime may be
295 specified. If the IKE_SA fails to rekey or reauthenticate within
296 the specified time, the IKE_SA gets closed.
297
298 In contrast to CHILD_SA rekeying, over_time is relative in time
299 to the rekey_time and reauth_time values, as it applies to both.
300
301 The default is 10% of the longer of rekey_time and reauth_time.
302
303
304
305 connections.<conn>.rand_time [over_time]
306 Time range from which to choose a random value to subtract from
307 rekey/reauth times. To avoid having both peers initiating the
308 rekey/reauth procedure simultaneously, a random time gets sub‐
309 tracted from the rekey/reauth times.
310
311 The default is equal to the configured over_time.
312
313
314
315 connections.<conn>.pools []
316 Comma separated list of named IP pools to allocate virtual IP
317 addresses and other configuration attributes from. Each name
318 references a pool by name from either the pools section or an
319 external pool.
320
321
322 connections.<conn>.mediation [no]
323 Whether this connection is a mediation connection, that is,
324 whether this connection is used to mediate other connections
325 using the IKEv2 Mediation Extension. Mediation connections cre‐
326 ate no CHILD_SA.
327
328
329 connections.<conn>.mediated_by []
330 The name of the connection to mediate this connection through.
331 If given, the connection will be mediated through the named
332 mediation connection. The mediation connection must have media‐
333 tion enabled.
334
335
336 connections.<conn>.mediation_peer []
337 Identity under which the peer is registered at the mediation
338 server, that is, the IKE identity the other end of this connec‐
339 tion uses as its local identity on its connection to the media‐
340 tion server. This is the identity we request the mediation
341 server to mediate us with. Only relevant on connections that set
342 mediated_by. If it is not given, the remote IKE identity of the
343 first authentication round of this connection will be used.
344
345
346 connections.<conn>.local<suffix>
347 Section for a local authentication round. A local authentication
348 round defines the rules how authentication is performed for the
349 local peer. Multiple rounds may be defined to use IKEv2 RFC 4739
350 Multiple Authentication or IKEv1 XAuth.
351
352 Each round is defined in a section having local as prefix, and
353 an optional unique suffix. To define a single authentication
354 round, the suffix may be omitted.
355
356
357 connections.<conn>.local<suffix>.round [0]
358 Optional numeric identifier by which authentication rounds are
359 sorted. If not specified rounds are ordered by their position
360 in the config file/VICI message.
361
362
363 connections.<conn>.local<suffix>.certs []
364 Comma separated list of certificate candidates to use for
365 authentication. The certificates may use a relative path from
366 the swanctl x509 directory or an absolute path.
367
368 The certificate used for authentication is selected based on the
369 received certificate request payloads. If no appropriate CA can
370 be located, the first certificate is used.
371
372
373 connections.<conn>.local<suffix>.cert<suffix> []
374 Section for a certificate candidate to use for authentication.
375 Certificates in certs are transmitted as binary blobs, these
376 sections offer more flexibility.
377
378
379 connections.<conn>.local<suffix>.cert<suffix>.file []
380 Absolute path to the certificate to load. Passed as-is to the
381 daemon, so it must be readable by it.
382
383 Configure either this or handle, but not both, in one section.
384
385
386 connections.<conn>.local<suffix>.cert<suffix>.handle []
387 Hex-encoded CKA_ID of the certificate on a token.
388
389 Configure either this or file, but not both, in one section.
390
391
392 connections.<conn>.local<suffix>.cert<suffix>.slot []
393 Optional slot number of the token that stores the certificate.
394
395
396 connections.<conn>.local<suffix>.cert<suffix>.module []
397 Optional PKCS#11 module name.
398
399
400 connections.<conn>.local<suffix>.pubkeys []
401 Comma separated list of raw public key candidates to use for
402 authentication. The public keys may use a relative path from the
403 swanctl pubkey directory or an absolute path.
404
405 Even though multiple local public keys could be defined in prin‐
406 ciple, only the first public key in the list is used for authen‐
407 tication.
408
409
410 connections.<conn>.local<suffix>.auth [pubkey]
411 Authentication to perform locally. pubkey uses public key
412 authentication using a private key associated to a usable cer‐
413 tificate. psk uses pre-shared key authentication. The IKEv1
414 specific xauth is used for XAuth or Hybrid authentication, while
415 the IKEv2 specific eap keyword defines EAP authentication.
416
417 For xauth, a specific backend name may be appended, separated by
418 a dash. The appropriate xauth backend is selected to perform the
419 XAuth exchange. For traditional XAuth, the xauth method is usu‐
420 ally defined in the second authentication round following an
421 initial pubkey (or psk) round. Using xauth in the first round
422 performs Hybrid Mode client authentication.
423
424 For eap, a specific EAP method name may be appended, separated
425 by a dash. An EAP module implementing the appropriate method is
426 selected to perform the EAP conversation.
427
428 If both peers support RFC 7427 ("Signature Authentication in
429 IKEv2") specific hash algorithms to be used during IKEv2 authen‐
430 tication may be configured. To do so use ike: followed by a
431 trust chain signature scheme constraint (see description of the
432 remote section's auth keyword). For example, with ike:pub‐
433 key-sha384-sha256 a public key signature scheme with either
434 SHA-384 or SHA-256 would get used for authentication, in that
435 order and depending on the hash algorithms supported by the
436 peer. If no specific hash algorithms are configured, the default
437 is to prefer an algorithm that matches or exceeds the strength
438 of the signature key. If no constraints with ike: prefix are
439 configured any signature scheme constraint (without ike: prefix)
440 will also apply to IKEv2 authentication, unless this is disabled
441 in strongswan.conf(5). To use RSASSA-PSS signatures use rsa/pss
442 instead of pubkey or rsa as in e.g. ike:rsa/pss-sha256. If
443 pubkey or rsa constraints are configured RSASSA-PSS signatures
444 will only be used if enabled in strongswan.conf(5).
445
446
447
448 connections.<conn>.local<suffix>.id []
449 IKE identity to use for authentication round. When using cer‐
450 tificate authentication, the IKE identity must be contained in
451 the certificate, either as subject or as subjectAltName.
452
453 The identity can be an IP address, a fully-qualified domain
454 name, an email address or a Distinguished Name for which the ID
455 type is determined automatically and the string is converted to
456 the appropriate encoding. To enforce a specific identity type, a
457 prefix may be used, followed by a colon (:). If the number sign
458 (#) follows the colon, the remaining data is interpreted as hex
459 encoding, otherwise the string is used as-is as the identifica‐
460 tion data. Note that this implies that no conversion is per‐
461 formed for non-string identities. For example, ipv4:10.0.0.1
462 does not create a valid ID_IPV4_ADDR IKE identity, as it does
463 not get converted to binary 0x0a000001. Instead, one could use
464 ipv4:#0a000001 to get a valid identity, but just using the
465 implicit type with automatic conversion is usually simpler. The
466 same applies to the ASN1 encoded types. The following prefixes
467 are known: ipv4, ipv6, rfc822, email, userfqdn, fqdn, dns,
468 asn1dn, asn1gn and keyid. Custom type prefixes may be specified
469 by surrounding the numerical type value by curly brackets.
470
471
472 connections.<conn>.local<suffix>.eap_id [id]
473 Client EAP-Identity to use in EAP-Identity exchange and the EAP
474 method.
475
476
477 connections.<conn>.local<suffix>.aaa_id [remote-id]
478 Server side EAP-Identity to expect in the EAP method. Some EAP
479 methods, such as EAP-TLS, use an identity for the server to per‐
480 form mutual authentication. This identity may differ from the
481 IKE identity, especially when EAP authentication is delegated
482 from the IKE responder to an AAA backend.
483
484 For EAP-(T)TLS, this defines the identity for which the server
485 must provide a certificate in the TLS exchange.
486
487
488 connections.<conn>.local<suffix>.xauth_id [id]
489 Client XAuth username used in the XAuth exchange.
490
491
492 connections.<conn>.remote<suffix>
493 Section for a remote authentication round. A remote authentica‐
494 tion round defines the constraints how the peers must authenti‐
495 cate to use this connection. Multiple rounds may be defined to
496 use IKEv2 RFC 4739 Multiple Authentication or IKEv1 XAuth.
497
498 Each round is defined in a section having remote as prefix, and
499 an optional unique suffix. To define a single authentication
500 round, the suffix may be omitted.
501
502
503 connections.<conn>.remote<suffix>.round [0]
504 Optional numeric identifier by which authentication rounds are
505 sorted. If not specified rounds are ordered by their position
506 in the config file/VICI message.
507
508
509 connections.<conn>.remote<suffix>.id [%any]
510 IKE identity to expect for authentication round. Refer to the
511 local id section for details.
512
513
514 connections.<conn>.remote<suffix>.eap_id [id]
515 Identity to use as peer identity during EAP authentication. If
516 set to %any the EAP-Identity method will be used to ask the
517 client for an identity.
518
519
520 connections.<conn>.remote<suffix>.groups []
521 Comma separated authorization group memberships to require. The
522 peer must prove membership to at least one of the specified
523 groups. Group membership can be certified by different means,
524 for example by appropriate Attribute Certificates or by an AAA
525 backend involved in the authentication.
526
527
528 connections.<conn>.remote<suffix>.cert_policy []
529 Comma separated list of certificate policy OIDs the peer's cer‐
530 tificate must have. OIDs are specified using the numerical dot‐
531 ted representation.
532
533
534 connections.<conn>.remote<suffix>.certs []
535 Comma separated list of certificates to accept for authentica‐
536 tion. The certificates may use a relative path from the swanctl
537 x509 directory or an absolute path.
538
539
540 connections.<conn>.remote<suffix>.cert<suffix> []
541 Section for a certificate to accept for authentication. Certifi‐
542 cates in certs are transmitted as binary blobs, these sections
543 offer more flexibility.
544
545
546 connections.<conn>.remote<suffix>.cert<suffix>.file []
547 Absolute path to the certificate to load. Passed as-is to the
548 daemon, so it must be readable by it.
549
550 Configure either this or handle, but not both, in one section.
551
552
553 connections.<conn>.remote<suffix>.cert<suffix>.handle []
554 Hex-encoded CKA_ID of the certificate on a token.
555
556 Configure either this or file, but not both, in one section.
557
558
559 connections.<conn>.remote<suffix>.cert<suffix>.slot []
560 Optional slot number of the token that stores the certificate.
561
562
563 connections.<conn>.remote<suffix>.cert<suffix>.module []
564 Optional PKCS#11 module name.
565
566
567 connections.<conn>.remote<suffix>.cacerts []
568 Comma separated list of CA certificates to accept for authenti‐
569 cation. The certificates may use a relative path from the
570 swanctl x509ca directory or an absolute path.
571
572
573 connections.<conn>.remote<suffix>.cacert<suffix> []
574 Section for a CA certificate to accept for authentication. Cer‐
575 tificates in cacerts are transmitted as binary blobs, these sec‐
576 tions offer more flexibility.
577
578
579 connections.<conn>.remote<suffix>.cacert<suffix>.file []
580 Absolute path to the certificate to load. Passed as-is to the
581 daemon, so it must be readable by it.
582
583 Configure either this or handle, but not both, in one section.
584
585
586 connections.<conn>.remote<suffix>.cacert<suffix>.handle []
587 Hex-encoded CKA_ID of the CA certificate on a token.
588
589 Configure either this or file, but not both, in one section.
590
591
592 connections.<conn>.remote<suffix>.cacert<suffix>.slot []
593 Optional slot number of the token that stores the CA certifi‐
594 cate.
595
596
597 connections.<conn>.remote<suffix>.cacert<suffix>.module []
598 Optional PKCS#11 module name.
599
600
601 connections.<conn>.remote<suffix>.pubkeys []
602 Comma separated list of raw public keys to accept for authenti‐
603 cation. The public keys may use a relative path from the swanctl
604 pubkey directory or an absolute path.
605
606
607 connections.<conn>.remote<suffix>.revocation [relaxed]
608 Certificate revocation policy for CRL or OCSP revocation.
609
610 A strict revocation policy fails if no revocation information is
611 available, i.e. the certificate is not known to be unrevoked.
612
613 ifuri fails only if a CRL/OCSP URI is available, but certificate
614 revocation checking fails, i.e. there should be revocation
615 information available, but it could not be obtained.
616
617 The default revocation policy relaxed fails only if a certifi‐
618 cate is revoked, i.e. it is explicitly known that it is bad.
619
620
621 connections.<conn>.remote<suffix>.auth [pubkey]
622 Authentication to expect from remote. See the local section's
623 auth keyword description about the details of supported mecha‐
624 nisms.
625
626 To require a trustchain public key strength for the remote side,
627 specify the key type followed by the minimum strength in bits
628 (for example ecdsa-384 or rsa-2048-ecdsa-256). To limit the
629 acceptable set of hashing algorithms for trustchain validation,
630 append hash algorithms to pubkey or a key strength definition
631 (for example pubkey-sha256-sha512, rsa-2048-sha256-sha384-sha512
632 or rsa-2048-sha256-ecdsa-256-sha256-sha384). Unless disabled in
633 strongswan.conf(5), or explicit IKEv2 signature constraints are
634 configured (refer to the description of the local section's auth
635 keyword for details), such key types and hash algorithms are
636 also applied as constraints against IKEv2 signature authentica‐
637 tion schemes used by the remote side. To require RSASSA-PSS sig‐
638 natures use rsa/pss instead of pubkey or rsa as in e.g.
639 rsa/pss-sha256. If pubkey or rsa constraints are configured
640 RSASSA-PSS signatures will only be accepted if enabled in
641 strongswan.conf(5).
642
643
644 To specify trust chain constraints for EAP-(T)TLS, append a
645 colon to the EAP method, followed by the key type/size and hash
646 algorithm as discussed above (e.g. eap-tls:ecdsa-384-sha384).
647
648
649
650 connections.<conn>.children.<child>
651 CHILD_SA configuration sub-section. Each connection definition
652 may have one or more sections in its children subsection. The
653 section name defines the name of the CHILD_SA configuration,
654 which must be unique within the connection.
655
656
657 connections.<conn>.children.<child>.ah_proposals []
658 AH proposals to offer for the CHILD_SA. A proposal is a set of
659 algorithms. For AH, this includes an integrity algorithm and an
660 optional Diffie-Hellman group. If a DH group is specified,
661 CHILD_SA/Quick Mode rekeying and initial negotiation uses a sep‐
662 arate Diffie-Hellman exchange using the specified group (refer
663 to esp_proposals for details).
664
665 In IKEv2, multiple algorithms of the same kind can be specified
666 in a single proposal, from which one gets selected. In IKEv1,
667 only one algorithm per kind is allowed per proposal, more algo‐
668 rithms get implicitly stripped. Use multiple proposals to offer
669 different algorithms combinations in IKEv1.
670
671 Algorithm keywords get separated using dashes. Multiple propos‐
672 als may be separated by commas. The special value default forms
673 a default proposal of supported algorithms considered safe, and
674 is usually a good choice for interoperability. By default no AH
675 proposals are included, instead ESP is proposed.
676
677
678 connections.<conn>.children.<child>.esp_proposals [default]
679 ESP proposals to offer for the CHILD_SA. A proposal is a set of
680 algorithms. For ESP non-AEAD proposals, this includes an
681 integrity algorithm, an encryption algorithm, an optional
682 Diffie-Hellman group and an optional Extended Sequence Number
683 Mode indicator. For AEAD proposals, a combined mode algorithm is
684 used instead of the separate encryption/integrity algorithms.
685
686 If a DH group is specified, CHILD_SA/Quick Mode rekeying and
687 initial negotiation use a separate Diffie-Hellman exchange using
688 the specified group. However, for IKEv2, the keys of the
689 CHILD_SA created implicitly with the IKE_SA will always be
690 derived from the IKE_SA's key material. So any DH group speci‐
691 fied here will only apply when the CHILD_SA is later rekeyed or
692 is created with a separate CREATE_CHILD_SA exchange. A proposal
693 mismatch might, therefore, not immediately be noticed when the
694 SA is established, but may later cause rekeying to fail.
695
696 Extended Sequence Number support may be indicated with the esn
697 and noesn values, both may be included to indicate support for
698 both modes. If omitted, noesn is assumed.
699
700 In IKEv2, multiple algorithms of the same kind can be specified
701 in a single proposal, from which one gets selected. In IKEv1,
702 only one algorithm per kind is allowed per proposal, more algo‐
703 rithms get implicitly stripped. Use multiple proposals to offer
704 different algorithms combinations in IKEv1.
705
706 Algorithm keywords get separated using dashes. Multiple propos‐
707 als may be separated by commas. The special value default forms
708 a default proposal of supported algorithms considered safe, and
709 is usually a good choice for interoperability. If no algorithms
710 are specified for AH nor ESP, the default set of algorithms for
711 ESP is included.
712
713
714 connections.<conn>.children.<child>.sha256_96 [no]
715 HMAC-SHA-256 is used with 128-bit truncation with IPsec. For
716 compatibility with implementations that incorrectly use 96-bit
717 truncation this option may be enabled to configure the shorter
718 truncation length in the kernel. This is not negotiated, so
719 this only works with peers that use the incorrect truncation
720 length (or have this option enabled).
721
722
723 connections.<conn>.children.<child>.local_ts [dynamic]
724 Comma separated list of local traffic selectors to include in
725 CHILD_SA. Each selector is a CIDR subnet definition, followed by
726 an optional proto/port selector. The special value dynamic may
727 be used instead of a subnet definition, which gets replaced by
728 the tunnel outer address or the virtual IP, if negotiated. This
729 is the default.
730
731 A protocol/port selector is surrounded by opening and closing
732 square brackets. Between these brackets, a numeric or getser‐
733 vent(3) protocol name may be specified. After the optional pro‐
734 tocol restriction, an optional port restriction may be speci‐
735 fied, separated by a slash. The port restriction may be numeric,
736 a getservent(3) service name, or the special value opaque for
737 RFC 4301 OPAQUE selectors. Port ranges may be specified as well,
738 none of the kernel backends currently support port ranges,
739 though.
740
741 When IKEv1 is used only the first selector is interpreted,
742 except if the Cisco Unity extension plugin is used. This is due
743 to a limitation of the IKEv1 protocol, which only allows a sin‐
744 gle pair of selectors per CHILD_SA. So to tunnel traffic matched
745 by several pairs of selectors when using IKEv1 several children
746 (CHILD_SAs) have to be defined that cover the selectors.
747
748 The IKE daemon uses traffic selector narrowing for IKEv1, the
749 same way it is standardized and implemented for IKEv2. However,
750 this may lead to problems with other implementations. To avoid
751 that, configure identical selectors in such scenarios.
752
753
754 connections.<conn>.children.<child>.remote_ts [dynamic]
755 Comma separated list of remote selectors to include in CHILD_SA.
756 See local_ts for a description of the selector syntax.
757
758
759 connections.<conn>.children.<child>.rekey_time [1h]
760 Time to schedule CHILD_SA rekeying. CHILD_SA rekeying refreshes
761 key material, optionally using a Diffie-Hellman exchange if a
762 group is specified in the proposal.
763
764 To avoid rekey collisions initiated by both ends simultaneously,
765 a value in the range of rand_time gets subtracted to form the
766 effective soft lifetime.
767
768 By default CHILD_SA rekeying is scheduled every hour, minus
769 rand_time.
770
771
772
773 connections.<conn>.children.<child>.life_time [rekey_time + 10%]
774 Maximum lifetime before CHILD_SA gets closed. Usually this hard
775 lifetime is never reached, because the CHILD_SA gets rekeyed
776 before. If that fails for whatever reason, this limit closes the
777 CHILD_SA.
778
779 The default is 10% more than the rekey_time.
780
781
782
783 connections.<conn>.children.<child>.rand_time [life_time - rekey_time]
784 Time range from which to choose a random value to subtract from
785 rekey_time. The default is the difference between life_time and
786 rekey_time.
787
788
789
790 connections.<conn>.children.<child>.rekey_bytes [0]
791 Number of bytes processed before initiating CHILD_SA rekeying.
792 CHILD_SA rekeying refreshes key material, optionally using a
793 Diffie-Hellman exchange if a group is specified in the proposal.
794
795 To avoid rekey collisions initiated by both ends simultaneously,
796 a value in the range of rand_bytes gets subtracted to form the
797 effective soft volume limit.
798
799 Volume based CHILD_SA rekeying is disabled by default.
800
801
802 connections.<conn>.children.<child>.life_bytes [rekey_bytes + 10%]
803 Maximum bytes processed before CHILD_SA gets closed. Usually
804 this hard volume limit is never reached, because the CHILD_SA
805 gets rekeyed before. If that fails for whatever reason, this
806 limit closes the CHILD_SA.
807
808 The default is 10% more than rekey_bytes.
809
810
811
812 connections.<conn>.children.<child>.rand_bytes [life_bytes -
813 rekey_bytes]
814 Byte range from which to choose a random value to subtract from
815 rekey_bytes. The default is the difference between life_bytes
816 and rekey_bytes.
817
818
819
820 connections.<conn>.children.<child>.rekey_packets [0]
821 Number of packets processed before initiating CHILD_SA rekeying.
822 CHILD_SA rekeying refreshes key material, optionally using a
823 Diffie-Hellman exchange if a group is specified in the proposal.
824
825 To avoid rekey collisions initiated by both ends simultaneously,
826 a value in the range of rand_packets gets subtracted to form the
827 effective soft packet count limit.
828
829 Packet count based CHILD_SA rekeying is disabled by default.
830
831
832 connections.<conn>.children.<child>.life_packets [rekey_packets + 10%]
833 Maximum number of packets processed before CHILD_SA gets closed.
834 Usually this hard packets limit is never reached, because the
835 CHILD_SA gets rekeyed before. If that fails for whatever rea‐
836 son, this limit closes the CHILD_SA.
837
838 The default is 10% more than rekey_bytes.
839
840
841
842 connections.<conn>.children.<child>.rand_packets [life_packets -
843 rekey_packets]
844 Packet range from which to choose a random value to subtract
845 from rekey_packets. The default is the difference between
846 life_packets and rekey_packets.
847
848
849
850 connections.<conn>.children.<child>.updown []
851 Updown script to invoke on CHILD_SA up and down events.
852
853
854 connections.<conn>.children.<child>.hostaccess [yes]
855 Hostaccess variable to pass to updown script.
856
857
858 connections.<conn>.children.<child>.mode [tunnel]
859 IPsec Mode to establish CHILD_SA with. tunnel negotiates the
860 CHILD_SA in IPsec Tunnel Mode, whereas transport uses IPsec
861 Transport Mode. transport_proxy signifying the special Mobile
862 IPv6 Transport Proxy Mode. beet is the Bound End to End Tunnel
863 mixture mode, working with fixed inner addresses without the
864 need to include them in each packet.
865
866 Both transport and beet modes are subject to mode negotiation;
867 tunnel mode is negotiated if the preferred mode is not avail‐
868 able.
869
870 pass and drop are used to install shunt policies which explic‐
871 itly bypass the defined traffic from IPsec processing or drop
872 it, respectively.
873
874
875 connections.<conn>.children.<child>.policies [yes]
876 Whether to install IPsec policies or not. Disabling this can be
877 useful in some scenarios e.g. MIPv6, where policies are not man‐
878 aged by the IKE daemon.
879
880
881 connections.<conn>.children.<child>.policies_fwd_out [no]
882 Whether to install outbound FWD IPsec policies or not. Enabling
883 this is required in case there is a drop policy that would match
884 and block forwarded traffic for this CHILD_SA.
885
886
887 connections.<conn>.children.<child>.dpd_action [clear]
888 Action to perform for this CHILD_SA on DPD timeout. The default
889 clear closes the CHILD_SA and does not take further action.
890 trap installs a trap policy, which will catch matching traffic
891 and tries to re-negotiate the tunnel on-demand. restart immedi‐
892 ately tries to re-negotiate the CHILD_SA under a fresh IKE_SA.
893
894
895 connections.<conn>.children.<child>.ipcomp [no]
896 Enable IPComp compression before encryption. If enabled, IKE
897 tries to negotiate IPComp compression to compress ESP payload
898 data prior to encryption.
899
900
901 connections.<conn>.children.<child>.inactivity [0s]
902 Timeout before closing CHILD_SA after inactivity. If no traffic
903 has been processed in either direction for the configured time‐
904 out, the CHILD_SA gets closed due to inactivity. The default
905 value of 0 disables inactivity checks.
906
907
908 connections.<conn>.children.<child>.reqid [0]
909 Fixed reqid to use for this CHILD_SA. This might be helpful in
910 some scenarios, but works only if each CHILD_SA configuration is
911 instantiated not more than once. The default of 0 uses dynamic
912 reqids, allocated incrementally.
913
914
915 connections.<conn>.children.<child>.priority [0]
916 Optional fixed priority for IPsec policies. This could be useful
917 to install high-priority drop policies. The default of 0 uses
918 dynamically calculated priorities based on the size of the traf‐
919 fic selectors.
920
921
922 connections.<conn>.children.<child>.interface []
923 Optional interface name to restrict IPsec policies.
924
925
926 connections.<conn>.children.<child>.mark_in [0/0x00000000]
927 Netfilter mark and mask for input traffic. On Linux, Netfilter
928 may require marks on each packet to match an SA/policy having
929 that option set. This allows installing duplicate policies and
930 enables Netfilter rules to select specific SAs/policies for
931 incoming traffic. Note that inbound marks are only set on poli‐
932 cies, by default, unless *mark_in_sa* is enabled. The special
933 value %unique sets a unique mark on each CHILD_SA instance,
934 beyond that the value %unique-dir assigns a different unique
935 mark for each CHILD_SA direction (in/out).
936
937 An additional mask may be appended to the mark, separated by /.
938 The default mask if omitted is 0xffffffff.
939
940
941 connections.<conn>.children.<child>.mark_in_sa [no]
942 Whether to set *mark_in* on the inbound SA. By default, the
943 inbound mark is only set on the inbound policy. The tuple desti‐
944 nation address, protocol and SPI is unique and the mark is not
945 required to find the correct SA, allowing to mark traffic after
946 decryption instead (where more specific selectors may be used)
947 to match different policies. Marking packets before decryption
948 is still possible, even if no mark is set on the SA.
949
950
951 connections.<conn>.children.<child>.mark_out [0/0x00000000]
952 Netfilter mark and mask for output traffic. On Linux, Netfilter
953 may require marks on each packet to match a policy/SA having
954 that option set. This allows installing duplicate policies and
955 enables Netfilter rules to select specific policies/SAs for out‐
956 going traffic. The special value %unique sets a unique mark on
957 each CHILD_SA instance, beyond that the value %unique-dir
958 assigns a different unique mark for each CHILD_SA direction
959 (in/out).
960
961 An additional mask may be appended to the mark, separated by /.
962 The default mask if omitted is 0xffffffff.
963
964
965 connections.<conn>.children.<child>.set_mark_in [0/0x00000000]
966 Netfilter mark applied to packets after the inbound IPsec SA
967 processed them. This way it's not necessary to mark packets via
968 Netfilter before decryption or right afterwards to match poli‐
969 cies or process them differently (e.g. via policy routing).
970
971 An additional mask may be appended to the mark, separated by /.
972 The default mask if omitted is 0xffffffff. The special value
973 %same uses the value (but not the mask) from mark_in as mark
974 value, which can be fixed, %unique or %unique-dir.
975
976
977 Setting marks in XFRM input requires Linux 4.19 or higher.
978
979
980 connections.<conn>.children.<child>.set_mark_out [0/0x00000000]
981 Netfilter mark applied to packets after the outbound IPsec SA
982 processed them. This allows processing ESP packets differently
983 than the original traffic (e.g. via policy routing).
984
985 An additional mask may be appended to the mark, separated by /.
986 The default mask if omitted is 0xffffffff. The special value
987 %same uses the value (but not the mask) from mark_out as mark
988 value, which can be fixed, %unique or %unique-dir.
989
990
991 Setting marks in XFRM output is supported since Linux 4.14. Set‐
992 ting a mask requires at least Linux 4.19.
993
994
995 connections.<conn>.children.<child>.tfc_padding [0]
996 Pads ESP packets with additional data to have a consistent ESP
997 packet size for improved Traffic Flow Confidentiality. The pad‐
998 ding defines the minimum size of all ESP packets sent.
999
1000 The default value of 0 disables TFC padding, the special value
1001 mtu adds TFC padding to create a packet size equal to the Path
1002 Maximum Transfer Unit.
1003
1004
1005 connections.<conn>.children.<child>.replay_window [32]
1006 IPsec replay window to configure for this CHILD_SA. Larger val‐
1007 ues than the default of 32 are supported using the Netlink back‐
1008 end only, a value of 0 disables IPsec replay protection.
1009
1010
1011 connections.<conn>.children.<child>.hw_offload [no]
1012 Enable hardware offload for this CHILD_SA, if supported by the
1013 IPsec implementation. The value yes enforces offloading and the
1014 installation will fail if it's not supported by either kernel or
1015 device. The value auto enables offloading, if it's sup‐
1016 ported, but the installation does not fail otherwise.
1017
1018
1019 connections.<conn>.children.<child>.copy_df [yes]
1020 Whether to copy the DF bit to the outer IPv4 header in tunnel
1021 mode. This effectively disables Path MTU discovery (PMTUD).
1022 Controlling this behavior is not supported by all kernel inter‐
1023 faces.
1024
1025
1026 connections.<conn>.children.<child>.copy_ecn [yes]
1027 Whether to copy the ECN (Explicit Congestion Notification)
1028 header field to/from the outer IP header in tunnel mode. Con‐
1029 trolling this behavior is not supported by all kernel inter‐
1030 faces.
1031
1032
1033 connections.<conn>.children.<child>.copy_dscp [out]
1034 Whether to copy the DSCP (Differentiated Services Field Code‐
1035 point) header field to/from the outer IP header in tunnel mode.
1036 The value out only copies the field from the inner to the outer
1037 header, the value in does the opposite and only copies the field
1038 from the outer to the inner header when decapsulating, the value
1039 yes copies the field in both directions, and the value no dis‐
1040 ables copying the field altogether. Setting this to yes or in
1041 could allow an attacker to adversely affect other traffic at the
1042 receiver, which is why the default is out. Controlling this
1043 behavior is not supported by all kernel interfaces.
1044
1045
1046 connections.<conn>.children.<child>.start_action [none]
1047 Action to perform after loading the configuration. The default
1048 of none loads the connection only, which then can be manually
1049 initiated or used as a responder configuration.
1050
1051 The value trap installs a trap policy, which triggers the tunnel
1052 as soon as matching traffic has been detected. The value start
1053 initiates the connection actively.
1054
1055 When unloading or replacing a CHILD_SA configuration having a
1056 start_action different from none, the inverse action is per‐
1057 formed. Configurations with start get closed, while such with
1058 trap get uninstalled.
1059
1060
1061 connections.<conn>.children.<child>.close_action [none]
1062 Action to perform after a CHILD_SA gets closed by the peer. The
1063 default of none does not take any action, trap installs a trap
1064 policy for the CHILD_SA. start tries to re-create the CHILD_SA.
1065
1066 close_action does not provide any guarantee that the CHILD_SA is
1067 kept alive. It acts on explicit close messages only, but not on
1068 negotiation failures. Use trap policies to reliably re-create
1069 failed CHILD_SAs.
1070
1071
1072 secrets
1073 Section defining secrets for IKE/EAP/XAuth authentication and
1074 private key decryption. The secrets section takes sub-sections
1075 having a specific prefix which defines the secret type.
1076
1077 It is not recommended to define any private key decryption
1078 passphrases, as then there is no real security benefit in having
1079 encrypted keys. Either store the key unencrypted or enter the
1080 keys manually when loading credentials.
1081
1082
1083 secrets.eap<suffix>
1084 EAP secret section for a specific secret. Each EAP secret is
1085 defined in a unique section having the eap prefix. EAP secrets
1086 are used for XAuth authentication as well.
1087
1088
1089 secrets.eap<suffix>.secret []
1090 Value of the EAP/XAuth secret. It may either be an ASCII string,
1091 a hex encoded string if it has a 0x prefix or a Base64 encoded
1092 string if it has a 0s prefix in its value.
1093
1094
1095 secrets.eap<suffix>.id<suffix> []
1096 Identity the EAP/XAuth secret belongs to. Multiple unique iden‐
1097 tities may be specified, each having an id prefix, if a secret
1098 is shared between multiple users.
1099
1100
1101 secrets.xauth<suffix>
1102 XAuth secret section for a specific secret. xauth is just an
1103 alias for eap, secrets under both section prefixes are used for
1104 both EAP and XAuth authentication.
1105
1106
1107 secrets.ntlm<suffix>
1108 NTLM secret section for a specific secret. Each NTLM secret is
1109 defined in a unique section having the ntlm prefix. NTLM secrets
1110 may only be used for EAP-MSCHAPv2 authentication.
1111
1112
1113 secrets.ntlm<suffix>.secret []
1114 Value of the NTLM secret, which is the NT Hash of the actual
1115 secret, that is, MD4(UTF-16LE(secret)). The resulting 16-byte
1116 value may either be given as a hex encoded string with a 0x pre‐
1117 fix or as a Base64 encoded string with a 0s prefix.
1118
1119
1120 secrets.ntlm<suffix>.id<suffix> []
1121 Identity the NTLM secret belongs to. Multiple unique identities
1122 may be specified, each having an id prefix, if a secret is
1123 shared between multiple users.
1124
1125
1126 secrets.ike<suffix>
1127 IKE preshared secret section for a specific secret. Each IKE PSK
1128 is defined in a unique section having the ike prefix.
1129
1130
1131 secrets.ike<suffix>.secret []
1132 Value of the IKE preshared secret. It may either be an ASCII
1133 string, a hex encoded string if it has a 0x prefix or a Base64
1134 encoded string if it has a 0s prefix in its value.
1135
1136
1137 secrets.ike<suffix>.id<suffix> []
1138 IKE identity the IKE preshared secret belongs to. Multiple
1139 unique identities may be specified, each having an id prefix, if
1140 a secret is shared between multiple peers.
1141
1142
1143 secrets.ppk<suffix>
1144 Postquantum Preshared Key (PPK) section for a specific secret.
1145 Each PPK is defined in a unique section having the ppk pre‐
1146 fix.
1147
1148
1149 secrets.ppk<suffix>.secret []
1150 Value of the PPK. It may either be an ASCII string, a hex
1151 encoded string if it has a 0x prefix or a Base64 encoded string
1152 if it has a 0s prefix in its value. Should have at least 256
1153 bits of entropy for 128-bit security.
1154
1155
1156 secrets.ppk<suffix>.id<suffix> []
1157 PPK identity the PPK belongs to. Multiple unique identities may
1158 be specified, each having an id prefix, if a secret is shared
1159 between multiple peers.
1160
1161
1162 secrets.private<suffix>
1163 Private key decryption passphrase for a key in the private
1164 folder.
1165
1166
1167 secrets.private<suffix>.file []
1168 File name in the private folder for which this passphrase should
1169 be used.
1170
1171
1172 secrets.private<suffix>.secret []
1173 Value of decryption passphrase for private key.
1174
1175
1176 secrets.rsa<suffix>
1177 Private key decryption passphrase for a key in the rsa folder.
1178
1179
1180 secrets.rsa<suffix>.file []
1181 File name in the rsa folder for which this passphrase should be
1182 used.
1183
1184
1185 secrets.rsa<suffix>.secret []
1186 Value of decryption passphrase for RSA key.
1187
1188
1189 secrets.ecdsa<suffix>
1190 Private key decryption passphrase for a key in the ecdsa folder.
1191
1192
1193 secrets.ecdsa<suffix>.file []
1194 File name in the ecdsa folder for which this passphrase should
1195 be used.
1196
1197
1198 secrets.ecdsa<suffix>.secret []
1199 Value of decryption passphrase for ECDSA key.
1200
1201
1202 secrets.pkcs8<suffix>
1203 Private key decryption passphrase for a key in the pkcs8 folder.
1204
1205
1206 secrets.pkcs8<suffix>.file []
1207 File name in the pkcs8 folder for which this passphrase should
1208 be used.
1209
1210
1211 secrets.pkcs8<suffix>.secret []
1212 Value of decryption passphrase for PKCS#8 key.
1213
1214
1215 secrets.pkcs12<suffix>
1216 PKCS#12 decryption passphrase for a container in the pkcs12
1217 folder.
1218
1219
1220 secrets.pkcs12<suffix>.file []
1221 File name in the pkcs12 folder for which this passphrase should
1222 be used.
1223
1224
1225 secrets.pkcs12<suffix>.secret []
1226 Value of decryption passphrase for PKCS#12 container.
1227
1228
1229 secrets.token<suffix>
1230 Definition for a private key that's stored on a token/smartcard.
1231
1232
1233 secrets.token<suffix>.handle []
1234 Hex-encoded CKA_ID of the private key on the token.
1235
1236
1237 secrets.token<suffix>.slot []
1238 Optional slot number to access the token.
1239
1240
1241 secrets.token<suffix>.module []
1242 Optional PKCS#11 module name to access the token.
1243
1244
1245 secrets.token<suffix>.pin []
1246 Optional PIN required to access the key on the token. If none is
1247 provided the user is prompted during an interactive --load-creds
1248 call.
1249
1250
1251 pools
1252 Section defining named pools. Named pools may be referenced by
1253 connections with the pools option to assign virtual IPs and
1254 other configuration attributes.
1255
1256
1257 pools.<name>
1258 Section defining a single pool with a unique name.
1259
1260
1261 pools.<name>.addrs []
1262 Subnet or range defining addresses allocated in pool. Accepts a
1263 single CIDR subnet defining the pool to allocate addresses from
1264 or an address range (<from>-<to>). Pools must be unique and
1265 non-overlapping.
1266
1267
1268 pools.<name>.<attr> []
1269 Comma separated list of additional attributes of type <attr>.
1270 The attribute type may be one of dns, nbns, dhcp, netmask,
1271 server, subnet, split_include and split_exclude to define
1272 addresses or CIDR subnets for the corresponding attribute types.
1273 Alternatively, <attr> can be a numerical identifier, for which
1274 string attribute values are accepted as well.
1275
1276
1277 authorities
1278 Section defining attributes of certification authorities.
1279
1280
1281 authorities.<name>
1282 Section defining a certification authority with a unique name.
1283
1284
1285 authorities.<name>.cacert []
1286 CA certificate belonging to the certification authority. The
1287 certificates may use a relative path from the swanctl x509ca
1288 directory or an absolute path.
1289
1290 Configure one of cacert, file, or handle per section.
1291
1292
1293 authorities.<name>.file []
1294 Absolute path to the certificate to load. Passed as-is to the
1295 daemon, so it must be readable by it.
1296
1297 Configure one of cacert, file, or handle per section.
1298
1299
1300 authorities.<name>.handle []
1301 Hex-encoded CKA_ID of the CA certificate on a token.
1302
1303 Configure one of cacert, file, or handle per section.
1304
1305
1306 authorities.<name>.slot []
1307 Optional slot number of the token that stores the CA certifi‐
1308 cate.
1309
1310
1311 authorities.<name>.module []
1312 Optional PKCS#11 module name.
1313
1314
1315 authorities.<name>.crl_uris []
1316 Comma-separated list of CRL distribution points (ldap, http, or
1317 file URI).
1318
1319
1320 authorities.<name>.ocsp_uris []
1321 Comma-separated list of OCSP URIs.
1322
1323
1324 authorities.<name>.cert_uri_base []
1325 Defines the base URI for the Hash and URL feature supported by
1326 IKEv2. Instead of exchanging complete certificates, IKEv2 allows
1327 one to send an URI that resolves to the DER encoded certificate.
1328 The certificate URIs are built by appending the SHA1 hash of the
1329 DER encoded certificates to this base URI.
1330
1331
1333 /etc/swanctl/swanctl.conf configuration file
1334
1336 swanctl(8)
1337
1338
1339
13405.7.2 SWANCTL.CONF(5)