NervesKey.Data (nerves_key v0.5.5) View Source
This module handles Data Zone data stored in the NervesKey.
Link to this section Summary
Functions
Clear out the auxillary slots
Return the slot that stores the compressed device certificate.
Create a public/private key pair
Run the genkey operation on the NervesKey private key slot
Return the slot that stores the compressed signer certificate.
Return the slot that stores the signer's public key.
Determine what's in all of the data slots
Write new device and signer certificates to the auxillary slots
Write all of the slots
Link to this section Functions
Specs
clear_aux_certs(ATECC508A.Transport.t()) :: :ok
Clear out the auxillary slots
Specs
device_cert_slot(NervesKey.certificate_pair()) :: ATECC508A.Request.slot()
Return the slot that stores the compressed device certificate.
Specs
genkey(ATECC508A.Transport.t(), boolean()) :: {:ok, X509.PublicKey.t()} | {:error, atom()}
Create a public/private key pair
The public key is returned on success. This can only be called on devices that have their configuration locked, but not their data.
Specs
genkey_raw(ATECC508A.Transport.t(), boolean()) :: {:ok, ATECC508A.ecc_public_key()} | {:error, atom()}
Run the genkey operation on the NervesKey private key slot
Specs
lock(ATECC508A.Transport.t(), binary(), [{ATECC508A.Request.slot(), binary()}]) :: :ok | {:error, atom()}
Specs
signer_cert_slot(NervesKey.certificate_pair()) :: ATECC508A.Request.slot()
Return the slot that stores the compressed signer certificate.
Specs
signer_pubkey_slot(NervesKey.certificate_pair()) :: ATECC508A.Request.slot()
Return the slot that stores the signer's public key.
Specs
slot_data(ATECC508A.serial_number(), X509.Certificate.t(), X509.Certificate.t()) :: [{ATECC508A.Request.slot(), binary()}]
Determine what's in all of the data slots
Specs
write_aux_certs( ATECC508A.Transport.t(), ATECC508A.serial_number(), X509.Certificate.t(), X509.Certificate.t() ) :: :ok
Write new device and signer certificates to the auxillary slots
Specs
write_slots(ATECC508A.Transport.t(), [{ATECC508A.Request.slot(), binary()}]) :: :ok
Write all of the slots