forked from wolfSSL/wolfssl
error to have v1 or v2 certificates with extensions
This commit is contained in:
@ -3594,13 +3594,18 @@ int ParseCertRelative(DecodedCert* cert, int type, int verify, void* cm)
|
|||||||
|
|
||||||
CYASSL_MSG("Parsed Past Key");
|
CYASSL_MSG("Parsed Past Key");
|
||||||
|
|
||||||
if (cert->srcIdx != cert->sigIndex) {
|
if (cert->srcIdx < cert->sigIndex) {
|
||||||
if (cert->srcIdx < cert->sigIndex) {
|
#ifndef ALLOW_V1_EXTENSIONS
|
||||||
/* save extensions */
|
if (cert->version < 2) {
|
||||||
cert->extensions = &cert->source[cert->srcIdx];
|
CYASSL_MSG(" v1 and v2 certs not allowed extensions");
|
||||||
cert->extensionsSz = cert->sigIndex - cert->srcIdx;
|
return ASN_VERSION_E;
|
||||||
cert->extensionsIdx = cert->srcIdx; /* for potential later use */
|
}
|
||||||
}
|
#endif
|
||||||
|
/* save extensions */
|
||||||
|
cert->extensions = &cert->source[cert->srcIdx];
|
||||||
|
cert->extensionsSz = cert->sigIndex - cert->srcIdx;
|
||||||
|
cert->extensionsIdx = cert->srcIdx; /* for potential later use */
|
||||||
|
|
||||||
if ((ret = DecodeCertExtensions(cert)) < 0) {
|
if ((ret = DecodeCertExtensions(cert)) < 0) {
|
||||||
if (ret == ASN_CRIT_EXT_E)
|
if (ret == ASN_CRIT_EXT_E)
|
||||||
criticalExt = ret;
|
criticalExt = ret;
|
||||||
|
Reference in New Issue
Block a user