LogoLogo
main
main
  • Introduction
  • High level architecture
  • Public key infrastructure
  • Terminology
  • Tutorials
    • Quickstart
    • Production Setup with NervesKey
  • Nerves Hub
    • Setup
      • Add NervesHub to your project
      • Connecting to your environment
      • Firmware signing keys
      • Products
      • Devices
      • Firmware
      • Deployments
    • Command-line tools
    • Managing organizations and products
    • Device management
    • HTTP API
    • Device WebSocket
  • Nerves Key
    • Introduction
    • NervesKey for Raspberry Pi
    • Private keys and certificates
    • General NervesKey storage
    • Provisioning in Elixir
    • Nerves integration
    • NervesHubLink integration
    • MQTT integration
Powered by GitBook
On this page

Was this helpful?

  1. Nerves Key

Introduction

PreviousDevice WebSocketNextNervesKey for Raspberry Pi

Last updated 3 years ago

Was this helpful?

A NervesKey is a cryptographic hardware module that is configured to work with NervesHub. Its primary responsibility is to secure the private key used for authentication. It can also store useful information such as device serial numbers, board name, and important settings.

The following are options for adding a NervesKey to your device:

  1. If you're making a custom board, add a Microchip or to an available I2C bus

  2. Obtain a and solder it to the GPIO connector on a Raspberry Pi

  3. Contact us for information about USB NervesKey

The NervesKey configuration of the ATECC508A/ATECC608A is documented in the . The cryptographic modules are quite capable devices. If the NervesKey configuration does not meet your needs, refer to the module datasheets and use the as a helpful example.

Except for a few cases, NervesKeys come unprogrammed. Some fields in the NervesKey can only be programmed once.

ATECC508A
ATECC608A
NervesKey
nerves_key project's README.md
nerves_key configuration