mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-31 19:24:42 +02:00
Ensure only one of the RPK algorithm parameters are set.
This commit is contained in:
@@ -23372,6 +23372,20 @@ static int DecodeCertInternal(DecodedCert* cert, int verify, int* criticalExt,
|
|||||||
oidCurveType);
|
oidCurveType);
|
||||||
ret = GetASN_Items(RPKCertASN, RPKdataASN, RPKCertASN_Length, 1,
|
ret = GetASN_Items(RPKCertASN, RPKdataASN, RPKCertASN_Length, 1,
|
||||||
cert->source, &cert->srcIdx, cert->maxIdx);
|
cert->source, &cert->srcIdx, cert->maxIdx);
|
||||||
|
|
||||||
|
if (ret == 0) {
|
||||||
|
if (( RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_NULL].length &&
|
||||||
|
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_CURVEID].length)
|
||||||
|
#ifdef WC_RSA_PSS
|
||||||
|
|| ( RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_P_SEQ].length &&
|
||||||
|
( RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_NULL].length ||
|
||||||
|
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_CURVEID].length))
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
WOLFSSL_MSG("Multiple RPK algorithm parameters set.");
|
||||||
|
ret = ASN_PARSE_E;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
cert->keyOID =
|
cert->keyOID =
|
||||||
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_OID].data.oid.sum;
|
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_OID].data.oid.sum;
|
||||||
|
Reference in New Issue
Block a user