Custom Encryption Plugin

The TSM allows the use of an external encryption plugin. This allows customers to create their own layer of encryption if the default encryption needs to be enhanced.

The encryption is done before the TSM does its encryption, so it is important that any created plugin handles the plaintext with care.

Getting Started

The interface that needs to be implemented and example implementations are located in the demo repository. The access to the demo repository is described here.

The interface is located in the header file: plugins/storage-encrypt-plugin/interface.h

The interface has two methods, one for encrypting data and one for decrypting it again. Note that decrypt must be the inverse operation of the encrypt call. Both methods have three parameters:

Note that allocated data in the output will be freed once it has been transferred to the Golang data structures of the TSM.

Example Plugins

Currently there are a number of plugin examples in the TSM demo project, located in the plugins/storage-encrypt-plugin folder: