libstrongswan » History » Version 4
Martin Willi, 05.05.2009 15:15
fixed tables
1 | 3 | Martin Willi | h1. libstrongswan |
---|---|---|---|
2 | 1 | Martin Willi | |
3 | 4 | Martin Willi | libstrongswan is the foundation library of the IKEv2 keying daemon. It is the |
4 | 4 | Martin Willi | base of all newer strongSwan components. |
5 | 1 | Martin Willi | |
6 | 1 | Martin Willi | h2. Plugins |
7 | 1 | Martin Willi | |
8 | 4 | Martin Willi | libstrongswan itself also supports plugins to provide modular cryptographic |
9 | 4 | Martin Willi | algorithms, database support or transport protocol implementations. Each plugin |
10 | 4 | Martin Willi | implements the _plugin_t_ interface and registers itself at one of the factories: |
11 | 4 | Martin Willi | |
12 | 4 | Martin Willi | |credentials |Credential implementations, e.g. certificates or keys.| |
13 | 4 | Martin Willi | |crypto |Crypto implementations, e.g. encryption algorithms or hashers.| |
14 | 4 | Martin Willi | |database |Database wrappers to access different databases transparently.| |
15 | 4 | Martin Willi | |fetcher |Transport helpers to fetch files, e.g. via HTTP/FTP.| |
16 | 4 | Martin Willi | |
17 | 3 | Martin Willi | <pre> |
18 | 1 | Martin Willi | +-------------------------------------+ |
19 | 1 | Martin Willi | | libstrongswan +---+ +-----+------+ |
20 | 1 | Martin Willi | | | | | aes | |
21 | 1 | Martin Willi | | | | +-----+------+ |
22 | 1 | Martin Willi | | +-------------+ | | +-----+------+ |
23 | 1 | Martin Willi | | | credentials | ----> | p | | curl | |
24 | 1 | Martin Willi | | +-------------+ | l | +-----+------+ |
25 | 1 | Martin Willi | | +-------------+ <---- | u | +-----+------+ |
26 | 1 | Martin Willi | | | crypto | | g | | des | |
27 | 1 | Martin Willi | | +-------------+ ----> | i | +-----+------+ |
28 | 1 | Martin Willi | | +-------------+ | n | +-----+------+ |
29 | 1 | Martin Willi | | | database | <---- | | | fips_prf | |
30 | 1 | Martin Willi | | +-------------+ | l | +-----+------+ |
31 | 1 | Martin Willi | | +-------------+ ----> | o | +-----+------+ |
32 | 1 | Martin Willi | | | fetcher | | a | | gmp | |
33 | 1 | Martin Willi | | +-------------+ <---- | d | +-----+------+ |
34 | 1 | Martin Willi | | | e | +-----+------+ |
35 | 1 | Martin Willi | | | r | | hmac | |
36 | 1 | Martin Willi | | | | +-----+------+ |
37 | 1 | Martin Willi | | | | +-----+------+ |
38 | 1 | Martin Willi | | | | | ... | |
39 | 1 | Martin Willi | | +---+ +-----+------+ |
40 | 1 | Martin Willi | +-------------------------------------+ |
41 | 1 | Martin Willi | </pre> |
42 | 4 | Martin Willi | |
43 | 4 | Martin Willi | Currently libstrongswan ships with the following plugins (see source:src/libstrongswan/plugins): |
44 | 4 | Martin Willi | |
45 | 4 | Martin Willi | |aes|AES-128/192/256 implementation in software, non-US code.| |
46 | 4 | Martin Willi | |des|Single- and Triple-DES implementation in software, non-US code.| |
47 | 4 | Martin Willi | |md5|MD5 hasher software implementation.| |
48 | 4 | Martin Willi | |sha1|SHA1 hasher software implementation.| |
49 | 4 | Martin Willi | |sha2|SHA-256/384/512 hasher software implementation.| |
50 | 4 | Martin Willi | |hmac|HMAC implementation to prived MAC/PRF functionality using hashers.| |
51 | 4 | Martin Willi | |xcbc|XCBC implementation to prived MAC/PRF functionality using crypters.| |
52 | 4 | Martin Willi | |fips_prf|Pseudo random function implementing the FIPS PRF function.| |
53 | 4 | Martin Willi | |gmp|Implementation of RSA private/public keys using the GNU Multi Precision library libgmp.| |
54 | 4 | Martin Willi | |x509|Implementation of X509 certificates, CRLs, OCSP and attribute certificates.| |
55 | 4 | Martin Willi | |pubkey|Generic public key loader plugin.| |
56 | 4 | Martin Willi | |openssl|Wrapper to use OpenSSL to provide crypto services.| |
57 | 4 | Martin Willi | |padlock|Experimental plugin to provide hardware accelerated AES/SHA1 on VIA padlock.| |
58 | 4 | Martin Willi | |random|Source of random data implemented on top of _/dev/(u)random_.| |
59 | 4 | Martin Willi | |mysql|Database wrapper to access MySQL databases, uses libmysqlcleint_r.| |
60 | 4 | Martin Willi | |sqlite|Database wrapper to access SQLite databases, uses libsqlite3.| |
61 | 4 | Martin Willi | |curl|Fetching of HTTP and other URLs using libcurl.| |
62 | 4 | Martin Willi | |ldap|Fetching from LDAP servers using OpenLDAP.| |