Skip to content

Commit 124fcf2

Browse files
committed
Add support for ECC OID encoding
1 parent 5c869b6 commit 124fcf2

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

src/internal.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8727,6 +8727,19 @@ static int RsaObject_GetAttr(WP11_Object* object, CK_ATTRIBUTE_TYPE type,
87278727
static int GetEcParams(ecc_key* key, byte* data, CK_ULONG* len)
87288728
{
87298729
int ret = 0;
8730+
#if defined(HAVE_OID_ENCODING)
8731+
word32 dataLen = (word32)*len;
8732+
byte* out = (data != NULL) ? (data + 2) : NULL;
8733+
ret = wc_EncodeObjectId(key->dp->oid, key->dp->oidSz, out, &dataLen);
8734+
if (ret != 0) {
8735+
return ret;
8736+
}
8737+
if (data != NULL) {
8738+
data[0] = ASN_OBJECT_ID;
8739+
data[1] = dataLen;
8740+
}
8741+
*len = dataLen + 2;
8742+
#else
87308743
const byte* oid = NULL;
87318744
word32 oidSz = 0;
87328745

@@ -8744,6 +8757,7 @@ static int GetEcParams(ecc_key* key, byte* data, CK_ULONG* len)
87448757
XMEMCPY(data + 2, oid, oidSz);
87458758
}
87468759
}
8760+
#endif
87478761

87488762
return ret;
87498763
}

0 commit comments

Comments
 (0)