libstrongswan¶
libstrongswan is the foundation library of the IKEv2 keying daemon. It is the
base of all newer strongSwan components.
Plugins¶
libstrongswan itself also supports plugins to provide modular cryptographic
algorithms, database support or transport protocol implementations. Each plugin
implements the plugin_t interface and registers itself at one of the factories:
credentials | Credential implementations, e.g. certificates or keys. |
crypto | Crypto implementations, e.g. encryption algorithms or hashers. |
database | Database wrappers to access different databases transparently. |
fetcher | Transport helpers to fetch files, e.g. via HTTP/FTP. |
+-------------------------------------+ | libstrongswan +---+ +-----+------+ | | | | aes | | | | +-----+------+ | +-------------+ | | +-----+------+ | | credentials | ----> | p | | curl | | +-------------+ | l | +-----+------+ | +-------------+ <---- | u | +-----+------+ | | crypto | | g | | des | | +-------------+ ----> | i | +-----+------+ | +-------------+ | n | +-----+------+ | | database | <---- | | | fips_prf | | +-------------+ | l | +-----+------+ | +-------------+ ----> | o | +-----+------+ | | fetcher | | a | | gmp | | +-------------+ <---- | d | +-----+------+ | | e | +-----+------+ | | r | | hmac | | | | +-----+------+ | | | +-----+------+ | | | | ... | | +---+ +-----+------+ +-------------------------------------+
There is a growing list of plugins available (see source:src/libstrongswan/plugins).