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
Solved! Go to Solution.
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
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
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