Skip to content
Snippets Groups Projects
user avatar
Emily Ehlert authored
9ef8653f

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