Skip to content
EntityQ309893· pop 6· linked from 138 articles

strongSwan

Sign in to save

strongSwan is a multiplatform IPsec implementation. The focus of the project is on authentication mechanisms using X.509 public key certificates and optional storage of private keys and certificates on smartcards through a PKCS#11 interface and on TPM 2.0.

Source code

This document is just a short introduction of the strongSwan swanctl command which uses the modern vici Versatile IKE Configuration Interface . The deprecated ipsec command using the legacy stroke configuration interface is described here . For more detailed information consult the man pages, our new documentation site and the legacy wiki . Certificates for users, hosts and gateways are issued by a fictitious strongSwan CA. In our example scenarios the CA certificate strongswanCert.pem must be present on all VPN endpoints in order to be able to authenticate the peers. For your particular VPN application you can either use certificates from any third-party CA or generate the needed private keys and certificates yourself with the strongSwan pki tool, the use of which will be explained in one of the sections following below. The local and remote identities used in this scenario are the subjectDistinguishedNames contained in the end entity certificates. The certificates and private keys are loaded into the charon daemon with the command loads the connections defined in swanctl.conf . With start action = trap the IPsec connection is automatically set up with the first plaintext payload IP packet wanting to go through the tunnel. This is a setup between two single hosts which don't have a subnet behind them. Although IPsec transport mode would be sufficient for host-to-host connections we will use the default IPsec tunnel mode. For remote addrs the hostname moon.strongswan.org was chosen which will be resolved by DNS at runtime into the corresponding IP destination address. In this scenario the identity of the roadwarrior carol is the email address [email protected] which must be included as a subjectAlternativeName in the roadwarrior certificate carolCert.pem . In our example the virtual IP address is chosen from the address pool 10.3.0.0/16 which can be configured by adding the section to the gateway's swanctl.conf from where they are loaded into the charon daemon using the command To request an IP address from this pool a roadwarrior can use IKEv1 mode config or IKEv2 configuration payloads. The configuration for both is the same The swanctl.conf file additionally contains a secrets section defining all client credentials Often a client EAP identity is exchanged via EAP which differs from the external IKEv2 identity. In this example the IKEv2 identity defaults to the IPv4 address of the client. This section is not a full-blown tutorial on how to use the strongSwan pki tool. It just lists a few points that are relevant if you want to generate your own certificates and CRLs for use with strongSwan. pki --self --ca --lifetime 3652 --in strongswanKey.pem --dn "C=CH, O=strongSwan, CN=strongSwan Root CA" --outform pem strongswanCert.pem If you prefer the CA private key and X.509 certificate to be in binary DER format then just omit the --outform pem option. The directory /etc/swanctl/x509ca contains all required CA certificates either in binary DER or in Base64 PEM format. Irrespective of the file suffix the correct format will be determined by strongSwan automagically. to generate an Ed25519 private key for the host moon . Alternatively you could type pki --req --type priv --in moonKey.pem --dn "C=CH, O=strongswan, CN=moon.strongswan.org" --san moon.strongswan.org --outform pem moonReq.pem --san sun.strongswan.org fully qualified host name --san [email protected] RFC822 user email address --san 192.168.0.1 IPv4 address --san fec0::1 IPv6 address pki --issue --cacert strongswanCert.pem --cakey strongswanKey.pem --type pkcs10 --in moonReq.pem --serial 01 --lifetime 1826 --outform pem moonCert.pem If the --serial parameter with a hexadecimal argument is omitted then a random serial number is generated. Some third party VPN clients require that a VPN gateway certificate contains the TLS Server Authentication Extended Key Usage (EKU) flag which can be included with the following option Usually, a Windows, OSX, Andr

Excerpt from the source-code README · 21,597 chars · not written by Vinony

Wikidata facts

Instance of
free software
Official website
www.strongswan.org
Has use
IPsec
Show 6 more facts
operating system
iOS
programmed in
C
software version identifier
6.0.6
source code repository URL
github.com/strongswan/strongswan
implementation of
IPsec
Sources (6)

via Wikidata · CC0

~5 min read

Encyclopedic overview

8 sections
Contents
  • Overview
  • Features
  • IKEv1 and IKEv2 features
  • IKEv2 only features
  • KVM simulation environment
  • See also
  • References
  • External links

strongSwan is a multiplatform IPsec implementation. The focus of the project is on authentication mechanisms using X.509 public key certificates and optional storage of private keys and certificates on smartcards through a PKCS#11 interface and on TPM 2.0.

==Overview== The project is maintained by Andreas Steffen who is a professor emeritus for Security in Communications with the University of Applied Sciences in Rapperswil, Switzerland.

Excerpted from Wikipedia’s “strongSwan” article, available under the CC BY-SA 4.0 licence.

Available in 6 languages

via Wikidata sitelinks · CC0