SE05X Driver

This driver enables access to the NXP SE05X secure element by using the NXP plug and trust nano.

Note

Currently this driver has only been tested on SE050.

API

The driver supports reading/writing to the SE05X’s keystore and additional features like diffie-hellman key derivation and signing CSR’s and verifying certificates using keys from the keystore. Refer to drivers/crypto/pnt/pnt_se05x_api.h for the API functions available and to include/nuttx/crypto/se05x.h for the ioctl commands

These tools make use of the SE05X driver (which can function as a reference project):

  • The controlse app can be used to control the SE05X from NSH.

  • The setest app tests all the SE05X ioctl functionality from NSH

Datasheets are available on the NXP website.

Configuration

  • DEV_SE05X Enable support for /dev/se05x secure element provided by NXP SE050 or SE051

    • Channel communication interface

      • DEV_SE05X_SCP03 SCP03 secure channel (Not implemented)

        • DEV_SE05X_SCP03_KEY_FILE Specify file containing the keys needed with SCP03 channel authentication. Location may be relative to the NuttX root folder. File should contain the definitions for SCP03_ENC_KEY, SCP03_MAC_KEY and SCP03_DEK_KEY as byte array initializers.

      • DEV_SE05X_PLAIN plain communication

    • SE05X_LOG_LEVEL The SE05x log is divided into the following levels: ERROR,WARNING,INFO,DEBUG.