| line |
true |
false |
branch |
|
201
|
0 |
777 |
if ((err = psParseList(pool, fileName, ';', &fileList)) < 0) |
|
209
|
777 |
775 |
while (currentFile) |
|
211
|
1 |
776 |
if ((err = psGetFileBuf(pool, (char *) currentFile->item, &fileBuf, |
|
215
|
0 |
1 |
if (firstCert) |
|
222
|
1 |
775 |
if ((err = pemCertFileBufToX509(pool, fileBuf, fileBufLen, &x509list)) |
|
227
|
0 |
1 |
if (firstCert) |
|
244
|
1495 |
775 |
while (x509list != NULL) |
|
248
|
0 |
1495 |
if (err < 0) |
|
250
|
0 |
0 |
if (!(flags & CERT_ALLOW_BUNDLE_PARTIAL_PARSE)) |
|
255
|
0 |
0 |
if (firstCert) |
|
268
|
775 |
720 |
if (firstCert == NULL) |
|
302
|
0 |
776 |
if (fileBuf == NULL) |
|
308
|
0 |
776 |
if (current == NULL) |
|
316
|
1496 |
775 |
while (fileBufLen > 0) |
|
318
|
1495 |
1 |
if ( |
|
319
|
1495 |
0 |
((start = (unsigned char *) strstr((char *) chFileBuf, "-----BEGIN")) != NULL) && |
|
320
|
1495 |
0 |
((start = (unsigned char *) strstr((char *) chFileBuf, "CERTIFICATE-----")) != NULL) && |
|
321
|
1495 |
0 |
((end = (unsigned char *) strstr((char *) start, "-----END")) != NULL) && |
|
326
|
720 |
775 |
if (current == NULL) |
|
329
|
0 |
720 |
if (current == NULL) |
|
340
|
0 |
2990 |
while (*end == '\x0d' || *end == '\x0a' || *end == '\x09' |
|
|
1495 |
1495 |
while (*end == '\x0d' || *end == '\x0a' || *end == '\x09' |
|
|
0 |
1495 |
while (*end == '\x0d' || *end == '\x0a' || *end == '\x09' |
|
341
|
0 |
1495 |
|| *end == ' ') |
|
353
|
0 |
1495 |
if (current->item == NULL) |
|
364
|
0 |
1495 |
if (psBase64decode(start, current->len, current->item, ¤t->len) != 0) |
|
405
|
0 |
0 |
if ((uint32) (end - p) < 1) |
|
409
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 0)) |
|
412
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
419
|
0 |
0 |
if (getAsnAlgorithmIdentifier(&p, (uint32) (end - p), &oi, &plen) < 0) |
|
424
|
0 |
0 |
if (secondPass) |
|
426
|
0 |
0 |
if (oi != cert->pssHash) |
|
432
|
0 |
0 |
if (oi == OID_SHA1_ALG) |
|
436
|
0 |
0 |
else if (oi == OID_SHA256_ALG) |
|
440
|
0 |
0 |
else if (oi == OID_MD5_ALG) |
|
445
|
0 |
0 |
else if (oi == OID_SHA384_ALG) |
|
451
|
0 |
0 |
else if (oi == OID_SHA512_ALG) |
|
469
|
0 |
0 |
if ((uint32) (end - p) < 1) |
|
473
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
477
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
483
|
0 |
0 |
if (getAsnAlgorithmIdentifier(&p, (uint32) (end - p), &oi, &plen) < 0) |
|
488
|
0 |
0 |
if (secondPass) |
|
490
|
0 |
0 |
if (oi != cert->maskGen) |
|
497
|
0 |
0 |
if (cert->maskGen != OID_ID_MGF1) |
|
517
|
0 |
0 |
if (getAsnAlgorithmIdentifier(&p, (uint32) (end - p), &oi, &plen) < 0) |
|
522
|
0 |
0 |
if (secondPass) |
|
524
|
0 |
0 |
if (oi != cert->maskHash) |
|
532
|
0 |
0 |
if ((uint32) (end - p) < 1) |
|
536
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 2)) |
|
540
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
546
|
0 |
0 |
if (getAsnInteger(&p, (uint32) (end - p), &asnint) < 0) |
|
551
|
0 |
0 |
if (secondPass) |
|
553
|
0 |
0 |
if (asnint != cert->saltLen) |
|
561
|
0 |
0 |
if ((uint32) (end - p) < 1) |
|
565
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 3)) |
|
570
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &plen) < 0 || |
|
576
|
0 |
0 |
if (getAsnInteger(&p, (uint32) (end - p), &asnint) < 0 || |
|
|
0 |
0 |
if (getAsnInteger(&p, (uint32) (end - p), &asnint) < 0 || |
|
583
|
0 |
0 |
if (p != end) |
|
605
|
0 |
0 |
if (!cert || !der_out || !der_out_len) |
|
|
0 |
0 |
if (!cert || !der_out || !der_out_len) |
|
|
0 |
0 |
if (!cert || !der_out || !der_out_len) |
|
609
|
0 |
0 |
if (cert->publicKeyDerOffsetIntoUnparsedBin == 0 |
|
610
|
0 |
0 |
|| cert->publicKeyDerLen == 0) |
|
617
|
0 |
0 |
if (*der_out_len < cert->publicKeyDerLen) |
|
690
|
1 |
2879 |
if ((rc = getAsnSequence32(&p, (uint32_t) (far_end - p), &oneCertLen, 0)) |
|
699
|
0 |
2879 |
if (oneCertLen > 0xFFFF) |
|
701
|
0 |
0 |
psAssert(oneCertLen <= 0xFFFF); |
|
711
|
258 |
2621 |
if (flags & CERT_STORE_UNPARSED_BUFFER) |
|
715
|
0 |
258 |
if (cert->unparsedBin == NULL) |
|
753
|
0 |
2879 |
if ((rc = getAsnSequence(&p, (uint32) (end - p), &len)) < 0) |
|
768
|
0 |
2879 |
if ((rc = getExplicitVersion(&p, (uint32) (end - p), 0, &cert->version)) |
|
811
|
0 |
2879 |
if ((rc = getSerialNum(pool, &p, (uint32) (end - p), &cert->serialNumber, |
|
823
|
0 |
2879 |
if ((rc = getAsnAlgorithmIdentifier(&p, (uint32) (end - p), |
|
831
|
0 |
2879 |
if (plen != 0) |
|
834
|
0 |
0 |
if (cert->certAlgorithm == OID_RSASSA_PSS) |
|
843
|
0 |
0 |
if ((rc = getAsnSequence(&p, (uint32) (end - p), &len)) < 0) |
|
854
|
0 |
0 |
if (len > 0) |
|
856
|
0 |
0 |
if ((rc = getRsaPssParams(&p, len, cert, 0)) < 0) |
|
891
|
0 |
2879 |
if ((rc = psX509GetDNAttributes(pool, &p, (uint32) (end - p), |
|
904
|
0 |
2879 |
if ((rc = getTimeValidity(pool, &p, (uint32) (end - p), |
|
914
|
0 |
2879 |
if ((rc = validateDateRange(cert)) < 0) |
|
925
|
0 |
2879 |
if ((rc = psX509GetDNAttributes(pool, &p, (uint32) (end - p), |
|
942
|
0 |
2879 |
if ((rc = getAsnSequence(&p, (uint32) (end - p), &len)) < 0) |
|
951
|
0 |
2879 |
if ((rc = getAsnAlgorithmIdentifier(&p, (uint32) (end - p), |
|
964
|
105 |
0 |
if (plen == 0 || plen > (int32) (end - p)) |
|
|
0 |
105 |
if (plen == 0 || plen > (int32) (end - p)) |
|
971
|
0 |
105 |
if ((rc = getEcPubKey(pool, &p, (uint16_t) (end - p), |
|
974
|
0 |
0 |
if (rc == PS_UNSUPPORTED_FAIL) |
|
983
|
0 |
105 |
if (cert->publicKey.keysize < (MIN_ECC_BITS / 8)) |
|
995
|
0 |
2774 |
psAssert(plen == 0); /* No parameters on RSA pub key OID */ |
|
997
|
0 |
2774 |
if ((rc = psRsaParseAsnPubKey(pool, &p, (uint16_t) (end - p), |
|
1007
|
0 |
2774 |
if (cert->publicKey.keysize < (MIN_RSA_BITS / 8)) |
|
1034
|
2879 |
0 |
if (*p != (ASN_SEQUENCE | ASN_CONSTRUCTED)) |
|
1036
|
2879 |
0 |
if (getImplicitBitString(pool, &p, (uint32) (end - p), |
|
1038
|
2879 |
0 |
&cert->uniqueIssuerIdLen) < 0 || |
|
1041
|
0 |
2879 |
&cert->uniqueSubjectIdLen) < 0 || |
|
1057
|
0 |
2879 |
if (certEnd != p) |
|
1066
|
45 |
2834 |
if (cert->subject.commonName == NULL && |
|
|
0 |
45 |
if (cert->subject.commonName == NULL && |
|
1067
|
0 |
0 |
cert->subject.country == NULL && |
|
1068
|
0 |
0 |
cert->subject.state == NULL && |
|
1069
|
0 |
0 |
cert->subject.organization == NULL && |
|
1070
|
0 |
0 |
cert->subject.orgUnit == NULL && |
|
1071
|
0 |
0 |
cert->subject.domainComponent == NULL && |
|
1084
|
0 |
2879 |
if ((rc = getAsnAlgorithmIdentifier(&p, (uint32) (end - p), |
|
1092
|
0 |
2879 |
if (plen != 0) |
|
1095
|
0 |
0 |
if (cert->sigAlgorithm == OID_RSASSA_PSS) |
|
1104
|
0 |
0 |
if ((rc = getAsnSequence(&p, (uint32) (end - p), &len)) < 0) |
|
1111
|
0 |
0 |
if (len > 0) |
|
1113
|
0 |
0 |
if ((rc = getRsaPssParams(&p, len, cert, 1)) < 0) |
|
1138
|
0 |
2879 |
if (cert->certAlgorithm != cert->sigAlgorithm) |
|
1294
|
0 |
2879 |
if (memcmp(cert->sigHash, "\0\0\0\0\0\0", 6) == 0) |
|
1304
|
0 |
2879 |
if ((rc = psX509GetSignature(pool, &p, (uint32) (end - p), |
|
1319
|
2879 |
1 |
if (func_rc == PS_SUCCESS) |
|
1322
|
0 |
2879 |
psAssert(p == end); /* Must have parsed everything. */ |
|
1324
|
0 |
2880 |
psAssert(p <= end); /* Must not have parsed too much. */ |
|
1362
|
0 |
2880 |
if (cert == NULL) |
|
1377
|
2880 |
2879 |
while (parsing) |
|
1386
|
2879 |
1 |
if (rc == PS_SUCCESS) |
|
1392
|
0 |
1 |
psAssert(cert->parseStatus != PS_X509_PARSE_SUCCESS); |
|
1394
|
1 |
0 |
if (!(flags & CERT_ALLOW_BUNDLE_PARTIAL_PARSE)) |
|
1411
|
0 |
2879 |
if ((p != far_end) && (p < (far_end + 1)) |
|
|
0 |
0 |
if ((p != far_end) && (p < (far_end + 1)) |
|
1412
|
0 |
0 |
&& (far_end - p) > MIN_CERT_SIZE) |
|
1414
|
0 |
0 |
if (*p == 0x0 && *(p + 1) == 0x0) |
|
|
0 |
0 |
if (*p == 0x0 && *(p + 1) == 0x0) |
|
1423
|
0 |
0 |
if (cert->next == NULL) |
|
1439
|
0 |
2879 |
if (numParsedCerts == 0) |
|
1442
|
0 |
2879 |
if (flags & CERT_ALLOW_BUNDLE_PARTIAL_PARSE) |
|
1467
|
806 |
8640 |
while (orgUnit != NULL) |
|
1481
|
0 |
8640 |
while (domainComponent != NULL) |
|
1502
|
0 |
2880 |
if (extensions == NULL) |
|
1506
|
31 |
2849 |
if (extensions->san) |
|
1509
|
36 |
31 |
while (active != NULL) |
|
1518
|
10 |
2870 |
if (extensions->issuerAltName) |
|
1521
|
10 |
10 |
while (active != NULL) |
|
1530
|
12 |
2868 |
if (extensions->authorityInfoAccess) |
|
1533
|
18 |
12 |
while (authInfo != NULL) |
|
1545
|
0 |
2880 |
if (extensions->crlNum) |
|
1549
|
82 |
2798 |
if (extensions->crlDist) |
|
1552
|
102 |
82 |
while (active != NULL) |
|
1563
|
0 |
2880 |
if (extensions->nameConstraints.excluded) |
|
1566
|
0 |
0 |
while (active != NULL) |
|
1574
|
5 |
2875 |
if (extensions->nameConstraints.permitted) |
|
1577
|
40 |
5 |
while (active != NULL) |
|
1586
|
2864 |
16 |
if (extensions->sk.id) |
|
1590
|
2379 |
501 |
if (extensions->ak.keyId) |
|
1594
|
50 |
2830 |
if (extensions->ak.serialNum) |
|
1603
|
88 |
2880 |
while (pol_info != NULL) |
|
1609
|
111 |
88 |
while (qual_info != NULL) |
|
1624
|
5 |
2880 |
while (pol_map != NULL) |
|
1633
|
0 |
2880 |
if (extensions->netscapeComment) |
|
1635
|
0 |
0 |
if (extensions->netscapeComment->comment) |
|
1649
|
0 |
0 |
if (DN == NULL) |
|
1654
|
0 |
0 |
if (DN->orgUnit == NULL) |
|
1661
|
0 |
0 |
while (ou->next != NULL) |
|
1676
|
0 |
0 |
if (DN == NULL || DN->orgUnit == NULL || index < 0) |
|
|
0 |
0 |
if (DN == NULL || DN->orgUnit == NULL || index < 0) |
|
|
0 |
0 |
if (DN == NULL || DN->orgUnit == NULL || index < 0) |
|
1687
|
0 |
0 |
if (i < 0) |
|
1693
|
0 |
0 |
if (i == index) |
|
1698
|
0 |
0 |
while (ou->next != NULL) |
|
1702
|
0 |
0 |
if (i < 0) |
|
1706
|
0 |
0 |
if (i == index) |
|
1720
|
0 |
0 |
if (DN == NULL) |
|
1725
|
0 |
0 |
if (DN->domainComponent == NULL) |
|
1732
|
0 |
0 |
while (dc->next != NULL) |
|
1747
|
0 |
0 |
if (DN == NULL || DN->domainComponent == NULL || index < 0) |
|
|
0 |
0 |
if (DN == NULL || DN->domainComponent == NULL || index < 0) |
|
|
0 |
0 |
if (DN == NULL || DN->domainComponent == NULL || index < 0) |
|
1758
|
0 |
0 |
if (i < 0) |
|
1764
|
0 |
0 |
if (i == index) |
|
1769
|
0 |
0 |
while (dc->next != NULL) |
|
1773
|
0 |
0 |
if (i < 0) |
|
1777
|
0 |
0 |
if (i == index) |
|
1796
|
0 |
0 |
if (DN == NULL || out_str == NULL) |
|
|
0 |
0 |
if (DN == NULL || out_str == NULL) |
|
1802
|
0 |
0 |
if (num_dcs == 0) |
|
1809
|
0 |
0 |
for (i = 0; i < num_dcs; i++) |
|
1812
|
0 |
0 |
if (dc == NULL) |
|
1818
|
0 |
0 |
if (i != (num_dcs - 1)) |
|
1827
|
0 |
0 |
if (*out_str == NULL) |
|
1836
|
0 |
0 |
for (i = num_dcs - 1; i >= 0; i--) |
|
1839
|
0 |
0 |
if (dc == NULL) |
|
1848
|
0 |
0 |
if (i != 0) |
|
1855
|
0 |
0 |
if (pos != total_len - DN_NUM_TERMINATING_NULLS) |
|
1920
|
0 |
0 |
psAssert(dn != NULL && out_str != NULL); |
|
|
0 |
0 |
psAssert(dn != NULL && out_str != NULL); |
|
1933
|
0 |
0 |
INC_LEN(country); |
|
|
0 |
0 |
INC_LEN(country); |
|
|
0 |
0 |
INC_LEN(country); |
|
1934
|
0 |
0 |
INC_LEN(state); |
|
|
0 |
0 |
INC_LEN(state); |
|
|
0 |
0 |
INC_LEN(state); |
|
1935
|
0 |
0 |
INC_LEN(organization); |
|
|
0 |
0 |
INC_LEN(organization); |
|
|
0 |
0 |
INC_LEN(organization); |
|
1937
|
0 |
0 |
if (num_ous > 0) |
|
1940
|
0 |
0 |
for (i = 0; i < num_ous; i++) |
|
1943
|
0 |
0 |
if (orgUnit == NULL) |
|
1947
|
0 |
0 |
if (first_len) |
|
1959
|
0 |
0 |
INC_LEN(dnQualifier); |
|
|
0 |
0 |
INC_LEN(dnQualifier); |
|
|
0 |
0 |
INC_LEN(dnQualifier); |
|
1960
|
0 |
0 |
INC_LEN(commonName); |
|
|
0 |
0 |
INC_LEN(commonName); |
|
|
0 |
0 |
INC_LEN(commonName); |
|
1961
|
0 |
0 |
INC_LEN(serialNumber); |
|
|
0 |
0 |
INC_LEN(serialNumber); |
|
|
0 |
0 |
INC_LEN(serialNumber); |
|
1964
|
0 |
0 |
INC_LEN(locality); |
|
|
0 |
0 |
INC_LEN(locality); |
|
|
0 |
0 |
INC_LEN(locality); |
|
1965
|
0 |
0 |
INC_LEN(title); |
|
|
0 |
0 |
INC_LEN(title); |
|
|
0 |
0 |
INC_LEN(title); |
|
1966
|
0 |
0 |
INC_LEN(surname); |
|
|
0 |
0 |
INC_LEN(surname); |
|
|
0 |
0 |
INC_LEN(surname); |
|
1967
|
0 |
0 |
INC_LEN(givenName); |
|
|
0 |
0 |
INC_LEN(givenName); |
|
|
0 |
0 |
INC_LEN(givenName); |
|
1968
|
0 |
0 |
INC_LEN(initials); |
|
|
0 |
0 |
INC_LEN(initials); |
|
|
0 |
0 |
INC_LEN(initials); |
|
1969
|
0 |
0 |
INC_LEN(pseudonym); |
|
|
0 |
0 |
INC_LEN(pseudonym); |
|
|
0 |
0 |
INC_LEN(pseudonym); |
|
1970
|
0 |
0 |
INC_LEN(generationQualifier); |
|
|
0 |
0 |
INC_LEN(generationQualifier); |
|
|
0 |
0 |
INC_LEN(generationQualifier); |
|
1982
|
0 |
0 |
if (num_dcs > 0) |
|
1987
|
0 |
0 |
for (i = 0; i < num_dcs; i++) |
|
1990
|
0 |
0 |
if (first_len) |
|
1999
|
0 |
0 |
if (dc == NULL) |
|
2009
|
0 |
0 |
if (total_len > 100000) |
|
2015
|
0 |
0 |
if (str == NULL) |
|
2066
|
0 |
0 |
PRINT_FIELD(country); |
|
|
0 |
0 |
PRINT_FIELD(country); |
|
|
0 |
0 |
PRINT_FIELD(country); |
|
2067
|
0 |
0 |
PRINT_FIELD(state); |
|
|
0 |
0 |
PRINT_FIELD(state); |
|
|
0 |
0 |
PRINT_FIELD(state); |
|
2069
|
0 |
0 |
PRINT_FIELD(locality); |
|
|
0 |
0 |
PRINT_FIELD(locality); |
|
|
0 |
0 |
PRINT_FIELD(locality); |
|
2071
|
0 |
0 |
PRINT_FIELD(organization); |
|
|
0 |
0 |
PRINT_FIELD(organization); |
|
|
0 |
0 |
PRINT_FIELD(organization); |
|
2073
|
0 |
0 |
if (num_ous > 0) |
|
2076
|
0 |
0 |
for (i = 0; i < num_ous; i++) |
|
2079
|
0 |
0 |
if (orgUnit == NULL) |
|
2084
|
0 |
0 |
if (first_field) |
|
2099
|
0 |
0 |
PRINT_FIELD(commonName); |
|
|
0 |
0 |
PRINT_FIELD(commonName); |
|
|
0 |
0 |
PRINT_FIELD(commonName); |
|
2104
|
0 |
0 |
PRINT_FIELD(givenName); |
|
|
0 |
0 |
PRINT_FIELD(givenName); |
|
|
0 |
0 |
PRINT_FIELD(givenName); |
|
2105
|
0 |
0 |
PRINT_FIELD(surname); |
|
|
0 |
0 |
PRINT_FIELD(surname); |
|
|
0 |
0 |
PRINT_FIELD(surname); |
|
2140
|
0 |
0 |
PRINT_FIELD(serialNumber); |
|
|
0 |
0 |
PRINT_FIELD(serialNumber); |
|
|
0 |
0 |
PRINT_FIELD(serialNumber); |
|
2145
|
0 |
0 |
PRINT_FIELD(title); |
|
|
0 |
0 |
PRINT_FIELD(title); |
|
|
0 |
0 |
PRINT_FIELD(title); |
|
2152
|
0 |
0 |
PRINT_FIELD(pseudonym); |
|
|
0 |
0 |
PRINT_FIELD(pseudonym); |
|
|
0 |
0 |
PRINT_FIELD(pseudonym); |
|
2153
|
0 |
0 |
PRINT_FIELD(generationQualifier); |
|
|
0 |
0 |
PRINT_FIELD(generationQualifier); |
|
|
0 |
0 |
PRINT_FIELD(generationQualifier); |
|
2154
|
0 |
0 |
PRINT_FIELD(initials); |
|
|
0 |
0 |
PRINT_FIELD(initials); |
|
|
0 |
0 |
PRINT_FIELD(initials); |
|
2156
|
0 |
0 |
PRINT_FIELD(dnQualifier); |
|
|
0 |
0 |
PRINT_FIELD(dnQualifier); |
|
|
0 |
0 |
PRINT_FIELD(dnQualifier); |
|
2161
|
0 |
0 |
psAssert(total_len == (p - str)); |
|
2190
|
2880 |
2158 |
while (curr) |
|
2193
|
258 |
2622 |
if (curr->unparsedBin) |
|
2200
|
2879 |
1 |
if (curr->serialNumber) |
|
2204
|
2879 |
1 |
if (curr->notBefore) |
|
2208
|
2879 |
1 |
if (curr->notAfter) |
|
2212
|
2879 |
1 |
if (curr->signature) |
|
2216
|
0 |
2880 |
if (curr->uniqueIssuerId) |
|
2220
|
0 |
2880 |
if (curr->uniqueSubjectId) |
|
2226
|
2879 |
1 |
if (curr->publicKey.type != PS_NOKEY) |
|
2269
|
2879 |
0 |
if (len < 1 || (*(p++) != ASN_BIT_STRING) || |
|
2270
|
2879 |
0 |
getAsnLength(&p, len - 1, &llen) < 0 || |
|
2271
|
0 |
2879 |
(uint32) (end - p) < llen || |
|
2279
|
0 |
2879 |
psAssert(*p == 0); |
|
2284
|
0 |
2879 |
if (*sig == NULL) |
|
2309
|
0 |
0 |
if (n == NULL) |
|
2315
|
0 |
0 |
if (*n == '\0') |
|
2321
|
0 |
0 |
for (c = n; *c != '\0'; c++ ) |
|
2326
|
0 |
0 |
if (c != n) |
|
2328
|
0 |
0 |
if (*c == '.' && *(c - 1) == '.') |
|
|
0 |
0 |
if (*c == '.' && *(c - 1) == '.') |
|
2332
|
0 |
0 |
if (*c == '.' && *(c - 1) == '-') |
|
|
0 |
0 |
if (*c == '.' && *(c - 1) == '-') |
|
2336
|
0 |
0 |
if (*c == '.' && *(c - 1) == '@') |
|
|
0 |
0 |
if (*c == '.' && *(c - 1) == '@') |
|
2340
|
0 |
0 |
if (*c == '-' && *(c - 1) == '.') |
|
|
0 |
0 |
if (*c == '-' && *(c - 1) == '.') |
|
2344
|
0 |
0 |
if (*c == '-' && *(c - 1) == '-') |
|
|
0 |
0 |
if (*c == '-' && *(c - 1) == '-') |
|
2348
|
0 |
0 |
if (*c == '-' && *(c - 1) == '@') |
|
|
0 |
0 |
if (*c == '-' && *(c - 1) == '@') |
|
2352
|
0 |
0 |
if (*c == '@' && *(c - 1) == '.') |
|
|
0 |
0 |
if (*c == '@' && *(c - 1) == '.') |
|
2356
|
0 |
0 |
if (*c == '@' && *(c - 1) == '-') |
|
|
0 |
0 |
if (*c == '@' && *(c - 1) == '-') |
|
2360
|
0 |
0 |
if (*c == '@' && *(c - 1) == '@') |
|
|
0 |
0 |
if (*c == '@' && *(c - 1) == '@') |
|
2367
|
0 |
0 |
if (*c != '.' && (*c < '0' || *c > '9')) |
|
|
0 |
0 |
if (*c != '.' && (*c < '0' || *c > '9')) |
|
|
0 |
0 |
if (*c != '.' && (*c < '0' || *c > '9')) |
|
2374
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && (*c == '.' || *c == '-')) |
|
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && (*c == '.' || *c == '-')) |
|
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && (*c == '.' || *c == '-')) |
|
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && (*c == '.' || *c == '-')) |
|
2379
|
0 |
0 |
if (*c == '@') |
|
2382
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && atfound == 1) |
|
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && atfound == 1) |
|
|
0 |
0 |
if (c != n && *(c + 1) != '\0' && atfound == 1) |
|
2388
|
0 |
0 |
if (*c >= '0' && *c <= '9') |
|
|
0 |
0 |
if (*c >= '0' && *c <= '9') |
|
2393
|
0 |
0 |
if (*c >= 'A' && *c <= 'Z') |
|
|
0 |
0 |
if (*c >= 'A' && *c <= 'Z') |
|
2397
|
0 |
0 |
if (*c >= 'a' && *c <= 'z') |
|
|
0 |
0 |
if (*c >= 'a' && *c <= 'z') |
|
2409
|
0 |
0 |
if (atfound && (*n >= '0' && *n <= '9')) |
|
|
0 |
0 |
if (atfound && (*n >= '0' && *n <= '9')) |
|
|
0 |
0 |
if (atfound && (*n >= '0' && *n <= '9')) |
|
2430
|
128 |
55 |
if (*name == NULL) |
|
2442
|
188 |
183 |
while (len > MIN_GENERALNAME_LEN) |
|
2444
|
128 |
60 |
if (firstName == NULL) |
|
2447
|
0 |
128 |
if (activeName == NULL) |
|
2462
|
105 |
60 |
while (activeName != NULL) |
|
2468
|
0 |
60 |
if (prevName->next == NULL) |
|
2488
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &otherNameLen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &otherNameLen) < 0 || |
|
2489
|
0 |
0 |
otherNameLen < 1 || |
|
2495
|
0 |
0 |
if (*(p++) != ASN_OID |
|
2496
|
0 |
0 |
|| getAsnLength(&p, (int32) (extEnd - p), &activeName->oidLen) < 0 |
|
2497
|
0 |
0 |
|| (uint32) (extEnd - p) < activeName->oidLen |
|
2498
|
0 |
0 |
|| activeName->oidLen > sizeof(activeName->oid)) |
|
2511
|
0 |
0 |
if ((uint32) (extEnd - p) < 1 || *p != 0xA0) |
|
|
0 |
0 |
if ((uint32) (extEnd - p) < 1 || *p != 0xA0) |
|
2517
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &otherNameLen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &otherNameLen) < 0 || |
|
2518
|
0 |
0 |
otherNameLen < 1 || |
|
2524
|
0 |
0 |
if ((uint32) (extEnd - p) < 1) |
|
2531
|
0 |
0 |
if (len <= (p - save)) |
|
2580
|
188 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &activeName->dataLen) < 0 || |
|
|
188 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &activeName->dataLen) < 0 || |
|
2581
|
0 |
188 |
activeName->dataLen < 1 || |
|
2587
|
0 |
188 |
if (len <= (p - save)) |
|
2596
|
0 |
188 |
if (len < activeName->dataLen) |
|
2614
|
7172 |
183 |
for (c = p; c < save; c++) |
|
2616
|
7172 |
0 |
if (*c < ' ' || *c > '~') |
|
|
0 |
7172 |
if (*c < ' ' || *c > '~') |
|
2624
|
0 |
0 |
if (activeName->dataLen < 4) |
|
2635
|
0 |
188 |
if (activeName->data == NULL) |
|
2647
|
0 |
188 |
if (limit > 0) |
|
2649
|
0 |
0 |
if (--limit == 0) |
|
2670
|
0 |
10735 |
psAssert(oidlen <= MAX_OID_LEN); |
|
2671
|
87909 |
1505 |
for (j = 0; oid_list[j].id != 0; j++) |
|
2673
|
242152 |
0 |
for (i = 0; i < oidlen; i++) |
|
2675
|
78679 |
163473 |
if ((uint16_t) (oid[i] & 0xFFFF) != oid_list[j].oid[i]) |
|
2679
|
9230 |
154243 |
if ((i + 1) == oidlen) |
|
2758
|
0 |
111 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
2767
|
111 |
0 |
if (len < 1 || *p++ != ASN_OID) |
|
|
0 |
111 |
if (len < 1 || *p++ != ASN_OID) |
|
2772
|
111 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
|
0 |
111 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
2778
|
0 |
111 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
2786
|
81 |
30 |
if (noid == oid_id_qt_cps) |
|
2788
|
0 |
81 |
if (*p++ != ASN_IA5STRING) |
|
2793
|
81 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
|
0 |
81 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
2806
|
30 |
0 |
else if (noid == oid_id_qt_unotice) |
|
2812
|
0 |
30 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
2817
|
30 |
0 |
if (len == 0 || p >= qualifierEnd) |
|
|
0 |
30 |
if (len == 0 || p >= qualifierEnd) |
|
2823
|
0 |
30 |
if (*p == (ASN_SEQUENCE | ASN_CONSTRUCTED)) |
|
2828
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
2834
|
0 |
0 |
if (*p != ASN_UTF8STRING && |
|
|
0 |
0 |
if (*p != ASN_UTF8STRING && |
|
2835
|
0 |
0 |
*p != ASN_VISIBLE_STRING && |
|
2836
|
0 |
0 |
*p != ASN_BMPSTRING && |
|
2847
|
0 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
2854
|
0 |
0 |
if (qualInfo->unoticeOrganization == NULL) |
|
2863
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
2870
|
0 |
0 |
while (p != noticeNumbersEnd) |
|
2872
|
0 |
0 |
if (i == MAX_UNOTICE_NUMBERS) |
|
2877
|
0 |
0 |
if (getAsnInteger(&p, len, ¬iceNumber) < 0) |
|
2887
|
0 |
30 |
if (p >= qualifierEnd) |
|
2893
|
30 |
0 |
if (*p != ASN_UTF8STRING && |
|
|
10 |
20 |
if (*p != ASN_UTF8STRING && |
|
2894
|
0 |
10 |
*p != ASN_VISIBLE_STRING && |
|
2895
|
0 |
0 |
*p != ASN_BMPSTRING && |
|
2905
|
30 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
|
0 |
30 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
2912
|
0 |
30 |
if (qualInfo->unoticeExplicitText == NULL) |
|
2956
|
0 |
88 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
2965
|
0 |
88 |
if (*p++ != ASN_OID) |
|
2970
|
88 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
|
0 |
88 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
2976
|
0 |
88 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
2982
|
88 |
0 |
if (oidlen == 0 || oidlen > MAX_OID_LEN) |
|
|
0 |
88 |
if (oidlen == 0 || oidlen > MAX_OID_LEN) |
|
2990
|
0 |
88 |
if (polInfo->policyOid == NULL) |
|
2994
|
667 |
88 |
for (i = 0; i < oidlen; i++) |
|
3000
|
81 |
7 |
if ((p >= polInfoEnd) || |
|
|
0 |
81 |
if ((p >= polInfoEnd) || |
|
3009
|
0 |
81 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3017
|
0 |
81 |
if (polInfo->qualifiers == NULL) |
|
3025
|
0 |
81 |
if (parsePolicyQualifierInfo(pool, |
|
3037
|
30 |
81 |
while ((p < qualifierEnd) |
|
3038
|
30 |
0 |
&& (p < extEnd) |
|
3039
|
30 |
0 |
&& (*p == (ASN_SEQUENCE | ASN_CONSTRUCTED))) |
|
3042
|
0 |
30 |
if (qualInfo->next == NULL) |
|
3049
|
0 |
30 |
if (parsePolicyQualifierInfo(pool, |
|
3086
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3094
|
0 |
0 |
if (len == 0) |
|
3103
|
0 |
0 |
while ( num_ints < 2 && (*p == ASN_CONTEXT_SPECIFIC || |
|
|
0 |
0 |
while ( num_ints < 2 && (*p == ASN_CONTEXT_SPECIFIC || |
|
|
0 |
0 |
while ( num_ints < 2 && (*p == ASN_CONTEXT_SPECIFIC || |
|
3107
|
0 |
0 |
if (getAsnLength(&p, (uint32) (polConstraintsEnd - p), &len) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (polConstraintsEnd - p), &len) < 0 || |
|
3115
|
0 |
0 |
if (len != 1) |
|
3120
|
0 |
0 |
if (tag == ASN_CONTEXT_SPECIFIC) |
|
3132
|
0 |
0 |
if (p != polConstraintsEnd) |
|
3163
|
0 |
5 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3172
|
5 |
5 |
while (p < polMappingsEnd && |
|
|
5 |
0 |
while (p < polMappingsEnd && |
|
3176
|
0 |
5 |
if (num_mappings > 0) |
|
3179
|
0 |
0 |
if (pol_map->next == NULL) |
|
3187
|
0 |
5 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3194
|
0 |
5 |
if (*p++ != ASN_OID) |
|
3200
|
5 |
0 |
if (getAsnLength(&p, (uint32) (polMappingsEnd - p), &len) < 0 || |
|
|
0 |
5 |
if (getAsnLength(&p, (uint32) (polMappingsEnd - p), &len) < 0 || |
|
3207
|
0 |
5 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
3218
|
35 |
5 |
for (i = 0; i < oidlen; i++) |
|
3225
|
0 |
5 |
if (*p++ != ASN_OID) |
|
3231
|
5 |
0 |
if (getAsnLength(&p, (uint32) (polMappingsEnd - p), &len) < 0 || |
|
|
0 |
5 |
if (getAsnLength(&p, (uint32) (polMappingsEnd - p), &len) < 0 || |
|
3238
|
0 |
5 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
3249
|
35 |
5 |
for (i = 0; i < oidlen; i++) |
|
3258
|
0 |
5 |
if (p != polMappingsEnd) |
|
3301
|
0 |
12 |
if (getAsnSequence(&p, (int32) (extEnd - p), &len) < 0) |
|
3310
|
12 |
0 |
if (*authInfo == NULL) |
|
3313
|
0 |
12 |
if (*authInfo == NULL) |
|
3323
|
18 |
12 |
while (p < authInfoEnd && |
|
|
18 |
0 |
while (p < authInfoEnd && |
|
3328
|
0 |
18 |
while (pAuthInfo->next != NULL) |
|
3332
|
6 |
12 |
if (!first_entry) |
|
3337
|
0 |
6 |
if (pAuthInfo->next == NULL) |
|
3351
|
0 |
18 |
if (getAsnSequence(&p, (int32) (extEnd - p), &adLen) < 0) |
|
3357
|
0 |
18 |
if (*p++ != ASN_OID) |
|
3362
|
18 |
0 |
if (getAsnLength(&p, (uint32) (authInfoEnd - p), &len) < 0 || |
|
|
0 |
18 |
if (getAsnLength(&p, (uint32) (authInfoEnd - p), &len) < 0 || |
|
3369
|
0 |
18 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
3376
|
12 |
6 |
if (noid != oid_id_ad_caIssuers && |
|
|
0 |
12 |
if (noid != oid_id_ad_caIssuers && |
|
3385
|
18 |
0 |
switch (*p++) |
|
3389
|
18 |
0 |
if (getAsnLength(&p, (uint32) (authInfoEnd - p), &len) < 0 || |
|
|
0 |
18 |
if (getAsnLength(&p, (uint32) (authInfoEnd - p), &len) < 0 || |
|
3395
|
12 |
6 |
if (noid == oid_id_ad_ocsp) |
|
3398
|
0 |
12 |
if (pAuthInfo->ocsp == NULL) |
|
3409
|
0 |
6 |
if (pAuthInfo->caIssuers == NULL) |
|
3451
|
0 |
2879 |
if (inlen < 1) |
|
3458
|
0 |
2879 |
if (known) |
|
3465
|
0 |
2879 |
if (*p != (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | expVal)) |
|
3470
|
2879 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &len) < 0 || |
|
|
0 |
2879 |
if (getAsnLength(&p, (uint32) (end - p), &len) < 0 || |
|
3484
|
2879 |
0 |
if (getAsnSequence(&p, (uint32) (end - p), &len) < 0 || |
|
|
0 |
2879 |
if (getAsnSequence(&p, (uint32) (end - p), &len) < 0 || |
|
3491
|
10563 |
2879 |
while ((p != extEnd) && *p == (ASN_SEQUENCE | ASN_CONSTRUCTED)) |
|
|
10563 |
0 |
while ((p != extEnd) && *p == (ASN_SEQUENCE | ASN_CONSTRUCTED)) |
|
3493
|
0 |
10563 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &fullExtLen) < 0) |
|
3503
|
10563 |
0 |
if (extEnd - p < 1 || *p++ != ASN_OID) |
|
|
0 |
10563 |
if (extEnd - p < 1 || *p++ != ASN_OID) |
|
3508
|
10563 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
|
0 |
10563 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
3514
|
0 |
10563 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
3526
|
0 |
10563 |
if (extEnd - p < 1) |
|
3531
|
1314 |
9249 |
if (*p == ASN_BOOLEAN) |
|
3534
|
0 |
1314 |
if (extEnd - p < 2) |
|
3539
|
0 |
1314 |
if (*p != 1) |
|
3545
|
1314 |
0 |
if (*p > 0) |
|
3556
|
10563 |
0 |
if (extEnd - p < 1 || (*p++ != ASN_OCTET_STRING) || |
|
3557
|
0 |
10563 |
getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
3565
|
1314 |
9249 |
if (critical) |
|
3578
|
0 |
2879 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3591
|
1405 |
1474 |
if (len == 0) |
|
3599
|
1474 |
0 |
if (*p == ASN_BOOLEAN) |
|
3601
|
0 |
1474 |
if (extEnd - p < 3) |
|
3607
|
0 |
1474 |
if (*p++ != 1) |
|
3613
|
1474 |
0 |
if (*p > 0 && *p != 0xFF) |
|
3617
|
1474 |
0 |
if (*p > 0) |
|
3636
|
56 |
1418 |
if (*p == ASN_INTEGER) |
|
3638
|
0 |
56 |
if (getAsnInteger(&p, (uint32) (extEnd - p), |
|
3652
|
0 |
31 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3663
|
0 |
31 |
if (parseGeneralNames(pool, &p, len, extEnd, &extensions->san, |
|
3685
|
0 |
692 |
if (*p++ != ASN_BIT_STRING) |
|
3690
|
692 |
0 |
if (getAsnLength(&p, (int32) (extEnd - p), &len) < 0 || |
|
|
0 |
692 |
if (getAsnLength(&p, (int32) (extEnd - p), &len) < 0 || |
|
3696
|
0 |
692 |
if (len < 2) |
|
3705
|
0 |
692 |
if (len >= 3) |
|
3707
|
0 |
0 |
if (p[2] == (KEY_USAGE_DECIPHER_ONLY >> 8) && p[0] == 7) |
|
|
0 |
0 |
if (p[2] == (KEY_USAGE_DECIPHER_ONLY >> 8) && p[0] == 7) |
|
3717
|
0 |
12 |
if (getAsnSequence(&p, (int32) (extEnd - p), &fullExtLen) < 0) |
|
3723
|
43 |
12 |
while (fullExtLen > 0) |
|
3725
|
0 |
43 |
if (*p++ != ASN_OID) |
|
3730
|
43 |
0 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
|
0 |
43 |
if (getAsnLength(&p, fullExtLen, &len) < 0 || |
|
3736
|
0 |
43 |
if ((oidlen = asnParseOid(p, len, oid)) < 1) |
|
3743
|
0 |
43 |
if (fullExtLen < (uint32) (p - save)) |
|
3784
|
0 |
5 |
if (critical) |
|
3791
|
0 |
5 |
if (getAsnSequence(&p, (int32) (extEnd - p), &fullExtLen) < 0) |
|
3796
|
5 |
5 |
while (fullExtLen > 0) |
|
3800
|
5 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 0)) |
|
3806
|
0 |
5 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
3813
|
5 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &subExtLen) < 0 || |
|
|
5 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &subExtLen) < 0 || |
|
3814
|
0 |
5 |
subExtLen < 1 || (uint32) (extEnd - p) < subExtLen) |
|
3819
|
0 |
5 |
if (fullExtLen < (subExtLen + (p - save))) |
|
3825
|
40 |
5 |
while (subExtLen > 0) |
|
3828
|
0 |
40 |
if (getAsnSequence(&p, (int32) (extEnd - p), &len) < 0) |
|
3833
|
0 |
40 |
if (subExtLen < (len + (p - subSave))) |
|
3839
|
40 |
0 |
if (nc == 0) |
|
3841
|
0 |
40 |
if (parseGeneralNames(pool, &p, len, extEnd, |
|
3850
|
0 |
0 |
if (parseGeneralNames(pool, &p, len, extEnd, |
|
3866
|
0 |
0 |
if (getSerialNum(pool, &p, (int32) (extEnd - p), |
|
3883
|
0 |
82 |
if (getAsnSequence(&p, (int32) (extEnd - p), &fullExtLen) < 0) |
|
3889
|
102 |
82 |
while (fullExtLen > 0) |
|
3892
|
0 |
102 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
3897
|
0 |
102 |
if (fullExtLen < (len + (p - save))) |
|
3904
|
102 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 0)) |
|
3908
|
102 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
|
102 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
3909
|
0 |
102 |
len < 1 || (uint32) (extEnd - p) < len) |
|
3915
|
102 |
0 |
if ((*p & 0xF) == 0) /* fullName (GeneralNames) */ |
|
3918
|
102 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 |
|
3919
|
102 |
0 |
|| len < 1 || (uint32) (extEnd - p) < len) |
|
|
0 |
102 |
|| len < 1 || (uint32) (extEnd - p) < len) |
|
3924
|
0 |
102 |
if (parseGeneralNames(pool, &p, len, extEnd, |
|
3931
|
0 |
0 |
else if ((*p & 0xF) == 1) /* RelativeDistName */ |
|
3935
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 |
|
3936
|
0 |
0 |
|| len < 1 || (uint32) (extEnd - p) < len) |
|
|
0 |
0 |
|| len < 1 || (uint32) (extEnd - p) < len) |
|
3949
|
0 |
102 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
3953
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
3954
|
0 |
0 |
len < 1 || (uint32) (extEnd - p) < len) |
|
3961
|
0 |
102 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 2)) |
|
3965
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (extEnd - p), &len) < 0 || |
|
3966
|
0 |
0 |
len < 1 || (uint32) (extEnd - p) < len) |
|
3976
|
0 |
12 |
if (parseAuthorityInfoAccess(pool, p, |
|
3997
|
0 |
2379 |
if (getAsnSequence(&p, (int32) (extEnd - p), &len) < 0) |
|
4003
|
0 |
2379 |
if (len == 0) |
|
4008
|
2379 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 0)) |
|
4011
|
2379 |
0 |
if (getAsnLength(&p, (int32) (extEnd - p), |
|
4012
|
0 |
2379 |
&extensions->ak.keyLen) < 0 || |
|
4019
|
0 |
2379 |
if (extensions->ak.keyId == NULL) |
|
4027
|
50 |
2329 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
4030
|
50 |
0 |
if (getAsnLength(&p, (int32) (extEnd - p), &len) < 0 || |
|
|
50 |
0 |
if (getAsnLength(&p, (int32) (extEnd - p), &len) < 0 || |
|
4031
|
0 |
50 |
len < 1 || (uint32) (extEnd - p) < len) |
|
4036
|
0 |
50 |
if ((*p ^ ASN_CONTEXT_SPECIFIC ^ ASN_CONSTRUCTED) != 4) |
|
4044
|
50 |
0 |
if (getAsnLength(&p, (int32) (extEnd - p), &len) < 0 || |
|
|
0 |
50 |
if (getAsnLength(&p, (int32) (extEnd - p), &len) < 0 || |
|
4050
|
0 |
50 |
if (psX509GetDNAttributes(pool, &p, (int32) (extEnd - p), |
|
4057
|
2329 |
50 |
if ((*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) || |
|
|
0 |
2329 |
if ((*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) || |
|
4063
|
0 |
50 |
if (getSerialNum(pool, &p, (int32) (extEnd - p), |
|
4080
|
2864 |
0 |
if (*p++ != ASN_OCTET_STRING || getAsnLength(&p, |
|
|
2864 |
0 |
if (*p++ != ASN_OCTET_STRING || getAsnLength(&p, |
|
4081
|
0 |
2864 |
(int32) (extEnd - p), &(extensions->sk.len)) < 0 || |
|
4088
|
0 |
2864 |
if (extensions->sk.id == NULL) |
|
4104
|
0 |
87 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
4117
|
0 |
87 |
if (parsePolicyInformation(pool, p, extEnd, fullExtLen, |
|
4125
|
1 |
87 |
while ((p < policiesEnd) |
|
4126
|
1 |
0 |
&& (p < extEnd) |
|
4127
|
1 |
0 |
&& (*p == (ASN_SEQUENCE | ASN_CONSTRUCTED))) |
|
4133
|
0 |
1 |
if (parsePolicyInformation(pool, p, extEnd, fullExtLen, |
|
4142
|
0 |
0 |
if (parsePolicyConstraints(pool, p, |
|
4155
|
0 |
5 |
if (parsePolicyMappings(pool, p, |
|
4166
|
0 |
10 |
if (getAsnSequence(&p, (uint32) (extEnd - p), &len) < 0) |
|
4177
|
0 |
10 |
if (parseGeneralNames(pool, &p, len, extEnd, &extensions->issuerAltName, |
|
4192
|
0 |
1505 |
if (critical) |
|
4238
|
2879 |
50 |
if ((*p != (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) && |
|
|
0 |
2879 |
if ((*p != (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) && |
|
4246
|
2929 |
0 |
if (len < 1 || getAsnLength(&p, len - 1, &vlen) < 0 || (len - 1) < vlen) |
|
|
2929 |
0 |
if (len < 1 || getAsnLength(&p, len - 1, &vlen) < 0 || (len - 1) < vlen) |
|
|
0 |
2929 |
if (len < 1 || getAsnLength(&p, len - 1, &vlen) < 0 || (len - 1) < vlen) |
|
4253
|
2929 |
0 |
if (vlen > 0) |
|
4256
|
0 |
2929 |
if (*sn == NULL) |
|
4278
|
0 |
2879 |
if (len < 1) |
|
4287
|
0 |
2879 |
if (*p != (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | expVal)) |
|
4293
|
2879 |
0 |
if (getAsnLength(&p, len - 1, &exLen) < 0 || (len - 1) < exLen) |
|
|
0 |
2879 |
if (getAsnLength(&p, len - 1, &exLen) < 0 || (len - 1) < exLen) |
|
4298
|
0 |
2879 |
if (getAsnInteger(&p, exLen, val) < 0) |
|
4330
|
0 |
1148 |
if ((c = (unsigned char *) cert->notBefore) == NULL) |
|
4334
|
1148 |
0 |
err = psBrokenDownTimeImport( |
|
4339
|
0 |
1148 |
if (err) |
|
4349
|
1148 |
0 |
if (y < 1996 || m < 1 || m > 12) |
|
|
1148 |
0 |
if (y < 1996 || m < 1 || m > 12) |
|
|
0 |
1148 |
if (y < 1996 || m < 1 || m > 12) |
|
4356
|
0 |
0 |
if (y < 2013) /* No month check needed for Jan */ |
|
4362
|
0 |
0 |
if (y < 2008 || (y == 2008 && m < 5)) |
|
|
0 |
0 |
if (y < 2008 || (y == 2008 && m < 5)) |
|
|
0 |
0 |
if (y < 2008 || (y == 2008 && m < 5)) |
|
4368
|
1148 |
0 |
if (y < 2002 || (y == 2002 && m < 4)) |
|
|
0 |
1148 |
if (y < 2002 || (y == 2002 && m < 4)) |
|
|
0 |
0 |
if (y < 2002 || (y == 2002 && m < 4)) |
|
4374
|
0 |
0 |
if (y < 1999) /* No month check needed for Jan */ |
|
4401
|
2879 |
0 |
if (cert->notBefore == NULL || cert->notAfter == NULL) |
|
|
0 |
2879 |
if (cert->notBefore == NULL || cert->notAfter == NULL) |
|
4407
|
0 |
2879 |
if (err != PS_SUCCESS) |
|
4414
|
0 |
2879 |
if (err != PS_SUCCESS) |
|
4419
|
2869 |
10 |
err = psBrokenDownTimeImport( |
|
4423
|
0 |
2879 |
if (err != PS_SUCCESS) |
|
4428
|
2869 |
10 |
err = psBrokenDownTimeImport( |
|
4432
|
0 |
2879 |
if (err != PS_SUCCESS) |
|
4439
|
0 |
2879 |
if (err != PS_SUCCESS) |
|
4444
|
0 |
2879 |
if (psBrokenDownTimeCmp(&beforeTime, &timeNowLinger) > 0) |
|
4449
|
15 |
2864 |
else if (psBrokenDownTimeCmp(&timeNow, &afterTimeLinger) > 0) |
|
4471
|
2879 |
0 |
if (len < 1 || *(p++) != (ASN_SEQUENCE | ASN_CONSTRUCTED) || |
|
4472
|
0 |
2879 |
getAsnLength(&p, len - 1, &seqLen) < 0 || |
|
4481
|
2879 |
0 |
if ((end - p) < 1 || ((*p != ASN_UTCTIME) && (*p != ASN_GENERALIZEDTIME))) |
|
|
10 |
2869 |
if ((end - p) < 1 || ((*p != ASN_UTCTIME) && (*p != ASN_GENERALIZEDTIME))) |
|
|
0 |
10 |
if ((end - p) < 1 || ((*p != ASN_UTCTIME) && (*p != ASN_GENERALIZEDTIME))) |
|
4491
|
2879 |
0 |
if (getAsnLength(&p, seqLen, &timeLen) < 0 || (uint32) (end - p) < timeLen) |
|
|
0 |
2879 |
if (getAsnLength(&p, seqLen, &timeLen) < 0 || (uint32) (end - p) < timeLen) |
|
4496
|
0 |
2879 |
if (timeLen > MAX_TIME_LEN) |
|
4501
|
0 |
2879 |
if (*notBefore == NULL) |
|
4509
|
2879 |
0 |
if ((end - p) < 1 || ((*p != ASN_UTCTIME) && (*p != ASN_GENERALIZEDTIME))) |
|
|
10 |
2869 |
if ((end - p) < 1 || ((*p != ASN_UTCTIME) && (*p != ASN_GENERALIZEDTIME))) |
|
|
0 |
10 |
if ((end - p) < 1 || ((*p != ASN_UTCTIME) && (*p != ASN_GENERALIZEDTIME))) |
|
4516
|
2879 |
0 |
if (getAsnLength(&p, seqLen - timeLen, &timeLen) < 0 || |
|
|
0 |
2879 |
if (getAsnLength(&p, seqLen - timeLen, &timeLen) < 0 || |
|
4522
|
0 |
2879 |
if (timeLen > MAX_TIME_LEN) |
|
4527
|
0 |
2879 |
if (*notAfter == NULL) |
|
4552
|
0 |
5758 |
if (len < 1) |
|
4560
|
5758 |
0 |
if (*p != (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | impVal)) |
|
4566
|
0 |
0 |
if (getAsnLength(&p, len, bitLen) < 0 |
|
4567
|
0 |
0 |
|| *bitLen < 2) |
|
4574
|
0 |
0 |
psAssert(ignore_bits == 0); |
|
4577
|
0 |
0 |
if (*bitString == NULL) |
|
4617
|
0 |
5808 |
if (getAsnSequence(&p, len, &llen) < 0) |
|
4626
|
3438 |
2370 |
if (flags & CERT_STORE_DN_BUFFER) |
|
4630
|
0 |
3438 |
if (attribs->dnenc == NULL) |
|
4638
|
22835 |
5808 |
while (p < dnEnd) |
|
4640
|
0 |
22835 |
if (getAsnSet(&p, (uint32) (dnEnd - p), &setlen) < 0) |
|
4650
|
0 |
22835 |
if (getAsnSequence(&p, (uint32) (dnEnd - p), &llen) < 0) |
|
4655
|
0 |
22835 |
if (moreInSet > 0) |
|
4661
|
0 |
22835 |
if (setlen != llen + (int32) (p - moreInSetPtr)) |
|
4666
|
22835 |
0 |
if (dnEnd <= p || (*(p++) != ASN_OID) || |
|
4667
|
0 |
22835 |
getAsnLength(&p, (uint32) (dnEnd - p), &arcLen) < 0 || |
|
4689
|
0 |
22835 |
if (dnEnd - p < 2) |
|
4704
|
0 |
22835 |
if (arcLen == 10 && |
|
|
0 |
0 |
if (arcLen == 10 && |
|
4705
|
0 |
0 |
*p == 0x09 && |
|
4706
|
0 |
0 |
*(p + 1) == 0x92 && |
|
4707
|
0 |
0 |
*(p + 2) == 0x26 && |
|
4708
|
0 |
0 |
*(p + 3) == 0x89 && |
|
4709
|
0 |
0 |
*(p + 4) == 0x93 && |
|
4710
|
0 |
0 |
*(p + 5) == 0xf2 && |
|
4711
|
0 |
0 |
*(p + 6) == 0x2c && |
|
4712
|
0 |
0 |
*(p + 7) == 0x64 && |
|
4715
|
0 |
0 |
if (*(p + 9) == 0x19) |
|
4749
|
22815 |
20 |
if ((*p++ != 85) || (*p++ != 4)) |
|
|
0 |
22815 |
if ((*p++ != 85) || (*p++ != 4)) |
|
4757
|
0 |
20 |
if ((uint32) (dnEnd - p) < arcLen + 1) |
|
4763
|
20 |
0 |
if (getAsnLength(&p, (uint32) (dnEnd - p), &llen) < 0 || |
|
|
0 |
20 |
if (getAsnLength(&p, (uint32) (dnEnd - p), &llen) < 0 || |
|
4773
|
22815 |
0 |
if (arcLen != 3 || dnEnd - p < 2) |
|
|
0 |
22815 |
if (arcLen != 3 || dnEnd - p < 2) |
|
4783
|
22815 |
0 |
if (getAsnLength(&p, (uint32) (dnEnd - p), &llen) < 0 || |
|
|
0 |
22815 |
if (getAsnLength(&p, (uint32) (dnEnd - p), &llen) < 0 || |
|
4820
|
0 |
0 |
if (str_err != PS_SUCCESS) |
|
4825
|
0 |
0 |
if (length >= 0x7FFE) |
|
4845
|
0 |
22815 |
if (stringOut == NULL) |
|
4855
|
45630 |
22815 |
for (i = 0; i < DN_NUM_TERMINATING_NULLS; i++) |
|
4860
|
22815 |
0 |
if (checkHiddenNull) |
|
4862
|
0 |
22815 |
if ((uint32) strlen(stringOut) != llen) |
|
4881
|
0 |
5717 |
if (attribs->country) |
|
4890
|
0 |
5798 |
if (attribs->organization) |
|
4908
|
0 |
0 |
if (attribs->dnQualifier) |
|
4917
|
0 |
4475 |
if (attribs->state) |
|
4926
|
0 |
5708 |
if (attribs->commonName) |
|
4935
|
0 |
30 |
if (attribs->serialNumber) |
|
4954
|
0 |
281 |
if (attribs->locality) |
|
4963
|
0 |
0 |
if (attribs->title) |
|
4972
|
0 |
0 |
if (attribs->surname) |
|
4981
|
0 |
0 |
if (attribs->givenName) |
|
4990
|
0 |
0 |
if (attribs->initials) |
|
4999
|
0 |
0 |
if (attribs->pseudonym) |
|
5008
|
0 |
0 |
if (attribs->generationQualifier) |
|
5079
|
0 |
22815 |
if (moreInSet) |
|
5209
|
0 |
1295 |
if (subjectCert == NULL) |
|
5218
|
1 |
1294 |
if (issuerCert == NULL) |
|
5222
|
2 |
1 |
while (sc) |
|
5229
|
0 |
1 |
if (sc->next == NULL) |
|
5248
|
1296 |
1149 |
while (ic) |
|
5254
|
1296 |
0 |
if ((ic->version > 1) && (ic->extensions.bc.cA != CA_TRUE)) |
|
|
0 |
1296 |
if ((ic->version > 1) && (ic->extensions.bc.cA != CA_TRUE)) |
|
5256
|
0 |
0 |
if (sc != ic) |
|
5267
|
146 |
1150 |
if (memcmp(sc->issuer.hash, ic->subject.hash, SHA1_HASH_SIZE) != 0) |
|
5319
|
0 |
1150 |
if (sc->revokedStatus == CRL_CHECK_REVOKED_AND_AUTHENTICATED) |
|
5454
|
0 |
1150 |
if (sigType == PS_UNSUPPORTED_FAIL) |
|
5467
|
1150 |
0 |
if (sigType == RSA_TYPE_SIG) |
|
5469
|
0 |
1150 |
psAssert(sigLen <= sizeof(sigOut)); |
|
5474
|
0 |
1150 |
if (tempSig == NULL) |
|
5481
|
0 |
1150 |
if ((rc = psRsaDecryptPub(pkiPool, &ic->publicKey.key.rsa, |
|
5494
|
0 |
1150 |
if (sigType == RSAPSS_TYPE_SIG) |
|
5497
|
0 |
0 |
if (tempSig == NULL) |
|
5503
|
0 |
0 |
if ((rc = psRsaCrypt(pkiPool, &ic->publicKey.key.rsa, |
|
5511
|
0 |
0 |
if (psPkcs1PssDecode(pkiPool, sc->sigHash, sigLen, tempSig, |
|
5520
|
0 |
0 |
if (rc == 0) |
|
5530
|
0 |
1150 |
if (sigType == ECDSA_TYPE_SIG) |
|
5532
|
0 |
0 |
if ((rc = psEccDsaVerify(pkiPool, |
|
5542
|
0 |
0 |
if (sigStat == -1) |
|
5554
|
0 |
1150 |
if (rc < PS_SUCCESS) |
|
5565
|
0 |
1150 |
if (sc->extensions.ak.keyLen > 0 || ic->extensions.sk.len > 0) |
|
|
0 |
0 |
if (sc->extensions.ak.keyLen > 0 || ic->extensions.sk.len > 0) |
|
5567
|
0 |
1150 |
if (ic->extensions.sk.len != sc->extensions.ak.keyLen) |
|
5573
|
0 |
0 |
if ((sc->signatureLen == ic->signatureLen) && |
|
|
0 |
0 |
if ((sc->signatureLen == ic->signatureLen) && |
|
5577
|
0 |
0 |
if (sc->extensions.ak.keyLen != 0) |
|
5591
|
0 |
1150 |
if (memcmp(ic->extensions.sk.id, sc->extensions.ak.keyId, |
|
5602
|
1148 |
2 |
if ( !(ic->extensions.keyUsageFlags & KEY_USAGE_KEY_CERT_SIGN)) |
|
5608
|
1148 |
0 |
if (ic->extensions.keyUsageFlags == 0) |
|
5617
|
1148 |
0 |
if (!rc) |
|
5623
|
0 |
0 |
else if (rc < 0) |
|
5635
|
2 |
1148 |
if (sc->authStatus == PS_FALSE |
|
5636
|
0 |
2 |
&& sc->authFailFlags & PS_CERT_AUTH_FAIL_DATE_FLAG) |
|
5643
|
2 |
1148 |
if (sc->authStatus == PS_FALSE) /* Hasn't been touched */ |
|
5650
|
1 |
1149 |
if (ic == sc) |
|
5655
|
1148 |
1 |
else if (ic == issuerCert) |
|
5664
|
1 |
0 |
if (ic == NULL) /* Reached end of chain */ |
|
5700
|
0 |
1150 |
if (getAsnSequence(&p, (uint32) (end - p), &len) < 0) |
|
5707
|
0 |
1150 |
if (getAsnAlgorithmIdentifier(&p, (uint32) (end - p), &oi, &plen) < 0) |
|
5712
|
0 |
1150 |
psAssert(plen == 0); |
|
5714
|
0 |
1150 |
getAsnLength(&p, (uint32) (end - p), &len) < 0 || |
|
5737
|
0 |
0 |
if (len != SHA1_HASH_SIZE) |
|
5755
|
0 |
1150 |
if (len != SHA256_HASH_SIZE) |
|
5764
|
0 |
0 |
if (len != SHA384_HASH_SIZE) |
|
5773
|
0 |
0 |
if (len != SHA512_HASH_SIZE) |
|
5785
|
0 |
1150 |
if (memcmpct(hash, sigHash, len) != 0) |
|
5809
|
0 |
0 |
if (psParseBufFromStaticData(&pb, p, sz) == PS_SUCCESS) |
|
5811
|
0 |
0 |
if (psParseBufTryReadTagSub(&pb, &extensions, 0xA1)) |
|
5813
|
0 |
0 |
while (psParseBufTryReadSequenceSub(&extensions, |
|
5818
|
0 |
0 |
if (psParseBufTrySkipBytes( |
|
5828
|
0 |
0 |
if (psParseBufFinish(&extension) != PS_SUCCESS) |
|
5849
|
0 |
0 |
if (glen >= sizeof(res->revocationTime) + 2 && |
|
|
0 |
0 |
if (glen >= sizeof(res->revocationTime) + 2 && |
|
5850
|
0 |
0 |
p[0] == 0x18 && p[1] == sizeof(res->revocationTime)) |
|
5856
|
0 |
0 |
if (glen >= sizeof(res->revocationTime) + 0x5 && |
|
|
0 |
0 |
if (glen >= sizeof(res->revocationTime) + 0x5 && |
|
5857
|
0 |
0 |
p[17] == 0xa0 && /* [0] */ |
|
5858
|
0 |
0 |
p[18] == 0x03 && /* length */ |
|
5859
|
0 |
0 |
p[19] == 0x0a && /* ENUMERATED */ |
|
5860
|
0 |
0 |
p[20] == 0x01 && /* length */ |
|
5861
|
0 |
0 |
p[21] <= 10 && /* CRL reason code 0-10, excluding 7. */ |
|
5885
|
0 |
0 |
if (getAsnSequence(&p, (int32) (end - p), &glen) < 0) |
|
5897
|
0 |
0 |
if (getAsnSequence(&p, (int32) (end - p), &glen) < 0) |
|
5902
|
0 |
0 |
if (getAsnAlgorithmIdentifier(&p, (int32) (end - p), &oi, &plen) < 0) |
|
5906
|
0 |
0 |
psAssert(plen == 0); |
|
5910
|
0 |
0 |
getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
5919
|
0 |
0 |
getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
5931
|
0 |
0 |
if ((*p != (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) && |
|
|
0 |
0 |
if ((*p != (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) && |
|
5939
|
0 |
0 |
if (getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
5956
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 0)) |
|
5961
|
0 |
0 |
else if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
5970
|
0 |
0 |
if (getAsnLength(&p, (int32) (end - p), &glen) < 0) |
|
5979
|
0 |
0 |
else if (*p == (ASN_CONTEXT_SPECIFIC | ASN_PRIMITIVE | 2)) |
|
5992
|
0 |
0 |
if ((end - p) < 1 || (*p != ASN_GENERALIZEDTIME)) |
|
|
0 |
0 |
if ((end - p) < 1 || (*p != ASN_GENERALIZEDTIME)) |
|
5998
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
6010
|
0 |
0 |
if ((uint32) (end - p) >= 2 && |
|
|
0 |
0 |
if ((uint32) (end - p) >= 2 && |
|
6014
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
6019
|
0 |
0 |
if (*p == ASN_GENERALIZEDTIME && glen > 2) |
|
|
0 |
0 |
if (*p == ASN_GENERALIZEDTIME && glen > 2) |
|
6028
|
0 |
0 |
if ((uint32) (end - p) >= 2 && |
|
|
0 |
0 |
if ((uint32) (end - p) >= 2 && |
|
6032
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
6077
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (end - p), &glen) < 0) |
|
6091
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (end - p), &glen) < 0) |
|
6096
|
0 |
0 |
if (getExplicitVersion(&p, (uint32) (end - p), 0, &version) < 0) |
|
6102
|
0 |
0 |
if (version != 0) |
|
6114
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
6118
|
0 |
0 |
if (getAsnLength32(&p, (uint32_t) (end - p), &blen, 0) < 0 || |
|
|
0 |
0 |
if (getAsnLength32(&p, (uint32_t) (end - p), &blen, 0) < 0 || |
|
6119
|
0 |
0 |
(uint32_t) (end - p) < blen || blen == 0) |
|
6130
|
0 |
0 |
getAsnLength32(&p2, (int32) (end - p2), &blen, 0) < 0 || |
|
6138
|
0 |
0 |
else if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 2)) |
|
6141
|
0 |
0 |
if (getAsnLength32(&p, (uint32_t) (end - p), &blen, 0) < 0 || |
|
|
0 |
0 |
if (getAsnLength32(&p, (uint32_t) (end - p), &blen, 0) < 0 || |
|
6153
|
0 |
0 |
getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
6154
|
0 |
0 |
(uint32) (end - p) < glen || |
|
6161
|
0 |
0 |
psAssert(glen == SHA1_HASH_SIZE); |
|
6173
|
0 |
0 |
if ((end - p) < 1 || (*p != ASN_GENERALIZEDTIME)) |
|
|
0 |
0 |
if ((end - p) < 1 || (*p != ASN_GENERALIZEDTIME)) |
|
6179
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
6186
|
0 |
0 |
if (psBrokenDownTimeImport(NULL, (const char *) p, glen, 0) < 0) |
|
6195
|
0 |
0 |
if (getAsnSequence(&p, (int32) (end - p), &glen) < 0) |
|
6204
|
0 |
0 |
while (p < seqend) |
|
6207
|
0 |
0 |
if (parseSingleResponse(glen, &p, seqend, singleResponse) < 0) |
|
6212
|
0 |
0 |
if (p < seqend) |
|
6215
|
0 |
0 |
if (plen == MAX_OCSP_RESPONSES) |
|
6224
|
0 |
0 |
if (*p == (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 1)) |
|
6226
|
0 |
0 |
if (parse_nonce_ext(p, end - p, &res->nonce) != PS_SUCCESS) |
|
6231
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
6251
|
0 |
0 |
if (getAsnAlgorithmIdentifier(&p, (uint32) (end - p), &oid, &plen) < 0) |
|
6256
|
0 |
0 |
if (plen > 0) |
|
6330
|
0 |
0 |
if (*p++ != ASN_BIT_STRING) |
|
6335
|
0 |
0 |
if (getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (int32) (end - p), &glen) < 0 || |
|
6341
|
0 |
0 |
if (*p++ != 0) |
|
6352
|
0 |
0 |
if (end != p) |
|
6357
|
0 |
0 |
if (*p != (ASN_CONTEXT_SPECIFIC | ASN_CONSTRUCTED | 0)) |
|
6363
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
|
0 |
0 |
if (getAsnLength(&p, (uint32) (end - p), &glen) < 0 || |
|
6370
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (end - p), &glen) < 0) |
|
6375
|
0 |
0 |
psAssert(glen == (end - p)); |
|
6380
|
0 |
0 |
if (cert_res < 0) |
|
6387
|
0 |
0 |
psAssert(p == end); |
|
6397
|
0 |
0 |
if (rc >= PS_OCSP_MALFORMED_REQUEST && rc <= PS_OCSP_UNAUTHORIZED) |
|
|
0 |
0 |
if (rc >= PS_OCSP_MALFORMED_REQUEST && rc <= PS_OCSP_UNAUTHORIZED) |
|
6401
|
0 |
0 |
if (rc != 4) |
|
6407
|
0 |
0 |
return rc == PS_SUCCESS ? 0 /* successful */ : PS_FAILURE /* other error */; |
|
6426
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (end - p), &glen) < 0) |
|
6431
|
0 |
0 |
if (getAsnEnumerated(&p, (uint32) (end - p), &status) < 0) |
|
6447
|
0 |
0 |
if (status != 0) |
|
6451
|
0 |
0 |
if (status <= 6 && status != 4) |
|
|
0 |
0 |
if (status <= 6 && status != 4) |
|
6461
|
0 |
0 |
if (*p == (ASN_CONSTRUCTED | ASN_CONTEXT_SPECIFIC | 0)) |
|
6464
|
0 |
0 |
if (getAsnLength32(&p, (uint32_t) (end - p), &blen, 0) < 0 || |
|
|
0 |
0 |
if (getAsnLength32(&p, (uint32_t) (end - p), &blen, 0) < 0 || |
|
6475
|
0 |
0 |
if (getAsnSequence(&p, (uint32) (end - p), &glen) < 0) |
|
6481
|
0 |
0 |
if (getAsnOID(&p, (uint32) (end - p), &oi, 1, &glen) < 0) |
|
6488
|
0 |
0 |
getAsnLength32(&p, (int32) (end - p), &blen, 0) < 0 || |
|
6495
|
0 |
0 |
if (oi == OID_BASIC_OCSP_RESPONSE) |
|
6512
|
0 |
0 |
if (err < 0) |
|
6524
|
0 |
0 |
psAssert(end == p); |
|
6572
|
0 |
0 |
if (index >= MAX_OCSP_RESPONSES) |
|
6577
|
0 |
0 |
if (timeNow == NULL) |
|
6583
|
0 |
0 |
if (timeNow->tm_year == 0) |
|
6588
|
0 |
0 |
if (err != PS_SUCCESS) |
|
6595
|
0 |
0 |
if (err != PS_SUCCESS) |
|
6600
|
0 |
0 |
if (thisUpdate == NULL) |
|
6605
|
0 |
0 |
if (nextUpdate == NULL) |
|
6610
|
0 |
0 |
if (producedAt == NULL) |
|
6622
|
0 |
0 |
if (subjectResponse->thisUpdate) |
|
6634
|
0 |
0 |
if (subjectResponse->nextUpdate != NULL) |
|
6642
|
0 |
0 |
else if (ok) |
|
6653
|
0 |
0 |
if (ok == 1) |
|
6659
|
0 |
0 |
if (err != PS_SUCCESS) |
|
6667
|
0 |
0 |
if (psBrokenDownTimeCmp(thisUpdate, &timeNowLinger) > 0) |
|
6672
|
0 |
0 |
else if (psBrokenDownTimeCmp(&nextUpdateTimeLinger, timeNow) < 0) |
|
6714
|
0 |
0 |
if (rc != PS_SUCCESS) |
|
6735
|
0 |
0 |
if (psParseBufTryReadTagSub(&tbsRequest, &extensions, 0xA2)) |
|
6737
|
0 |
0 |
while (psParseBufTryReadSequenceSub(&extensions, &extension)) |
|
6741
|
0 |
0 |
if (psParseBufTrySkipBytes( |
|
6751
|
0 |
0 |
if (psParseBufFinish(&extension) != PS_SUCCESS) |
|
6767
|
0 |
0 |
if (response->responderKeyHash != NULL) |
|
6770
|
0 |
0 |
if (memcmpct(response->responderKeyHash, curr->sha1KeyHash, 20) == 0) |
|
6775
|
0 |
0 |
else if (response->responderName != NULL) |
|
6784
|
0 |
0 |
if (len < 2 || len > RESPONDER_NAME_MAX_LENGTH) |
|
|
0 |
0 |
if (len < 2 || len > RESPONDER_NAME_MAX_LENGTH) |
|
6790
|
0 |
0 |
if (curr->unparsedBin == NULL || |
|
|
0 |
0 |
if (curr->unparsedBin == NULL || |
|
6796
|
0 |
0 |
if (memcmpct(curr->unparsedBin + |
|
6823
|
0 |
0 |
if (vOpts == NULL) |
|
6829
|
0 |
0 |
if (vOpts->request) |
|
6833
|
0 |
0 |
if (rc != PS_SUCCESS) |
|
6842
|
0 |
0 |
if (response->OCSPResponseCert) |
|
6847
|
0 |
0 |
while (curr != NULL) |
|
6851
|
0 |
0 |
if (ocspMatchResponderCert(response, curr) == PS_SUCCESS) |
|
6859
|
0 |
0 |
while (ocspResIssuer) |
|
6861
|
0 |
0 |
if (memcmp(ocspResIssuer->subject.hash, |
|
6865
|
0 |
0 |
if (psX509AuthenticateCert(pool, subject, ocspResIssuer, |
|
6893
|
0 |
0 |
if (issuer == NULL) |
|
6902
|
0 |
0 |
if (issuer == NULL) |
|
6905
|
0 |
0 |
while (curr != NULL) |
|
6909
|
0 |
0 |
if (ocspMatchResponderCert(response, curr) == PS_SUCCESS) |
|
6923
|
0 |
0 |
if (issuer == NULL) |
|
6928
|
0 |
0 |
while (curr != NULL) |
|
6932
|
0 |
0 |
if (ocspMatchResponderCert(response, curr) == PS_SUCCESS) |
|
6944
|
0 |
0 |
if (issuer == NULL) |
|
6968
|
0 |
0 |
while (index < MAX_OCSP_RESPONSES) |
|
6971
|
0 |
0 |
if ((subject->serialNumberLen == subjectResponse->certIdSerialLen) && |
|
|
0 |
0 |
if ((subject->serialNumberLen == subjectResponse->certIdSerialLen) && |
|
6979
|
0 |
0 |
if (index == MAX_OCSP_RESPONSES) |
|
6984
|
0 |
0 |
if (vOpts->index_p != NULL) |
|
6990
|
0 |
0 |
if (subjectResponse->certStatus == 0) |
|
6995
|
0 |
0 |
else if (subjectResponse->certStatus == 1) |
|
7003
|
0 |
0 |
if (checkOCSPtimestamp(response, index) != PS_SUCCESS) |
|
7010
|
0 |
0 |
if (nonceExtReq.buf && vOpts->nonceMatch) |
|
|
0 |
0 |
if (nonceExtReq.buf && vOpts->nonceMatch) |
|
7012
|
0 |
0 |
if (response->nonce.buf == NULL) |
|
7117
|
0 |
0 |
if (sigType == PS_RSA) |
|
7119
|
0 |
0 |
if (issuer->publicKey.type != PS_RSA) |
|
7123
|
0 |
0 |
if (pubRsaDecryptSignedElement(pkiPool, &issuer->publicKey.key.rsa, |
|
7130
|
0 |
0 |
if (memcmp(response->hashResult, sigOut, sigOutLen) != 0) |
|
7139
|
0 |
0 |
if (issuer->publicKey.type != PS_ECC) |
|
7145
|
0 |
0 |
if (psEccDsaVerify(pkiPool, &issuer->publicKey.key.ecc, |
|
7152
|
0 |
0 |
if (index != 1) |
|
7160
|
0 |
0 |
if (vOpts->knownFlag) |
|
7165
|
0 |
0 |
if (knownFlag == PS_FALSE) |
|
7172
|
0 |
0 |
if (vOpts->revocationFlag) |
|
7177
|
0 |
0 |
if (vOpts->revocationTime) |
|
7185
|
0 |
0 |
if (vOpts->revocationReason) |
|
7192
|
0 |
0 |
if (revocationFlag) |