| /* |
| * Copyright(c) 2019 Free Software Foundation, Inc. |
| * |
| * This file is part of libtasn1. |
| * |
| * Libtasn1 is free software: you can redistribute it and/or modify |
| * it under the terms of the GNU Lesser General Public License as published by |
| * the Free Software Foundation, either version 3 of the License, or |
| * (at your option) any later version. |
| * |
| * Libtasn1 is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public License |
| * along with libtasn1. If not, see <https://www.gnu.org/licenses/>. |
| * |
| * This fuzzer is testing arbitrary DER input data with GnuTLS's ASN.1 definition (lib/pkix.asn). |
| * So, any issues found here likely have a real world impact on every software using libgnutls. |
| */ |
| |
| #include <config.h> |
| |
| #include <assert.h> // assert |
| #include <stdlib.h> // malloc, free |
| #include <string.h> // strcmp, memcpy |
| |
| #include "libtasn1.h" |
| #include "fuzzer.h" |
| |
| /* |
| * This is the ASN.1 definition array used by GnuTLS. |
| * It is created from lib/pkix.asn over at the GnuTLS project. |
| */ |
| static const asn1_static_node pkix_asn1_tab[] = { |
| {"PKIX1", 536875024, NULL}, |
| {NULL, 1073741836, NULL}, |
| {"PrivateKeyUsagePeriod", 1610612741, NULL}, |
| {"notBefore", 1610637349, NULL}, |
| {NULL, 4104, "0"}, |
| {"notAfter", 536895525, NULL}, |
| {NULL, 4104, "1"}, |
| {"AuthorityKeyIdentifier", 1610612741, NULL}, |
| {"keyIdentifier", 1610637319, NULL}, |
| {NULL, 4104, "0"}, |
| {"authorityCertIssuer", 1610637314, "GeneralNames"}, |
| {NULL, 4104, "1"}, |
| {"authorityCertSerialNumber", 536895490, "CertificateSerialNumber"}, |
| {NULL, 4104, "2"}, |
| {"SubjectKeyIdentifier", 1073741831, NULL}, |
| {"KeyUsage", 1073741830, NULL}, |
| {"DirectoryString", 1610612754, NULL}, |
| {"teletexString", 1612709918, NULL}, |
| {"MAX", 524298, "1"}, |
| {"printableString", 1612709919, NULL}, |
| {"MAX", 524298, "1"}, |
| {"universalString", 1612709920, NULL}, |
| {"MAX", 524298, "1"}, |
| {"utf8String", 1612709922, NULL}, |
| {"MAX", 524298, "1"}, |
| {"bmpString", 1612709921, NULL}, |
| {"MAX", 524298, "1"}, |
| {"ia5String", 538968093, NULL}, |
| {"MAX", 524298, "1"}, |
| {"SubjectAltName", 1073741826, "GeneralNames"}, |
| {"GeneralNames", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "GeneralName"}, |
| {"GeneralName", 1610612754, NULL}, |
| {"otherName", 1610620930, "AnotherName"}, |
| {NULL, 4104, "0"}, |
| {"rfc822Name", 1610620957, NULL}, |
| {NULL, 4104, "1"}, |
| {"dNSName", 1610620957, NULL}, |
| {NULL, 4104, "2"}, |
| {"x400Address", 1610620941, NULL}, |
| {NULL, 4104, "3"}, |
| {"directoryName", 1610620939, NULL}, |
| {NULL, 1073743880, "4"}, |
| {NULL, 2, "RelativeDistinguishedName"}, |
| {"ediPartyName", 1610620941, NULL}, |
| {NULL, 4104, "5"}, |
| {"uniformResourceIdentifier", 1610620957, NULL}, |
| {NULL, 4104, "6"}, |
| {"iPAddress", 1610620935, NULL}, |
| {NULL, 4104, "7"}, |
| {"registeredID", 536879116, NULL}, |
| {NULL, 4104, "8"}, |
| {"AnotherName", 1610612741, NULL}, |
| {"type-id", 1073741836, NULL}, |
| {"value", 541073421, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"type-id", 1, NULL}, |
| {"IssuerAltName", 1073741826, "GeneralNames"}, |
| {"BasicConstraints", 1610612741, NULL}, |
| {"cA", 1610645508, NULL}, |
| {NULL, 131081, NULL}, |
| {"pathLenConstraint", 537411587, NULL}, |
| {"0", 10, "MAX"}, |
| {"CRLDistributionPoints", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "DistributionPoint"}, |
| {"DistributionPoint", 1610612741, NULL}, |
| {"distributionPoint", 1610637314, "DistributionPointName"}, |
| {NULL, 2056, "0"}, |
| {"reasons", 1610637314, "ReasonFlags"}, |
| {NULL, 4104, "1"}, |
| {"cRLIssuer", 536895490, "GeneralNames"}, |
| {NULL, 4104, "2"}, |
| {"DistributionPointName", 1610612754, NULL}, |
| {"fullName", 1610620930, "GeneralNames"}, |
| {NULL, 4104, "0"}, |
| {"nameRelativeToCRLIssuer", 536879106, "RelativeDistinguishedName"}, |
| {NULL, 4104, "1"}, |
| {"ReasonFlags", 1073741830, NULL}, |
| {"ExtKeyUsageSyntax", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 12, NULL}, |
| {"AuthorityInfoAccessSyntax", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "AccessDescription"}, |
| {"AccessDescription", 1610612741, NULL}, |
| {"accessMethod", 1073741836, NULL}, |
| {"accessLocation", 2, "GeneralName"}, |
| {"Attribute", 1610612741, NULL}, |
| {"type", 1073741836, NULL}, |
| {"values", 536870927, NULL}, |
| {NULL, 13, NULL}, |
| {"AttributeTypeAndValue", 1610612741, NULL}, |
| {"type", 1073741836, NULL}, |
| {"value", 13, NULL}, |
| {"Name", 1610612754, NULL}, |
| {"rdnSequence", 536870923, NULL}, |
| {NULL, 2, "RelativeDistinguishedName"}, |
| {"DistinguishedName", 1610612747, NULL}, |
| {NULL, 2, "RelativeDistinguishedName"}, |
| {"RelativeDistinguishedName", 1612709903, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "AttributeTypeAndValue"}, |
| {"Certificate", 1610612741, NULL}, |
| {"tbsCertificate", 1073741826, "TBSCertificate"}, |
| {"signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signature", 6, NULL}, |
| {"TBSCertificate", 1610612741, NULL}, |
| {"version", 1610653699, NULL}, |
| {NULL, 1073741833, "0"}, |
| {NULL, 2056, "0"}, |
| {"serialNumber", 1073741826, "CertificateSerialNumber"}, |
| {"signature", 1073741826, "AlgorithmIdentifier"}, |
| {"issuer", 1073741826, "Name"}, |
| {"validity", 1073741826, "Validity"}, |
| {"subject", 1073741826, "Name"}, |
| {"subjectPublicKeyInfo", 1073741826, "SubjectPublicKeyInfo"}, |
| {"issuerUniqueID", 1610637314, "UniqueIdentifier"}, |
| {NULL, 4104, "1"}, |
| {"subjectUniqueID", 1610637314, "UniqueIdentifier"}, |
| {NULL, 4104, "2"}, |
| {"extensions", 536895490, "Extensions"}, |
| {NULL, 2056, "3"}, |
| {"CertificateSerialNumber", 1073741827, NULL}, |
| {"Validity", 1610612741, NULL}, |
| {"notBefore", 1073741826, "Time"}, |
| {"notAfter", 2, "Time"}, |
| {"Time", 1610612754, NULL}, |
| {"utcTime", 1073741860, NULL}, |
| {"generalTime", 37, NULL}, |
| {"UniqueIdentifier", 1073741830, NULL}, |
| {"SubjectPublicKeyInfo", 1610612741, NULL}, |
| {"algorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"subjectPublicKey", 6, NULL}, |
| {"Extensions", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "Extension"}, |
| {"Extension", 1610612741, NULL}, |
| {"extnID", 1073741836, NULL}, |
| {"critical", 1610645508, NULL}, |
| {NULL, 131081, NULL}, |
| {"extnValue", 7, NULL}, |
| {"CertificateList", 1610612741, NULL}, |
| {"tbsCertList", 1073741826, "TBSCertList"}, |
| {"signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signature", 6, NULL}, |
| {"TBSCertList", 1610612741, NULL}, |
| {"version", 1073758211, NULL}, |
| {"signature", 1073741826, "AlgorithmIdentifier"}, |
| {"issuer", 1073741826, "Name"}, |
| {"thisUpdate", 1073741826, "Time"}, |
| {"nextUpdate", 1073758210, "Time"}, |
| {"revokedCertificates", 1610629131, NULL}, |
| {NULL, 536870917, NULL}, |
| {"userCertificate", 1073741826, "CertificateSerialNumber"}, |
| {"revocationDate", 1073741826, "Time"}, |
| {"crlEntryExtensions", 16386, "Extensions"}, |
| {"crlExtensions", 536895490, "Extensions"}, |
| {NULL, 2056, "0"}, |
| {"AlgorithmIdentifier", 1610612741, NULL}, |
| {"algorithm", 1073741836, NULL}, |
| {"parameters", 541081613, NULL}, |
| {"algorithm", 1, NULL}, |
| {"Dss-Sig-Value", 1610612741, NULL}, |
| {"r", 1073741827, NULL}, |
| {"s", 3, NULL}, |
| {"Dss-Parms", 1610612741, NULL}, |
| {"p", 1073741827, NULL}, |
| {"q", 1073741827, NULL}, |
| {"g", 3, NULL}, |
| {"pkcs-7-ContentInfo", 1610612741, NULL}, |
| {"contentType", 1073741836, NULL}, |
| {"content", 541073421, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"contentType", 1, NULL}, |
| {"pkcs-7-DigestInfo", 1610612741, NULL}, |
| {"digestAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"digest", 7, NULL}, |
| {"pkcs-7-SignedData", 1610612741, NULL}, |
| {"version", 1073741827, NULL}, |
| {"digestAlgorithms", 1073741826, "pkcs-7-DigestAlgorithmIdentifiers"}, |
| {"encapContentInfo", 1073741826, "pkcs-7-EncapsulatedContentInfo"}, |
| {"certificates", 1610637314, "pkcs-7-CertificateSet"}, |
| {NULL, 4104, "0"}, |
| {"crls", 1610637314, "pkcs-7-CertificateRevocationLists"}, |
| {NULL, 4104, "1"}, |
| {"signerInfos", 2, "pkcs-7-SignerInfos"}, |
| {"pkcs-7-DigestAlgorithmIdentifiers", 1610612751, NULL}, |
| {NULL, 2, "AlgorithmIdentifier"}, |
| {"pkcs-7-EncapsulatedContentInfo", 1610612741, NULL}, |
| {"eContentType", 1073741836, NULL}, |
| {"eContent", 536895501, NULL}, |
| {NULL, 2056, "0"}, |
| {"pkcs-7-CertificateRevocationLists", 1610612751, NULL}, |
| {NULL, 13, NULL}, |
| {"pkcs-7-CertificateChoices", 1610612754, NULL}, |
| {"certificate", 13, NULL}, |
| {"pkcs-7-CertificateSet", 1610612751, NULL}, |
| {NULL, 2, "pkcs-7-CertificateChoices"}, |
| {"IssuerAndSerialNumber", 1610612741, NULL}, |
| {"issuer", 1073741826, "Name"}, |
| {"serialNumber", 2, "CertificateSerialNumber"}, |
| {"pkcs-7-SignerInfo", 1610612741, NULL}, |
| {"version", 1073741827, NULL}, |
| {"sid", 1073741826, "SignerIdentifier"}, |
| {"digestAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signedAttrs", 1610637314, "SignedAttributes"}, |
| {NULL, 4104, "0"}, |
| {"signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signature", 1073741831, NULL}, |
| {"unsignedAttrs", 536895490, "SignedAttributes"}, |
| {NULL, 4104, "1"}, |
| {"SignedAttributes", 1612709903, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "Attribute"}, |
| {"SignerIdentifier", 1610612754, NULL}, |
| {"issuerAndSerialNumber", 1073741826, "IssuerAndSerialNumber"}, |
| {"subjectKeyIdentifier", 536879111, NULL}, |
| {NULL, 4104, "0"}, |
| {"pkcs-7-SignerInfos", 1610612751, NULL}, |
| {NULL, 2, "pkcs-7-SignerInfo"}, |
| {"pkcs-10-CertificationRequestInfo", 1610612741, NULL}, |
| {"version", 1073741827, NULL}, |
| {"subject", 1073741826, "Name"}, |
| {"subjectPKInfo", 1073741826, "SubjectPublicKeyInfo"}, |
| {"attributes", 536879106, "Attributes"}, |
| {NULL, 4104, "0"}, |
| {"Attributes", 1610612751, NULL}, |
| {NULL, 2, "Attribute"}, |
| {"pkcs-10-CertificationRequest", 1610612741, NULL}, |
| {"certificationRequestInfo", 1073741826, |
| "pkcs-10-CertificationRequestInfo"}, |
| {"signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signature", 6, NULL}, |
| {"pkcs-9-at-challengePassword", 1879048204, NULL}, |
| {"iso", 1073741825, "1"}, |
| {"member-body", 1073741825, "2"}, |
| {"us", 1073741825, "840"}, |
| {"rsadsi", 1073741825, "113549"}, |
| {"pkcs", 1073741825, "1"}, |
| {NULL, 1073741825, "9"}, |
| {NULL, 1, "7"}, |
| {"pkcs-9-challengePassword", 1610612754, NULL}, |
| {"printableString", 1073741855, NULL}, |
| {"utf8String", 34, NULL}, |
| {"pkcs-9-localKeyId", 1073741831, NULL}, |
| {"pkcs-8-PrivateKeyInfo", 1610612741, NULL}, |
| {"version", 1073741827, NULL}, |
| {"privateKeyAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"privateKey", 1073741831, NULL}, |
| {"attributes", 536895490, "Attributes"}, |
| {NULL, 4104, "0"}, |
| {"pkcs-8-EncryptedPrivateKeyInfo", 1610612741, NULL}, |
| {"encryptionAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"encryptedData", 2, "pkcs-8-EncryptedData"}, |
| {"pkcs-8-EncryptedData", 1073741831, NULL}, |
| {"pkcs-5-des-CBC-params", 1612709895, NULL}, |
| {NULL, 1048586, "8"}, |
| {"pkcs-5-des-EDE3-CBC-params", 1612709895, NULL}, |
| {NULL, 1048586, "8"}, |
| {"pkcs-5-aes128-CBC-params", 1612709895, NULL}, |
| {NULL, 1048586, "16"}, |
| {"pkcs-5-aes192-CBC-params", 1612709895, NULL}, |
| {NULL, 1048586, "16"}, |
| {"pkcs-5-aes256-CBC-params", 1612709895, NULL}, |
| {NULL, 1048586, "16"}, |
| {"Gost28147-89-Parameters", 1610612741, NULL}, |
| {"iv", 1073741831, NULL}, |
| {"encryptionParamSet", 12, NULL}, |
| {"pkcs-5-PBE-params", 1610612741, NULL}, |
| {"salt", 1073741831, NULL}, |
| {"iterationCount", 3, NULL}, |
| {"pkcs-5-PBES2-params", 1610612741, NULL}, |
| {"keyDerivationFunc", 1073741826, "AlgorithmIdentifier"}, |
| {"encryptionScheme", 2, "AlgorithmIdentifier"}, |
| {"pkcs-5-PBKDF2-params", 1610612741, NULL}, |
| {"salt", 1610612754, NULL}, |
| {"specified", 1073741831, NULL}, |
| {"otherSource", 2, "AlgorithmIdentifier"}, |
| {"iterationCount", 1611137027, NULL}, |
| {"1", 10, "MAX"}, |
| {"keyLength", 1611153411, NULL}, |
| {"1", 10, "MAX"}, |
| {"prf", 16386, "AlgorithmIdentifier"}, |
| {"pkcs-12-PFX", 1610612741, NULL}, |
| {"version", 1610874883, NULL}, |
| {"v3", 1, "3"}, |
| {"authSafe", 1073741826, "pkcs-7-ContentInfo"}, |
| {"macData", 16386, "pkcs-12-MacData"}, |
| {"pkcs-12-PbeParams", 1610612741, NULL}, |
| {"salt", 1073741831, NULL}, |
| {"iterations", 3, NULL}, |
| {"pkcs-12-MacData", 1610612741, NULL}, |
| {"mac", 1073741826, "pkcs-7-DigestInfo"}, |
| {"macSalt", 1073741831, NULL}, |
| {"iterations", 536903683, NULL}, |
| {NULL, 9, "1"}, |
| {"pkcs-12-AuthenticatedSafe", 1610612747, NULL}, |
| {NULL, 2, "pkcs-7-ContentInfo"}, |
| {"pkcs-12-SafeContents", 1610612747, NULL}, |
| {NULL, 2, "pkcs-12-SafeBag"}, |
| {"pkcs-12-SafeBag", 1610612741, NULL}, |
| {"bagId", 1073741836, NULL}, |
| {"bagValue", 1614815245, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"badId", 1, NULL}, |
| {"bagAttributes", 536887311, NULL}, |
| {NULL, 2, "Attribute"}, |
| {"pkcs-12-CertBag", 1610612741, NULL}, |
| {"certId", 1073741836, NULL}, |
| {"certValue", 541073421, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"certId", 1, NULL}, |
| {"pkcs-12-CRLBag", 1610612741, NULL}, |
| {"crlId", 1073741836, NULL}, |
| {"crlValue", 541073421, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"crlId", 1, NULL}, |
| {"pkcs-12-SecretBag", 1610612741, NULL}, |
| {"secretTypeId", 1073741836, NULL}, |
| {"secretValue", 541073421, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"secretTypeId", 1, NULL}, |
| {"pkcs-7-Data", 1073741831, NULL}, |
| {"pkcs-7-EncryptedData", 1610612741, NULL}, |
| {"version", 1073741827, NULL}, |
| {"encryptedContentInfo", 1073741826, "pkcs-7-EncryptedContentInfo"}, |
| {"unprotectedAttrs", 536895490, "pkcs-7-UnprotectedAttributes"}, |
| {NULL, 4104, "1"}, |
| {"pkcs-7-EncryptedContentInfo", 1610612741, NULL}, |
| {"contentType", 1073741836, NULL}, |
| {"contentEncryptionAlgorithm", 1073741826, |
| "pkcs-7-ContentEncryptionAlgorithmIdentifier"}, |
| {"encryptedContent", 536895495, NULL}, |
| {NULL, 4104, "0"}, |
| {"pkcs-7-ContentEncryptionAlgorithmIdentifier", 1073741826, |
| "AlgorithmIdentifier"}, |
| {"pkcs-7-UnprotectedAttributes", 1612709903, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "Attribute"}, |
| {"ProxyCertInfo", 1610612741, NULL}, |
| {"pCPathLenConstraint", 1611153411, NULL}, |
| {"0", 10, "MAX"}, |
| {"proxyPolicy", 2, "ProxyPolicy"}, |
| {"ProxyPolicy", 1610612741, NULL}, |
| {"policyLanguage", 1073741836, NULL}, |
| {"policy", 16391, NULL}, |
| {"certificatePolicies", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "PolicyInformation"}, |
| {"PolicyInformation", 1610612741, NULL}, |
| {"policyIdentifier", 1073741836, NULL}, |
| {"policyQualifiers", 538984459, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "PolicyQualifierInfo"}, |
| {"PolicyQualifierInfo", 1610612741, NULL}, |
| {"policyQualifierId", 1073741836, NULL}, |
| {"qualifier", 541065229, NULL}, |
| {"policyQualifierId", 1, NULL}, |
| {"CPSuri", 1073741853, NULL}, |
| {"UserNotice", 1610612741, NULL}, |
| {"noticeRef", 1073758210, "NoticeReference"}, |
| {"explicitText", 16386, "DisplayText"}, |
| {"NoticeReference", 1610612741, NULL}, |
| {"organization", 1073741826, "DisplayText"}, |
| {"noticeNumbers", 536870923, NULL}, |
| {NULL, 3, NULL}, |
| {"DisplayText", 1610612754, NULL}, |
| {"ia5String", 1612709917, NULL}, |
| {"200", 524298, "1"}, |
| {"visibleString", 1612709923, NULL}, |
| {"200", 524298, "1"}, |
| {"bmpString", 1612709921, NULL}, |
| {"200", 524298, "1"}, |
| {"utf8String", 538968098, NULL}, |
| {"200", 524298, "1"}, |
| {"OCSPRequest", 1610612741, NULL}, |
| {"tbsRequest", 1073741826, "TBSRequest"}, |
| {"optionalSignature", 536895490, "Signature"}, |
| {NULL, 2056, "0"}, |
| {"TBSRequest", 1610612741, NULL}, |
| {"version", 1610653699, NULL}, |
| {NULL, 1073741833, "0"}, |
| {NULL, 2056, "0"}, |
| {"requestorName", 1610637314, "GeneralName"}, |
| {NULL, 2056, "1"}, |
| {"requestList", 1610612747, NULL}, |
| {NULL, 2, "Request"}, |
| {"requestExtensions", 536895490, "Extensions"}, |
| {NULL, 2056, "2"}, |
| {"Signature", 1610612741, NULL}, |
| {"signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signature", 1073741830, NULL}, |
| {"certs", 536895499, NULL}, |
| {NULL, 1073743880, "0"}, |
| {NULL, 2, "Certificate"}, |
| {"Request", 1610612741, NULL}, |
| {"reqCert", 1073741826, "CertID"}, |
| {"singleRequestExtensions", 536895490, "Extensions"}, |
| {NULL, 2056, "0"}, |
| {"CertID", 1610612741, NULL}, |
| {"hashAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"issuerNameHash", 1073741831, NULL}, |
| {"issuerKeyHash", 1073741831, NULL}, |
| {"serialNumber", 2, "CertificateSerialNumber"}, |
| {"OCSPResponse", 1610612741, NULL}, |
| {"responseStatus", 1073741826, "OCSPResponseStatus"}, |
| {"responseBytes", 536895490, "ResponseBytes"}, |
| {NULL, 2056, "0"}, |
| {"OCSPResponseStatus", 1610874901, NULL}, |
| {"successful", 1073741825, "0"}, |
| {"malformedRequest", 1073741825, "1"}, |
| {"internalError", 1073741825, "2"}, |
| {"tryLater", 1073741825, "3"}, |
| {"sigRequired", 1073741825, "5"}, |
| {"unauthorized", 1, "6"}, |
| {"ResponseBytes", 1610612741, NULL}, |
| {"responseType", 1073741836, NULL}, |
| {"response", 7, NULL}, |
| {"BasicOCSPResponse", 1610612741, NULL}, |
| {"tbsResponseData", 1073741826, "ResponseData"}, |
| {"signatureAlgorithm", 1073741826, "AlgorithmIdentifier"}, |
| {"signature", 1073741830, NULL}, |
| {"certs", 536895499, NULL}, |
| {NULL, 1073743880, "0"}, |
| {NULL, 2, "Certificate"}, |
| {"ResponseData", 1610612741, NULL}, |
| {"version", 1610653699, NULL}, |
| {NULL, 1073741833, "0"}, |
| {NULL, 2056, "0"}, |
| {"responderID", 1073741826, "ResponderID"}, |
| {"producedAt", 1073741861, NULL}, |
| {"responses", 1610612747, NULL}, |
| {NULL, 2, "SingleResponse"}, |
| {"responseExtensions", 536895490, "Extensions"}, |
| {NULL, 2056, "1"}, |
| {"ResponderID", 1610612754, NULL}, |
| {"byName", 1610620939, NULL}, |
| {NULL, 1073743880, "1"}, |
| {NULL, 2, "RelativeDistinguishedName"}, |
| {"byKey", 536879111, NULL}, |
| {NULL, 2056, "2"}, |
| {"SingleResponse", 1610612741, NULL}, |
| {"certID", 1073741826, "CertID"}, |
| {"certStatus", 1073741826, "CertStatus"}, |
| {"thisUpdate", 1073741861, NULL}, |
| {"nextUpdate", 1610637349, NULL}, |
| {NULL, 2056, "0"}, |
| {"singleExtensions", 536895490, "Extensions"}, |
| {NULL, 2056, "1"}, |
| {"CertStatus", 1610612754, NULL}, |
| {"good", 1610620948, NULL}, |
| {NULL, 4104, "0"}, |
| {"revoked", 1610620930, "RevokedInfo"}, |
| {NULL, 4104, "1"}, |
| {"unknown", 536879106, "UnknownInfo"}, |
| {NULL, 4104, "2"}, |
| {"RevokedInfo", 1610612741, NULL}, |
| {"revocationTime", 1073741861, NULL}, |
| {"revocationReason", 537157653, NULL}, |
| {NULL, 1073743880, "0"}, |
| {"unspecified", 1, "0"}, |
| {"UnknownInfo", 1073741844, NULL}, |
| {"NameConstraints", 1610612741, NULL}, |
| {"permittedSubtrees", 1610637314, "GeneralSubtrees"}, |
| {NULL, 4104, "0"}, |
| {"excludedSubtrees", 536895490, "GeneralSubtrees"}, |
| {NULL, 4104, "1"}, |
| {"GeneralSubtrees", 1612709899, NULL}, |
| {"MAX", 1074266122, "1"}, |
| {NULL, 2, "GeneralSubtree"}, |
| {"GeneralSubtree", 1610612741, NULL}, |
| {"base", 1073741826, "GeneralName"}, |
| {"minimum", 1610653699, NULL}, |
| {NULL, 1073741833, "0"}, |
| {NULL, 4104, "0"}, |
| {"maximum", 536895491, NULL}, |
| {NULL, 4104, "1"}, |
| {"TlsFeatures", 536870923, NULL}, |
| {NULL, 3, NULL}, |
| {NULL, 0, NULL} |
| }; |
| |
| int |
| LLVMFuzzerTestOneInput (const uint8_t * data, size_t size) |
| { |
| static asn1_node _gnutls_pkix1_asn = NULL; |
| static int first = 1; |
| asn1_node dn; |
| int res, start, end; |
| |
| if (size > 10000) // same as max_len = 10000 in .options file |
| return 0; |
| |
| if (first) |
| { |
| first = 0; |
| |
| // from _gnutls_global_init() |
| res = asn1_array2tree (pkix_asn1_tab, &_gnutls_pkix1_asn, NULL); |
| assert (res == ASN1_SUCCESS); |
| } |
| |
| // from cert_get_issuer_dn() |
| if ((res = |
| asn1_create_element (_gnutls_pkix1_asn, "PKIX1.Certificate", |
| &dn)) != ASN1_SUCCESS) |
| { |
| goto out; |
| } |
| |
| // from cert_get_issuer_dn() |
| res = asn1_der_decoding (&dn, data, size, NULL); |
| if (res != ASN1_SUCCESS) |
| { |
| goto out; |
| } |
| |
| // from cert_get_issuer_dn() |
| res = |
| asn1_der_decoding_startEnd (dn, data, size, "tbsCertificate.issuer", |
| &start, &end); |
| if (res != ASN1_SUCCESS) |
| { |
| goto out; |
| } |
| |
| out: |
| asn1_delete_structure (&dn); |
| |
| return 0; |
| } |