Skip to content

Commit 362f0a2

Browse files
Ensure only one of the RPK algorithm parameters are set.
1 parent f942990 commit 362f0a2

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

wolfcrypt/src/asn.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23372,6 +23372,20 @@ static int DecodeCertInternal(DecodedCert* cert, int verify, int* criticalExt,
2337223372
oidCurveType);
2337323373
ret = GetASN_Items(RPKCertASN, RPKdataASN, RPKCertASN_Length, 1,
2337423374
cert->source, &cert->srcIdx, cert->maxIdx);
23375+
23376+
if (ret == 0) {
23377+
if (( RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_NULL].length &&
23378+
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_CURVEID].length)
23379+
#ifdef WC_RSA_PSS
23380+
|| ( RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_P_SEQ].length &&
23381+
( RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_NULL].length ||
23382+
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_CURVEID].length))
23383+
#endif
23384+
) {
23385+
WOLFSSL_MSG("Multiple RPK algorithm parameters set.");
23386+
ret = ASN_PARSE_E;
23387+
}
23388+
}
2337523389
if (ret == 0) {
2337623390
cert->keyOID =
2337723391
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_OID].data.oid.sum;

0 commit comments

Comments
 (0)