libstrongswan » History » Version 1
Martin Willi, 01.04.2008 10:48
1 | 1 | Martin Willi | = libstrongswan = |
---|---|---|---|
2 | 1 | Martin Willi | libstrongswan is the foundation library of the IKEv2 keying daemon. It is the base of all newer strongSwan components. |
3 | 1 | Martin Willi | |
4 | 1 | Martin Willi | == Plugins == |
5 | 1 | Martin Willi | libstrongswan itself also supports plugins to provide modular cryptographic algorithms, database support or transport protocol implementations. Each plugin implements the [browser:trunk/src/libstrongswan/plugins/plugin.h plugin_t] interface and registers itself at one of the factories: |
6 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/credentials/credential_factory.h credentials]||Credential implementations, e.g. certificates or keys.|| |
7 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/crypto/crypto_factory.h crypto]||Crypto implementations, e.g. encryption algorithms or hashers.|| |
8 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/database/database_factory.h database]||Database wrappers to access different databases transparently.|| |
9 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/fetcher/fetcher_manager.h fetcher]||Transport helpers to fetch files, e.g. via HTTP/FTP.|| |
10 | 1 | Martin Willi | {{{ |
11 | 1 | Martin Willi | +-------------------------------------+ |
12 | 1 | Martin Willi | | libstrongswan +---+ +-----+------+ |
13 | 1 | Martin Willi | | | | | aes | |
14 | 1 | Martin Willi | | | | +-----+------+ |
15 | 1 | Martin Willi | | +-------------+ | | +-----+------+ |
16 | 1 | Martin Willi | | | credentials | ----> | p | | curl | |
17 | 1 | Martin Willi | | +-------------+ | l | +-----+------+ |
18 | 1 | Martin Willi | | +-------------+ <---- | u | +-----+------+ |
19 | 1 | Martin Willi | | | crypto | | g | | des | |
20 | 1 | Martin Willi | | +-------------+ ----> | i | +-----+------+ |
21 | 1 | Martin Willi | | +-------------+ | n | +-----+------+ |
22 | 1 | Martin Willi | | | database | <---- | | | fips_prf | |
23 | 1 | Martin Willi | | +-------------+ | l | +-----+------+ |
24 | 1 | Martin Willi | | +-------------+ ----> | o | +-----+------+ |
25 | 1 | Martin Willi | | | fetcher | | a | | gmp | |
26 | 1 | Martin Willi | | +-------------+ <---- | d | +-----+------+ |
27 | 1 | Martin Willi | | | e | +-----+------+ |
28 | 1 | Martin Willi | | | r | | hmac | |
29 | 1 | Martin Willi | | | | +-----+------+ |
30 | 1 | Martin Willi | | | | +-----+------+ |
31 | 1 | Martin Willi | | | | | ... | |
32 | 1 | Martin Willi | | +---+ +-----+------+ |
33 | 1 | Martin Willi | +-------------------------------------+ |
34 | 1 | Martin Willi | }}} |
35 | 1 | Martin Willi | Currently libstrongswan ships with the following plugins: |
36 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/aes aes]||AES-128/192/256 implementation in software, non-US code.|| |
37 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/des des]||Single- and Triple-DES implementation in software, non-US code.|| |
38 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/md5 md5]||MD5 hasher software implementation.|| |
39 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/sha1 sha1]||SHA1 hasher software implementation.|| |
40 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/sha2 sha2]||SHA-256/384/512 hasher software implementation.|| |
41 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/hmac hmac]||HMAC implementation to prived MAC/PRF functionality using hashers.|| |
42 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/fips-prf fips-prf]||Pseudo random function implementing the FIPS PRF function.|| |
43 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/gmp gmp]||Implementation of RSA private/public keys using the GNU Multi Precision library libgmp.|| |
44 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/x509 x509]||Implementation of X509 certificates, CRLs, OCSP and attribute certificates.|| |
45 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/mysql mysql]||Database wrapper to access MySQL databases, uses libmysqlcleint_r.|| |
46 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/sqlite sqlite]||Database wrapper to access SQLite databases, uses libsqlite3.|| |
47 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/curl curl]||Fetching of HTTP and other URLs using libcurl.|| |
48 | 1 | Martin Willi | ||[browser:trunk/src/libstrongswan/plugins/ldap ldap]||Fetching from LDAP servers using OpenLDAP.|| |