Plugins implementing TLS Crypt V2 for OpenVPN
Description
This repository contains multiple plugins each implementing the TLS Crypt V2 mechanism in a HSM or Hardware Token. To use any of the plugins, it is required to patch OpenVPN to add a plugin Hook for performing TLS Crypt V2 operations.
Installation
Each plugin is an individual CMake project and can compiled with it. Dependencies depend on plugin:
- SoftHSM: softhsm
- YubiKey: openssl, yubico-c
- Smartcard: pcsclite, ant
Using the Smartcard Key Wrapping plugin requires compiling and loading a Java Applet onto a Smartcard. The applet code is provided in SmartcardKeyWrapping/SmartcardKeyWrappingApplet
. The applet is an Ant Project.
Usage
Add the plugin to your server config and add arguments depending on the plugin. Order of arguments matters!
- SoftHSM: Path to SoftHSM2 Library (e.g. /usr/lib/pkcs11/libsofthsm2.so)
- YubiKey: Slot number to use on the YubiKey (e.g. 1 or 2) and access code for the YubiKey (if unknown / not set: 0)
- Smartcard: No arguments required