Host Protocols Direct Protocol ATCRYPTO class
April 13, 2023 at 2:39 AMSpringCore Direct ATCRYPTO class
The ATCRYPTO class conveys direct commands to a Atmel/MicroChip ATECC608A or ATECC132A Secure Element, if the device has either.
Most of the instructions in this class are disabled when the device goes out of factory thanks to the “Lock ATCRYPTO” flag in the Fuses.
CLA value
The ATCRYPTO class uses CLA=59
.
Message format
SpringCore Direct over USB, SpringCore Direct over BLE
The commands and the responses use the same format.
Field | Length | Description / remark |
---|---|---|
Header | 4 or 6 bytes | CLA = 59 , LEN = length of Data |
INS / STA | 1 byte | Command: opcode of the INStruction Response: STAtus |
Data | 0 or more bytes | Command data Response data |
Encapsulation in CCID Escape / SCardControl
Commands
Field | Length | Description / remark |
---|---|---|
CLA | 1 byte | 59 |
INS | 1 byte | opcode of the INStruction |
Data | 0 or more bytes | Command data |
Note
The length of the Command is not transmitted, as it can be deduced from the CCID header.
Responses
Item | Length | Description / remark |
---|---|---|
STA | 1 byte | STAtus |
Data | 0 or more bytes | Response data |
Note
The length of the Response is not transmitted, as it can be deduced from the CCID header.
The CLA byte is not transmitted.
List of INStructions
The INS
opcodes are defined below:
INS | Name | Description | Remark |
---|---|---|---|
00 |
INIT | Initialize the ATECC or ATAES | Factory only |
01 |
BLANK | Erase all keys in the ATECC or ATAES | Factory only |
10 |
SET KEY USER | Set the HostCommUserKey | Factory only, ATAES only |
11 |
SET KEY ADMIN | Set the HostCommAdminKey | Factory only, ATAES only |
41 |
SET_PRIVATE_KEY | Write an ECC P-256 private key into the SE | ATECC only |
42 |
GENERATE_PRIVATE_KEY | Generate an ECC P-256 private key inside the SE | ATECC only |
43 |
GET_PUBLIC KEY | Read the public key associated to a private key | ATECC only |
46 |
SIGN | Compute an ECC signature | ATECC only |
47 |
HASH_AND SIGN | Compute an ECC signature | ATECC only |
48 |
ECDH | Run the Diffie-Hellman agreement | ATECC only |
4E |
GET CSR | Get a certificate signing request (CSR) for the specified key with its default subject | ATECC only |
4F |
GET CSR EX | Get a certificate signing request (CSR) for the specified key with an arbitrary subject | ATECC only |
List of STAtus
The STA
values are defines below:
STA | Name | Description |
---|---|---|
00 |
MI_OK | Success |