ATECC508a - Key Generation

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

 

I am using ATECC508a and have integrated the crypto auth library into my workspace.

I am using Atmel sam v71 driver files for the host controller.

 

I am running the basic tests provided with the library with a slight modification.

 

Under test_basic_genkey() test, i have changed the slot number to generate and store the keys from '0' to '1' as shown below.

atcab_genkey(1, public_key);

 

When i run this test, i see an error of 0x0F as the response from the crypto chip.

However, if i change this back to '0' (atcab_genkey(0, public_key);), the keys are generated just fine.

 

Can anyone please let me know why i am not able to generate the keys for any other slot number other than 0?

 

Thanks in advance,

Sindhu

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

 

The error msg can be found in atca_status.h File Reference

 

ATCA_EXECUTION_ERROR 

chip was in a state where it could not execute the command, response status byte indicates command execution error (status byte = 0x0F)

 

Does the other slot have a valid key pair?

 

Regards

 

Mark

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi

 

Is the slot 1 configured to store ECC private keys? For slot 1, bytes 88 and 89 of the configuration zone are responsible.

KeyConfig
Bit0    KeyConfig    1 = The key slot contains an ECC private key and can be accessed only with the Sign,
                                   GenKey, and PrivWrite commands.

                             0 = The key slot does not contain an ECC private key and cannot be accessed with the
                                   Sign, GenKey, and PrivWrite commands. It may contain an ECC public key, a SHA
                                    key, or data.

 

Bit2    KeyType        If the slot contains an ECC public or private key, then the key type field below must be set
                    to four. If the slot contains any other kind of data, key, or secret, then this field must be set
                    to seven for proper operation.
                    0 = RFU (reserved for future use)
                    1 = RFU (reserved for future use)
                    2 = RFU (reserved for future use)
                    3 = RFU (reserved for future use)
                    4 = P256 NIST ECC key
                    5 = RFU (reserved for future use)
                    6 = RFU (reserved for future use)
                    7 = Not an ECC key

 

Kind regards,

Vijay

Last Edited: Mon. Oct 17, 2016 - 02:35 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good day sir

I have simular questions for the function GENKEY.

 

When I use ACES + AT08CK101, I try to use keyid(0, 1,2) for this funciton.

I got the error code 0x0F all the time.

I don't know where I have to set.

 

In fact, after we can use GENKEY for the public and I will use SIGN/VERIFY function from the key pair to continue the authentication process.

But I blocked by the GENKEY function.

 

Could you please help me or let me know the related setting to let GENKTY/SIGN/VERIFY function work?

 

The attachment is the EEPROM setting on my ATECC508a

 

Thank you

Jim

 

Last Edited: Wed. Feb 8, 2017 - 05:48 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Vijay,

Where did you found theese information?

I want to know about the others bits of KeyConfig for atecc508a. Do you have it??