### 1.2 Features ¶

The primary advantage of using libfko is it provides a single API for either creating or parsing SPA data. Additional advantages include:

It’s free software

  Anybody can use, modify, and redistribute it under the terms of the GNU General Public License v2 or any later version (see GNU GENERAL PUBLIC LICENSE).

It’s lightweight

  The Perl-based implementation requires several additional Perl modules and has a relatively large footprint in memory. This C-based library eliminates those dependencies and has a much smaller footprint. Using this library allows SPA to easily function on embedded operating systems such as OpenWRT.

It’s easy

  libfko hides many of the gory details of fwknop’s SPA message data format, encoding, decoding, encrypting, decrypting, authenticating, and parsing. In most cases, only a few function calls will be needed create or parse a SPA message.