Create Crypto Object: error 0x6985 (conditions not satisfied)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Create Crypto Object: error 0x6985 (conditions not satisfied)

Jump to solution
2,251 Views
jorge_ramirez
Contributor III

I have been working with the SE050ARD for a few months now without problems.

Doing some code cleanup I enabled the option SSSFTR_SE05X_CREATE_DELETE_CRYPTOOBJ.

After this, I can no longer function since crypto object creation always fail with 0x6985 (conditions not satisfied)

The first operation that my stack requires is hmac  sha 256; however I cant instantiate it since Se05x_API_CreateCryptoObject fails returning 0x6985 in sss_se05x_mac_init.

The input parameters to  Se05x_API_CreateCryptoObject  all come from the SE050 stack; could you help me understand what are the conditions that need to be satisfied to be able to create a crypto object? why cant I create a crypto object?

The input parameters to Se05x_API_CreateCryptoObject  are as per the NXP software:

1. cryptoObjectId: kSE05x_CryptoObject_HMAC_SHA256

2 cryptoContext: kSE05x_CryptoContext_SIGNATURE

3. subtype.mac: kSE05x_MACAlgo_HMAC_SHA256

thanks

Jorge

Labels (1)
Tags (1)
1 Solution
2,175 Views
michaelsalfer
NXP Employee
NXP Employee

Hello Jorge,

with enabling SSSFTR_SE05X_CREATE_DELETE_CRYPTOOBJ the functionality in the MW to actually create and delete cryptoobjects gets enabled. Without it the API needed is not available in the MW.

Do you have maybe other crypto objects already created? Please check if there is still enough available memory to instantiate the object. Memory consumption for crypto objects is documented in the APDU spec in chapter 8. Memory consumption.

The available NVM and transient memory can be checked with the Se05x_API_GetFreeMemory() as demonstrated in se05x_minimal, the parameters kSE05x_MemoryType_TRANSIENT_DESELECT (transient memory) and kSE05x_MemoryType_PERSISTENT (NVM memory) can be used to select which memory type should be reported.

Kind regards,

Michael

View solution in original post

2 Replies
2,176 Views
michaelsalfer
NXP Employee
NXP Employee

Hello Jorge,

with enabling SSSFTR_SE05X_CREATE_DELETE_CRYPTOOBJ the functionality in the MW to actually create and delete cryptoobjects gets enabled. Without it the API needed is not available in the MW.

Do you have maybe other crypto objects already created? Please check if there is still enough available memory to instantiate the object. Memory consumption for crypto objects is documented in the APDU spec in chapter 8. Memory consumption.

The available NVM and transient memory can be checked with the Se05x_API_GetFreeMemory() as demonstrated in se05x_minimal, the parameters kSE05x_MemoryType_TRANSIENT_DESELECT (transient memory) and kSE05x_MemoryType_PERSISTENT (NVM memory) can be used to select which memory type should be reported.

Kind regards,

Michael

2,175 Views
jorge_ramirez
Contributor III

Hello Michael,

Yes you are right. There were some objects pending from a previous demo/example run that prevented new objects from being created.

thanks a lot for your help!

Jorge

0 Kudos