[{grisp_cryptoauth, [
  {device,
    #{type => 'ATECC608B',
      i2c_bus => 0,
      i2c_address => 16#6C}
  },
  %% template meta data to use for certificate handling,
  %% a '{template ID, chain ID}' tuple is stored in the
  %% secure element when the certificate is written and
  %% then used to identify the template again when the
  %% certificate is read from the secure element
  {templates, [
    {{0, 0}, stritzinger_root},
    {{1, 0}, grisp2_intermediate},
    {{2, 0}, grisp2_device}
  ]}

  %% Configuration for TLS option generation:

  %% Define if client certificate should be used for TLS, true if not specified.
  % {tls_use_client_certificate, true},

  %% Configure trusted certificates for verification of the client
  %% certificate with files. Can be a path to a PEM file, to a directory
  %% containing multiple PEM files, or a callback function specification.
  % {tls_client_trusted_certs, "/absolute/path/to/directory"},
  % {tls_client_trusted_certs, "/absolute/path/to/single.pem"},
  % {tls_client_trusted_certs, {priv, MyApp, "relative/path/to/directory"}},
  % {tls_client_trusted_certs, {priv, MyApp, "relative/path/to/single.pem"}},
  % {tls_client_trusted_certs, {test, MyApp, "relative/path/to/directory"}},
  % {tls_client_trusted_certs, {test, MyApp, "relative/path/to/single.pem"}},

  %% Configure the trusted certificates for verification of the client
  %% certificate with callback. If not specified, the callback do not take any
  %% arguments.
  % {tls_client_trusted_certs_cb, {ModName, FunName}},
  % {tls_client_trusted_certs_cb, {ModName, FunName, FunArgs}},

  %% Configure trusted certificates for verification of the server certificate
  %% with files. Define a directory that contains server certificate for TLS
  %% verification. Can be an absolute path, or a tuple with an application name
  %% and a relative path from the app root directory.
  %% The directory should contains PEM files with the server domain name and the
  %% '.pem' extension.
  % {tls_server_trusted_certs, "/etc/servers"},
  % {tls_server_trusted_certs, {priv, MyApp, "servers"}},
  % {tls_server_trusted_certs, {test, MyApp, "certs"}},

  %% Configure trusted certificates for verification of the server certificate
  %% with callback. If not specified, the callback do not take any
  %% arguments.
  % {tls_server_trusted_certs_cb, {ModName, FunName}},
  % {tls_server_trusted_certs_cb, {ModName, FunName, FunArgs}},

  %% Configuration for emulation, if EMULATE_CRYPTOAUTH is defined:

  %% The client certificate and private key to use instead of the secure element.
  %% The values can be either an absolute path or tuple of an app name and
  %% a relative path to the root of the given app.
  % {client_certs, {MyApp, "priv/client_cert.pem"}},
  % {client_key, {MyApp, "priv/client_key.pem"}},
  %% Can be set to verify_none to disable server certificate verification.
  % {tls_verify, verify_peer}
]}].
