View Source ATECC508A.Certificate.TrustAndGoTemplate (atecc508a v1.2.0)

Certificate template for pre-provisioned ATECC608B-TNGTLS from Microchip (Also known as a Trust and Go provisioned chip)

Details on the structure of the compressed certificate and how they map to a standard X.509 cert can be found on the datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/ATECC608B-TNGTLS-CryptoAuthentication-Data-Sheet-DS40002250A.pdf (Table 4-12 - Certificate Storage)

Detailed information on the certificate compression process can be found here: http://ww1.microchip.com/downloads/en/Appnotes/20006367A.pdf

Link to this section Summary

Link to this section Types

@type aki() :: binary()
@type chain_id() :: 0..15
@type signer_id() :: 0..65535
@type ski() :: binary()
@type t() :: %ATECC508A.Certificate.TrustAndGoTemplate{
  certificate_sn: binary() | nil,
  chain_id: chain_id(),
  device_sn: ATECC508A.serial_number() | nil,
  extensions: [X509.Certificate.Extension.t()],
  signer_id: signer_id(),
  sn_source: ATECC508A.sn_source(),
  template_id: template_id()
}
@type template_id() :: 0..15

Link to this section Functions

Link to this function

device(device_sn, signer_id, template_id, eui_serial, ski, aki)

View Source
@spec device(
  ATECC508A.serial_number(),
  signer_id(),
  template_id(),
  String.t(),
  ski(),
  aki()
) :: t()
Link to this function

signer(signer_id, ski, aki)

View Source
@spec signer(signer_id(), ski(), aki()) :: t()