Skip to content
Snippets Groups Projects
user avatar
7f7a1d1d

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