Changeset 64883 in vbox for trunk/src/VBox/Runtime/common/crypto/x509-core.cpp
- Timestamp:
- Dec 15, 2016 3:26:20 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 112290
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/crypto/x509-core.cpp
r62477 r64883 608 608 for (uint32_t iLeft = 0; iLeft < cItems; iLeft++) 609 609 { 610 PCRTCRX509ATTRIBUTETYPEANDVALUE pLeftAttr = &pLeft->paItems[iLeft];610 PCRTCRX509ATTRIBUTETYPEANDVALUE pLeftAttr = pLeft->papItems[iLeft]; 611 611 bool fFound = false; 612 612 for (uint32_t iRight = 0; iRight < cItems; iRight++) 613 if (RTCrX509AttributeTypeAndValue_MatchAsRdnByRfc5280(pLeftAttr, &pRight->paItems[iRight]))613 if (RTCrX509AttributeTypeAndValue_MatchAsRdnByRfc5280(pLeftAttr, pRight->papItems[iRight])) 614 614 { 615 615 fFound = true; … … 637 637 /* Require exact order. */ 638 638 for (uint32_t iRdn = 0; iRdn < cItems; iRdn++) 639 if (!RTCrX509RelativeDistinguishedName_MatchByRfc5280( &pLeft->paItems[iRdn], &pRight->paItems[iRdn]))639 if (!RTCrX509RelativeDistinguishedName_MatchByRfc5280(pLeft->papItems[iRdn], pRight->papItems[iRdn])) 640 640 return false; 641 641 return true; … … 658 658 for (uint32_t i = 0; pConstraint->cItems; i++) 659 659 { 660 PCRTCRX509RELATIVEDISTINGUISHEDNAME pConstrRdns = &pConstraint->paItems[i];661 PCRTCRX509RELATIVEDISTINGUISHEDNAME pNameRdns = &pName->paItems[i];660 PCRTCRX509RELATIVEDISTINGUISHEDNAME pConstrRdns = pConstraint->papItems[i]; 661 PCRTCRX509RELATIVEDISTINGUISHEDNAME pNameRdns = pName->papItems[i]; 662 662 663 663 /* … … 666 666 for (uint32_t iConstrAttrib = 0; iConstrAttrib < pConstrRdns->cItems; iConstrAttrib++) 667 667 { 668 PCRTCRX509ATTRIBUTETYPEANDVALUE pConstrAttrib = &pConstrRdns->paItems[iConstrAttrib];668 PCRTCRX509ATTRIBUTETYPEANDVALUE pConstrAttrib = pConstrRdns->papItems[iConstrAttrib]; 669 669 670 670 /* … … 673 673 bool fFound = false; 674 674 for (uint32_t iNameAttrib = 0; iNameAttrib < pNameRdns->cItems; iNameAttrib++) 675 if (RTCrX509AttributeTypeAndValue_MatchAsRdnByRfc5280(pConstrAttrib, &pNameRdns->paItems[iNameAttrib]))675 if (RTCrX509AttributeTypeAndValue_MatchAsRdnByRfc5280(pConstrAttrib, pNameRdns->papItems[iNameAttrib])) 676 676 { 677 677 fFound = true; … … 737 737 for (uint32_t i = 0; i < pThis->cItems; i++) 738 738 { 739 PCRTCRX509RELATIVEDISTINGUISHEDNAME pRdn = &pThis->paItems[i];739 PCRTCRX509RELATIVEDISTINGUISHEDNAME pRdn = pThis->papItems[i]; 740 740 for (uint32_t j = 0; j < pRdn->cItems; j++) 741 741 { 742 PCRTCRX509ATTRIBUTETYPEANDVALUE pComponent = &pRdn->paItems[j];742 PCRTCRX509ATTRIBUTETYPEANDVALUE pComponent = pRdn->papItems[j]; 743 743 744 744 /* … … 816 816 for (uint32_t i = 0; i < pThis->cItems; i++) 817 817 { 818 PCRTCRX509RELATIVEDISTINGUISHEDNAME pRdn = &pThis->paItems[i];818 PCRTCRX509RELATIVEDISTINGUISHEDNAME pRdn = pThis->papItems[i]; 819 819 for (uint32_t j = 0; j < pRdn->cItems; j++) 820 820 { 821 PCRTCRX509ATTRIBUTETYPEANDVALUE pComponent = &pRdn->paItems[j];821 PCRTCRX509ATTRIBUTETYPEANDVALUE pComponent = pRdn->papItems[j]; 822 822 823 823 /* … … 1332 1332 { 1333 1333 1334 if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_ANY_EXTENDED_KEY_USAGE_OID) == 0)1334 if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_ANY_EXTENDED_KEY_USAGE_OID) == 0) 1335 1335 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_ANY; 1336 else if (RTAsn1ObjId_StartsWith( &pObjIds->paItems[i], RTCRX509_ID_KP_OID))1337 { 1338 if (RTAsn1ObjIdCountComponents( &pObjIds->paItems[i]) == 9)1339 switch (RTAsn1ObjIdGetLastComponentsAsUInt32( &pObjIds->paItems[i]))1336 else if (RTAsn1ObjId_StartsWith(pObjIds->papItems[i], RTCRX509_ID_KP_OID)) 1337 { 1338 if (RTAsn1ObjIdCountComponents(pObjIds->papItems[i]) == 9) 1339 switch (RTAsn1ObjIdGetLastComponentsAsUInt32(pObjIds->papItems[i])) 1340 1340 { 1341 1341 case 1: pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_SERVER_AUTH; break; … … 1357 1357 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_OTHER; 1358 1358 } 1359 else if (RTAsn1ObjId_StartsWith( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_APPLE_EXTENDED_KEY_USAGE_OID))1360 { 1361 if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_CODE_SIGNING_OID) == 0)1359 else if (RTAsn1ObjId_StartsWith(pObjIds->papItems[i], RTCRX509_APPLE_EKU_APPLE_EXTENDED_KEY_USAGE_OID)) 1360 { 1361 if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_APPLE_EKU_CODE_SIGNING_OID) == 0) 1362 1362 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_APPLE_CODE_SIGNING; 1363 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_CODE_SIGNING_DEVELOPMENT_OID) == 0)1363 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_APPLE_EKU_CODE_SIGNING_DEVELOPMENT_OID) == 0) 1364 1364 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_APPLE_CODE_SIGNING_DEVELOPMENT; 1365 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_SOFTWARE_UPDATE_SIGNING_OID) == 0)1365 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_APPLE_EKU_SOFTWARE_UPDATE_SIGNING_OID) == 0) 1366 1366 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_APPLE_SOFTWARE_UPDATE_SIGNING; 1367 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_CODE_SIGNING_THRID_PARTY_OID) == 0)1367 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_APPLE_EKU_CODE_SIGNING_THRID_PARTY_OID) == 0) 1368 1368 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_APPLE_CODE_SIGNING_THIRD_PARTY; 1369 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_RESOURCE_SIGNING_OID) == 0)1369 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_APPLE_EKU_RESOURCE_SIGNING_OID) == 0) 1370 1370 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_APPLE_RESOURCE_SIGNING; 1371 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_APPLE_EKU_SYSTEM_IDENTITY_OID) == 0)1371 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_APPLE_EKU_SYSTEM_IDENTITY_OID) == 0) 1372 1372 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_APPLE_SYSTEM_IDENTITY; 1373 1373 else 1374 1374 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_OTHER; 1375 1375 } 1376 else if (RTAsn1ObjId_StartsWith( &pObjIds->paItems[i], "1.3.6.1.4.1.311"))1377 { 1378 if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_TIMESTAMP_SIGNING_OID) == 0)1376 else if (RTAsn1ObjId_StartsWith(pObjIds->papItems[i], "1.3.6.1.4.1.311")) 1377 { 1378 if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_TIMESTAMP_SIGNING_OID) == 0) 1379 1379 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_TIMESTAMP_SIGNING; 1380 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_NT5_CRYPTO_OID) == 0)1380 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_NT5_CRYPTO_OID) == 0) 1381 1381 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_NT5_CRYPTO; 1382 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_OEM_WHQL_CRYPTO_OID) == 0)1382 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_OEM_WHQL_CRYPTO_OID) == 0) 1383 1383 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_OEM_WHQL_CRYPTO; 1384 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_EMBEDDED_NT_CRYPTO_OID) == 0)1384 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_EMBEDDED_NT_CRYPTO_OID) == 0) 1385 1385 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_EMBEDDED_NT_CRYPTO; 1386 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_KERNEL_MODE_CODE_SIGNING_OID) == 0)1386 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_KERNEL_MODE_CODE_SIGNING_OID) == 0) 1387 1387 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_KERNEL_MODE_CODE_SIGNING; 1388 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_LIFETIME_SIGNING_OID) == 0)1388 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_LIFETIME_SIGNING_OID) == 0) 1389 1389 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_LIFETIME_SIGNING; 1390 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_DRM_OID) == 0)1390 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_DRM_OID) == 0) 1391 1391 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_DRM; 1392 else if (RTAsn1ObjId_CompareWithString( &pObjIds->paItems[i], RTCRX509_MS_EKU_DRM_INDIVIDUALIZATION_OID) == 0)1392 else if (RTAsn1ObjId_CompareWithString(pObjIds->papItems[i], RTCRX509_MS_EKU_DRM_INDIVIDUALIZATION_OID) == 0) 1393 1393 pThis->T3.fExtKeyUsage |= RTCRX509CERT_EKU_F_MS_DRM_INDIVIDUALIZATION; 1394 1394 else … … 1443 1443 for (uint32_t i = 0; i < pThis->T3.Extensions.cItems; i++) 1444 1444 { 1445 PCRTASN1OBJID pExtnId = &pThis->T3.Extensions.pa Items[i].ExtnId;1446 PCRTASN1OCTETSTRING pExtValue = &pThis->T3.Extensions.pa Items[i].ExtnValue;1445 PCRTASN1OBJID pExtnId = &pThis->T3.Extensions.papItems[i]->ExtnId; 1446 PCRTASN1OCTETSTRING pExtValue = &pThis->T3.Extensions.papItems[i]->ExtnValue; 1447 1447 if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_KEY_USAGE_OID) == 0) 1448 1448 { 1449 1449 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_KEY_USAGE); 1450 rtCrx509TbsCertificate_AddKeyUsageFlags(pThis, &pThis->T3.Extensions.paItems[i]);1451 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_BIT_STRING);1450 rtCrx509TbsCertificate_AddKeyUsageFlags(pThis, pThis->T3.Extensions.papItems[i]); 1451 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_BIT_STRING); 1452 1452 } 1453 1453 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_EXT_KEY_USAGE_OID) == 0) 1454 1454 { 1455 1455 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_EXT_KEY_USAGE); 1456 rtCrx509TbsCertificate_AddExtKeyUsageFlags(pThis, &pThis->T3.Extensions.paItems[i]);1457 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_SEQ_OF_OBJ_IDS);1456 rtCrx509TbsCertificate_AddExtKeyUsageFlags(pThis, pThis->T3.Extensions.papItems[i]); 1457 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_SEQ_OF_OBJ_IDS); 1458 1458 } 1459 1459 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_AUTHORITY_KEY_IDENTIFIER_OID) == 0) … … 1461 1461 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_AUTHORITY_KEY_IDENTIFIER); 1462 1462 pThis->T3.pAuthorityKeyIdentifier = (PCRTCRX509AUTHORITYKEYIDENTIFIER)pExtValue->pEncapsulated; 1463 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_AUTHORITY_KEY_IDENTIFIER);1463 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_AUTHORITY_KEY_IDENTIFIER); 1464 1464 } 1465 1465 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_OLD_AUTHORITY_KEY_IDENTIFIER_OID) == 0) … … 1467 1467 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_OLD_AUTHORITY_KEY_IDENTIFIER); 1468 1468 pThis->T3.pOldAuthorityKeyIdentifier = (PCRTCRX509OLDAUTHORITYKEYIDENTIFIER)pExtValue->pEncapsulated; 1469 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_OLD_AUTHORITY_KEY_IDENTIFIER);1469 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_OLD_AUTHORITY_KEY_IDENTIFIER); 1470 1470 } 1471 1471 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_SUBJECT_KEY_IDENTIFIER_OID) == 0) … … 1473 1473 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_SUBJECT_KEY_IDENTIFIER); 1474 1474 pThis->T3.pSubjectKeyIdentifier = (PCRTASN1OCTETSTRING)pExtValue->pEncapsulated; 1475 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_OCTET_STRING);1475 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_OCTET_STRING); 1476 1476 } 1477 1477 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_SUBJECT_ALT_NAME_OID) == 0) … … 1479 1479 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_SUBJECT_ALT_NAME); 1480 1480 pThis->T3.pAltSubjectName = (PCRTCRX509GENERALNAMES)pExtValue->pEncapsulated; 1481 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_GENERAL_NAMES);1481 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_GENERAL_NAMES); 1482 1482 } 1483 1483 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_ISSUER_ALT_NAME_OID) == 0) … … 1485 1485 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_ISSUER_ALT_NAME); 1486 1486 pThis->T3.pAltIssuerName = (PCRTCRX509GENERALNAMES)pExtValue->pEncapsulated; 1487 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_GENERAL_NAMES);1487 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_GENERAL_NAMES); 1488 1488 } 1489 1489 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_CERTIFICATE_POLICIES_OID) == 0) … … 1491 1491 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_CERTIFICATE_POLICIES); 1492 1492 pThis->T3.pCertificatePolicies = (PCRTCRX509CERTIFICATEPOLICIES)pExtValue->pEncapsulated; 1493 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_CERTIFICATE_POLICIES);1493 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_CERTIFICATE_POLICIES); 1494 1494 } 1495 1495 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_POLICY_MAPPINGS_OID) == 0) … … 1497 1497 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_POLICY_MAPPINGS); 1498 1498 pThis->T3.pPolicyMappings = (PCRTCRX509POLICYMAPPINGS)pExtValue->pEncapsulated; 1499 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_POLICY_MAPPINGS);1499 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_POLICY_MAPPINGS); 1500 1500 } 1501 1501 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_BASIC_CONSTRAINTS_OID) == 0) … … 1503 1503 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_BASIC_CONSTRAINTS); 1504 1504 pThis->T3.pBasicConstraints = (PCRTCRX509BASICCONSTRAINTS)pExtValue->pEncapsulated; 1505 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_BASIC_CONSTRAINTS);1505 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_BASIC_CONSTRAINTS); 1506 1506 } 1507 1507 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_NAME_CONSTRAINTS_OID) == 0) … … 1509 1509 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_NAME_CONSTRAINTS); 1510 1510 pThis->T3.pNameConstraints = (PCRTCRX509NAMECONSTRAINTS)pExtValue->pEncapsulated; 1511 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_NAME_CONSTRAINTS);1511 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_NAME_CONSTRAINTS); 1512 1512 } 1513 1513 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_POLICY_CONSTRAINTS_OID) == 0) … … 1515 1515 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_POLICY_CONSTRAINTS); 1516 1516 pThis->T3.pPolicyConstraints = (PCRTCRX509POLICYCONSTRAINTS)pExtValue->pEncapsulated; 1517 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_POLICY_CONSTRAINTS);1517 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_POLICY_CONSTRAINTS); 1518 1518 } 1519 1519 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_INHIBIT_ANY_POLICY_OID) == 0) … … 1521 1521 CHECK_SET_PRESENT_RET_ON_DUP(pThis, pErrInfo, RTCRX509TBSCERTIFICATE_F_PRESENT_INHIBIT_ANY_POLICY); 1522 1522 pThis->T3.pInhibitAnyPolicy = (PCRTASN1INTEGER)pExtValue->pEncapsulated; 1523 Assert(pThis->T3.Extensions.pa Items[i].enmValue == RTCRX509EXTENSIONVALUE_INTEGER);1523 Assert(pThis->T3.Extensions.papItems[i]->enmValue == RTCRX509EXTENSIONVALUE_INTEGER); 1524 1524 } 1525 1525 else if (RTAsn1ObjId_CompareWithString(pExtnId, RTCRX509_ID_CE_ACCEPTABLE_CERT_POLICIES_OID) == 0) … … 1560 1560 for (uint32_t i = 0; i < pThis->TbsCertificate.T3.Extensions.cItems; i++) 1561 1561 { 1562 PCRTCRX509EXTENSION pExt = &pThis->TbsCertificate.T3.Extensions.paItems[i];1562 PCRTCRX509EXTENSION pExt = pThis->TbsCertificate.T3.Extensions.papItems[i]; 1563 1563 if ( pExt->enmValue == RTCRX509EXTENSIONVALUE_GENERAL_NAMES 1564 1564 && RTAsn1ObjId_CompareWithString(&pExt->ExtnId, RTCRX509_ID_CE_SUBJECT_ALT_NAME_OID)) … … 1566 1566 PCRTCRX509GENERALNAMES pGeneralNames = (PCRTCRX509GENERALNAMES)pExt->ExtnValue.pEncapsulated; 1567 1567 for (uint32_t j = 0; j < pGeneralNames->cItems; j++) 1568 if ( RTCRX509GENERALNAME_IS_DIRECTORY_NAME( &pGeneralNames->paItems[j])1569 && RTCrX509Name_MatchByRfc5280(&pGeneralNames->pa Items[j].u.pT4->DirectoryName, pName))1568 if ( RTCRX509GENERALNAME_IS_DIRECTORY_NAME(pGeneralNames->papItems[j]) 1569 && RTCrX509Name_MatchByRfc5280(&pGeneralNames->papItems[j]->u.pT4->DirectoryName, pName)) 1570 1570 return true; 1571 1571 } … … 1595 1595 { 1596 1596 for (uint32_t i = 0; i < pCertificates->cItems; i++) 1597 if (RTCrX509Certificate_MatchIssuerAndSerialNumber( &pCertificates->paItems[i], pIssuer, pSerialNumber))1598 return &pCertificates->paItems[i];1597 if (RTCrX509Certificate_MatchIssuerAndSerialNumber(pCertificates->papItems[i], pIssuer, pSerialNumber)) 1598 return pCertificates->papItems[i]; 1599 1599 return NULL; 1600 1600 }
Note:
See TracChangeset
for help on using the changeset viewer.