Hi,
I am calling this API from my context session (SCP03 encrypted), using a valid object id that identifies a valid EC key that exists in persistent memory and passing the public key and length
Se05x_API_ECGenSharedSecret(&session->s_ctx, kid, key, key_len, secret, len);
The kid is a valid object id.
secret: is a valid pointer to a buffer of 512 bytes
secret_len: is a valid pointer pointing to the number 512
The key:
I/TC: public key : 32 bytes, x=32, y=32
I/TC: se050: ecc: : public x:
I/TC: se050: ecc: : 04.bf.cd.44.48.a7.e6.d9 36.3f.84.e8.c6.39.32.df
I/TC: se050: ecc: : f6.12.f0.85.21.b4.b6.e5 4d.ad.46.7a.d4.c1.bf.6c
I/TC: se050: ecc: : public y:
I/TC: se050: ecc: : 34.b9.56.6b.99.17.32.b3 f9.0b.bf.7c.a5.75.a3.61
I/TC: se050: ecc: : 38.9d.d0.f9.b3.26.a9.93 13.18.a8.11.d8.30.e8.7b
The key array is formed as: 0x04 + public_x + public_y
With the length = 1 + 32 + 32
The curve id of the kid is kSE05x_ECCurve_NIST_P256
The response I get from the SE050 to this APDU request is 0x6985
Since the kid - object with the private key - is valid, is there anything in the formatting of the public key that could be causing this call to fail?