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);
|
||||
ret = GetASN_Items(RPKCertASN, RPKdataASN, RPKCertASN_Length, 1,
|
||||
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) {
|
||||
cert->keyOID =
|
||||
RPKdataASN[RPKCERTASN_IDX_SPUBKEYINFO_ALGO_OID].data.oid.sum;
|
||||
|
Reference in New Issue
Block a user