Home >

FM SDK Programming Guide > Overview

  
Overview

A Functionality Module (FM) is custom-developed, customer-specific code that operates within the secure confines of a Hardware Security Module (HSM). You can use the SafeNet ProtectToolkit FM SDK to develop FMs for the SafeNet ProtectServer Network HSM and SafeNet ProtectServer PCIe HSM, introduced in release 5.0.

FMs allow application developers to design security-sensitive program code, which can be downloaded into the HSM to operate as part of the HSM firmware. This functionality may be required to implement custom algorithms, or to isolate security-sensitive code from the host environment. FMs can make full use of the HSM functionality, which is provided using a PKCS#11-compliant Application Programming Interface (API). The SafeNet ProtectToolkit FM SDK allows developers an extensive opportunity to create a wide range of customized high-security applications.

To assist in the development of FMs, the SafeNet ProtectToolkit FM SDK contains support for FM emulation on the Host System.

This document is intended for software developers, as a technical reference describing the programming methodologies and functions used for developing Functionality Modules and host-side applications.

Features

Host apps are supported on all platforms supporting the SafeNet ProtectToolkit SDK. FMs have to be cross-compiled on Linux. The FM SDK provides the following components:

Sample FM code

Sample host-side code

Build scripts

Host–side libraries

Java classes to access HSMs

Java docs

FM binary image generation tools (Linux only)

FM libraries (Linux only)

FM emulation libraries (Linux only)

The SafeNet ProtectToolkit FM SDK requires SafeNet ProtectToolkit-C.