Project

General

Profile

SQL configuration and credential plugin

The SQL plugin for charon allows to store the complete connection configuration in a relational database. Further, the daemon reads credentials, such as certificates, private keys or passwords from the database to do all kind of authentication. Logging to the database is also possible.

Status

The SQL plugin is still experimental and in developement (source:src/libcharon/plugins/sql). It currently works on top of MySQL or SQLite.
There is no frontend yet to configure the database, but we'll extend the manager to allow such tasks.

Database setup

There are some SQL scripts to help you in the database setup (more information on the tables and values can be found here):

Configuration

Make sure to build strongSwan with the appropriate modules:

 ./configure --enable-sql --enable-mysql --enable-sqlite [...]

The plugin uses strongswan.conf for database configuration:

charon {
  plugins {
    sql {
      database = mysql://user:pass@localhost/database
      # or using sqlite:
      # database = sqlite:///etc/ipsec.d/ipsec.db
    }
  }
}