pkits_testcases-inl.h 167 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166
  1. // Autogenerated by generate_tests.py, do not edit
  2. // This file intentionally does not have header guards, it's intended to
  3. // be inlined in another header file. The following line silences a
  4. // presubmit warning that would otherwise be triggered by this:
  5. // no-include-guard-because-multiply-included
  6. // NOLINT(build/header_guard)
  7. // Hack to allow disabling type parameterized test cases.
  8. // See https://github.com/google/googletest/issues/389
  9. #define WRAPPED_TYPED_TEST_P(CaseName, TestName) \
  10. TYPED_TEST_P(CaseName, TestName)
  11. #define WRAPPED_REGISTER_TYPED_TEST_SUITE_P(CaseName, ...) \
  12. REGISTER_TYPED_TEST_SUITE_P(CaseName, __VA_ARGS__)
  13. template <typename PkitsTestDelegate>
  14. class PkitsTest01SignatureVerification : public PkitsTest<PkitsTestDelegate> {};
  15. TYPED_TEST_SUITE_P(PkitsTest01SignatureVerification);
  16. // 4.1.1 Valid Signatures Test1
  17. WRAPPED_TYPED_TEST_P(PkitsTest01SignatureVerification,
  18. Section1ValidSignaturesTest1) {
  19. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  20. "ValidCertificatePathTest1EE"};
  21. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  22. PkitsTestInfo info;
  23. info.test_number = "4.1.1";
  24. info.should_validate = true;
  25. this->RunTest(certs, crls, info);
  26. }
  27. // 4.1.2 Invalid CA Signature Test2
  28. WRAPPED_TYPED_TEST_P(PkitsTest01SignatureVerification,
  29. Section1InvalidCASignatureTest2) {
  30. const char* const certs[] = {"TrustAnchorRootCertificate", "BadSignedCACert",
  31. "InvalidCASignatureTest2EE"};
  32. const char* const crls[] = {"TrustAnchorRootCRL", "BadSignedCACRL"};
  33. PkitsTestInfo info;
  34. info.test_number = "4.1.2";
  35. info.should_validate = false;
  36. this->RunTest(certs, crls, info);
  37. }
  38. // 4.1.3 Invalid EE Signature Test3
  39. WRAPPED_TYPED_TEST_P(PkitsTest01SignatureVerification,
  40. Section1InvalidEESignatureTest3) {
  41. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  42. "InvalidEESignatureTest3EE"};
  43. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  44. PkitsTestInfo info;
  45. info.test_number = "4.1.3";
  46. info.should_validate = false;
  47. this->RunTest(certs, crls, info);
  48. }
  49. // 4.1.4 Valid DSA Signatures Test4
  50. WRAPPED_TYPED_TEST_P(PkitsTest01SignatureVerification,
  51. Section1ValidDSASignaturesTest4) {
  52. const char* const certs[] = {"TrustAnchorRootCertificate", "DSACACert",
  53. "ValidDSASignaturesTest4EE"};
  54. const char* const crls[] = {"TrustAnchorRootCRL", "DSACACRL"};
  55. PkitsTestInfo info;
  56. info.test_number = "4.1.4";
  57. info.should_validate = true;
  58. this->RunTest(certs, crls, info);
  59. }
  60. // 4.1.5 Valid DSA Parameter Inheritance Test5
  61. WRAPPED_TYPED_TEST_P(PkitsTest01SignatureVerification,
  62. Section1ValidDSAParameterInheritanceTest5) {
  63. const char* const certs[] = {"TrustAnchorRootCertificate", "DSACACert",
  64. "DSAParametersInheritedCACert",
  65. "ValidDSAParameterInheritanceTest5EE"};
  66. const char* const crls[] = {"TrustAnchorRootCRL", "DSACACRL",
  67. "DSAParametersInheritedCACRL"};
  68. PkitsTestInfo info;
  69. info.test_number = "4.1.5";
  70. info.should_validate = true;
  71. this->RunTest(certs, crls, info);
  72. }
  73. // 4.1.6 Invalid DSA Signature Test6
  74. WRAPPED_TYPED_TEST_P(PkitsTest01SignatureVerification,
  75. Section1InvalidDSASignatureTest6) {
  76. const char* const certs[] = {"TrustAnchorRootCertificate", "DSACACert",
  77. "InvalidDSASignatureTest6EE"};
  78. const char* const crls[] = {"TrustAnchorRootCRL", "DSACACRL"};
  79. PkitsTestInfo info;
  80. info.test_number = "4.1.6";
  81. info.should_validate = false;
  82. this->RunTest(certs, crls, info);
  83. }
  84. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(PkitsTest01SignatureVerification,
  85. Section1ValidSignaturesTest1,
  86. Section1InvalidCASignatureTest2,
  87. Section1InvalidEESignatureTest3,
  88. Section1ValidDSASignaturesTest4,
  89. Section1ValidDSAParameterInheritanceTest5,
  90. Section1InvalidDSASignatureTest6);
  91. template <typename PkitsTestDelegate>
  92. class PkitsTest02ValidityPeriods : public PkitsTest<PkitsTestDelegate> {};
  93. TYPED_TEST_SUITE_P(PkitsTest02ValidityPeriods);
  94. // 4.2.1 Invalid CA notBefore Date Test1
  95. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  96. Section2InvalidCAnotBeforeDateTest1) {
  97. const char* const certs[] = {"TrustAnchorRootCertificate",
  98. "BadnotBeforeDateCACert",
  99. "InvalidCAnotBeforeDateTest1EE"};
  100. const char* const crls[] = {"TrustAnchorRootCRL", "BadnotBeforeDateCACRL"};
  101. PkitsTestInfo info;
  102. info.test_number = "4.2.1";
  103. info.should_validate = false;
  104. this->RunTest(certs, crls, info);
  105. }
  106. // 4.2.2 Invalid EE notBefore Date Test2
  107. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  108. Section2InvalidEEnotBeforeDateTest2) {
  109. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  110. "InvalidEEnotBeforeDateTest2EE"};
  111. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  112. PkitsTestInfo info;
  113. info.test_number = "4.2.2";
  114. info.should_validate = false;
  115. this->RunTest(certs, crls, info);
  116. }
  117. // 4.2.3 Valid pre2000 UTC notBefore Date Test3
  118. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  119. Section2Validpre2000UTCnotBeforeDateTest3) {
  120. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  121. "Validpre2000UTCnotBeforeDateTest3EE"};
  122. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  123. PkitsTestInfo info;
  124. info.test_number = "4.2.3";
  125. info.should_validate = true;
  126. this->RunTest(certs, crls, info);
  127. }
  128. // 4.2.4 Valid GeneralizedTime notBefore Date Test4
  129. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  130. Section2ValidGeneralizedTimenotBeforeDateTest4) {
  131. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  132. "ValidGeneralizedTimenotBeforeDateTest4EE"};
  133. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  134. PkitsTestInfo info;
  135. info.test_number = "4.2.4";
  136. info.should_validate = true;
  137. this->RunTest(certs, crls, info);
  138. }
  139. // 4.2.5 Invalid CA notAfter Date Test5
  140. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  141. Section2InvalidCAnotAfterDateTest5) {
  142. const char* const certs[] = {"TrustAnchorRootCertificate",
  143. "BadnotAfterDateCACert",
  144. "InvalidCAnotAfterDateTest5EE"};
  145. const char* const crls[] = {"TrustAnchorRootCRL", "BadnotAfterDateCACRL"};
  146. PkitsTestInfo info;
  147. info.test_number = "4.2.5";
  148. info.should_validate = false;
  149. this->RunTest(certs, crls, info);
  150. }
  151. // 4.2.6 Invalid EE notAfter Date Test6
  152. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  153. Section2InvalidEEnotAfterDateTest6) {
  154. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  155. "InvalidEEnotAfterDateTest6EE"};
  156. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  157. PkitsTestInfo info;
  158. info.test_number = "4.2.6";
  159. info.should_validate = false;
  160. this->RunTest(certs, crls, info);
  161. }
  162. // 4.2.7 Invalid pre2000 UTC EE notAfter Date Test7
  163. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  164. Section2Invalidpre2000UTCEEnotAfterDateTest7) {
  165. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  166. "Invalidpre2000UTCEEnotAfterDateTest7EE"};
  167. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  168. PkitsTestInfo info;
  169. info.test_number = "4.2.7";
  170. info.should_validate = false;
  171. this->RunTest(certs, crls, info);
  172. }
  173. // 4.2.8 Valid GeneralizedTime notAfter Date Test8
  174. WRAPPED_TYPED_TEST_P(PkitsTest02ValidityPeriods,
  175. Section2ValidGeneralizedTimenotAfterDateTest8) {
  176. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  177. "ValidGeneralizedTimenotAfterDateTest8EE"};
  178. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  179. PkitsTestInfo info;
  180. info.test_number = "4.2.8";
  181. info.should_validate = true;
  182. this->RunTest(certs, crls, info);
  183. }
  184. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  185. PkitsTest02ValidityPeriods,
  186. Section2InvalidCAnotBeforeDateTest1,
  187. Section2InvalidEEnotBeforeDateTest2,
  188. Section2Validpre2000UTCnotBeforeDateTest3,
  189. Section2ValidGeneralizedTimenotBeforeDateTest4,
  190. Section2InvalidCAnotAfterDateTest5,
  191. Section2InvalidEEnotAfterDateTest6,
  192. Section2Invalidpre2000UTCEEnotAfterDateTest7,
  193. Section2ValidGeneralizedTimenotAfterDateTest8);
  194. template <typename PkitsTestDelegate>
  195. class PkitsTest03VerifyingNameChaining : public PkitsTest<PkitsTestDelegate> {};
  196. TYPED_TEST_SUITE_P(PkitsTest03VerifyingNameChaining);
  197. // 4.3.1 Invalid Name Chaining EE Test1
  198. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  199. Section3InvalidNameChainingEETest1) {
  200. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  201. "InvalidNameChainingTest1EE"};
  202. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  203. PkitsTestInfo info;
  204. info.test_number = "4.3.1";
  205. info.should_validate = false;
  206. this->RunTest(certs, crls, info);
  207. }
  208. // 4.3.2 Invalid Name Chaining Order Test2
  209. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  210. Section3InvalidNameChainingOrderTest2) {
  211. const char* const certs[] = {"TrustAnchorRootCertificate",
  212. "NameOrderingCACert",
  213. "InvalidNameChainingOrderTest2EE"};
  214. const char* const crls[] = {"TrustAnchorRootCRL", "NameOrderCACRL"};
  215. PkitsTestInfo info;
  216. info.test_number = "4.3.2";
  217. info.should_validate = false;
  218. this->RunTest(certs, crls, info);
  219. }
  220. // 4.3.3 Valid Name Chaining Whitespace Test3
  221. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  222. Section3ValidNameChainingWhitespaceTest3) {
  223. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  224. "ValidNameChainingWhitespaceTest3EE"};
  225. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  226. PkitsTestInfo info;
  227. info.test_number = "4.3.3";
  228. info.should_validate = true;
  229. this->RunTest(certs, crls, info);
  230. }
  231. // 4.3.4 Valid Name Chaining Whitespace Test4
  232. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  233. Section3ValidNameChainingWhitespaceTest4) {
  234. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  235. "ValidNameChainingWhitespaceTest4EE"};
  236. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  237. PkitsTestInfo info;
  238. info.test_number = "4.3.4";
  239. info.should_validate = true;
  240. this->RunTest(certs, crls, info);
  241. }
  242. // 4.3.5 Valid Name Chaining Capitalization Test5
  243. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  244. Section3ValidNameChainingCapitalizationTest5) {
  245. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  246. "ValidNameChainingCapitalizationTest5EE"};
  247. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  248. PkitsTestInfo info;
  249. info.test_number = "4.3.5";
  250. info.should_validate = true;
  251. this->RunTest(certs, crls, info);
  252. }
  253. // 4.3.6 Valid Name Chaining UIDs Test6
  254. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  255. Section3ValidNameChainingUIDsTest6) {
  256. const char* const certs[] = {"TrustAnchorRootCertificate", "UIDCACert",
  257. "ValidNameUIDsTest6EE"};
  258. const char* const crls[] = {"TrustAnchorRootCRL", "UIDCACRL"};
  259. PkitsTestInfo info;
  260. info.test_number = "4.3.6";
  261. info.should_validate = true;
  262. this->RunTest(certs, crls, info);
  263. }
  264. // 4.3.7 Valid RFC3280 Mandatory Attribute Types Test7
  265. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  266. Section3ValidRFC3280MandatoryAttributeTypesTest7) {
  267. const char* const certs[] = {"TrustAnchorRootCertificate",
  268. "RFC3280MandatoryAttributeTypesCACert",
  269. "ValidRFC3280MandatoryAttributeTypesTest7EE"};
  270. const char* const crls[] = {"TrustAnchorRootCRL",
  271. "RFC3280MandatoryAttributeTypesCACRL"};
  272. PkitsTestInfo info;
  273. info.test_number = "4.3.7";
  274. info.should_validate = true;
  275. this->RunTest(certs, crls, info);
  276. }
  277. // 4.3.8 Valid RFC3280 Optional Attribute Types Test8
  278. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  279. Section3ValidRFC3280OptionalAttributeTypesTest8) {
  280. const char* const certs[] = {"TrustAnchorRootCertificate",
  281. "RFC3280OptionalAttributeTypesCACert",
  282. "ValidRFC3280OptionalAttributeTypesTest8EE"};
  283. const char* const crls[] = {"TrustAnchorRootCRL",
  284. "RFC3280OptionalAttributeTypesCACRL"};
  285. PkitsTestInfo info;
  286. info.test_number = "4.3.8";
  287. info.should_validate = true;
  288. this->RunTest(certs, crls, info);
  289. }
  290. // 4.3.9 Valid UTF8String Encoded Names Test9
  291. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  292. Section3ValidUTF8StringEncodedNamesTest9) {
  293. const char* const certs[] = {"TrustAnchorRootCertificate",
  294. "UTF8StringEncodedNamesCACert",
  295. "ValidUTF8StringEncodedNamesTest9EE"};
  296. const char* const crls[] = {"TrustAnchorRootCRL",
  297. "UTF8StringEncodedNamesCACRL"};
  298. PkitsTestInfo info;
  299. info.test_number = "4.3.9";
  300. info.should_validate = true;
  301. this->RunTest(certs, crls, info);
  302. }
  303. // 4.3.10 Valid Rollover from PrintableString to UTF8String Test10
  304. WRAPPED_TYPED_TEST_P(
  305. PkitsTest03VerifyingNameChaining,
  306. Section3ValidRolloverfromPrintableStringtoUTF8StringTest10) {
  307. const char* const certs[] = {
  308. "TrustAnchorRootCertificate",
  309. "RolloverfromPrintableStringtoUTF8StringCACert",
  310. "ValidRolloverfromPrintableStringtoUTF8StringTest10EE"};
  311. const char* const crls[] = {"TrustAnchorRootCRL",
  312. "RolloverfromPrintableStringtoUTF8StringCACRL"};
  313. PkitsTestInfo info;
  314. info.test_number = "4.3.10";
  315. info.should_validate = true;
  316. this->RunTest(certs, crls, info);
  317. }
  318. // 4.3.11 Valid UTF8String Case Insensitive Match Test11
  319. WRAPPED_TYPED_TEST_P(PkitsTest03VerifyingNameChaining,
  320. Section3ValidUTF8StringCaseInsensitiveMatchTest11) {
  321. const char* const certs[] = {"TrustAnchorRootCertificate",
  322. "UTF8StringCaseInsensitiveMatchCACert",
  323. "ValidUTF8StringCaseInsensitiveMatchTest11EE"};
  324. const char* const crls[] = {"TrustAnchorRootCRL",
  325. "UTF8StringCaseInsensitiveMatchCACRL"};
  326. PkitsTestInfo info;
  327. info.test_number = "4.3.11";
  328. info.should_validate = true;
  329. this->RunTest(certs, crls, info);
  330. }
  331. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  332. PkitsTest03VerifyingNameChaining,
  333. Section3InvalidNameChainingEETest1,
  334. Section3InvalidNameChainingOrderTest2,
  335. Section3ValidNameChainingWhitespaceTest3,
  336. Section3ValidNameChainingWhitespaceTest4,
  337. Section3ValidNameChainingCapitalizationTest5,
  338. Section3ValidNameChainingUIDsTest6,
  339. Section3ValidRFC3280MandatoryAttributeTypesTest7,
  340. Section3ValidRFC3280OptionalAttributeTypesTest8,
  341. Section3ValidUTF8StringEncodedNamesTest9,
  342. Section3ValidRolloverfromPrintableStringtoUTF8StringTest10,
  343. Section3ValidUTF8StringCaseInsensitiveMatchTest11);
  344. template <typename PkitsTestDelegate>
  345. class PkitsTest04BasicCertificateRevocationTests
  346. : public PkitsTest<PkitsTestDelegate> {};
  347. TYPED_TEST_SUITE_P(PkitsTest04BasicCertificateRevocationTests);
  348. // 4.4.1 Missing CRL Test1
  349. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  350. Section4MissingCRLTest1) {
  351. const char* const certs[] = {"TrustAnchorRootCertificate", "NoCRLCACert",
  352. "InvalidMissingCRLTest1EE"};
  353. const char* const crls[] = {"TrustAnchorRootCRL"};
  354. PkitsTestInfo info;
  355. info.test_number = "4.4.1";
  356. info.should_validate = false;
  357. this->RunTest(certs, crls, info);
  358. }
  359. // 4.4.2 Invalid Revoked CA Test2
  360. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  361. Section4InvalidRevokedCATest2) {
  362. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  363. "RevokedsubCACert", "InvalidRevokedCATest2EE"};
  364. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  365. "RevokedsubCACRL"};
  366. PkitsTestInfo info;
  367. info.test_number = "4.4.2";
  368. info.should_validate = false;
  369. this->RunTest(certs, crls, info);
  370. }
  371. // 4.4.3 Invalid Revoked EE Test3
  372. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  373. Section4InvalidRevokedEETest3) {
  374. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  375. "InvalidRevokedEETest3EE"};
  376. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  377. PkitsTestInfo info;
  378. info.test_number = "4.4.3";
  379. info.should_validate = false;
  380. this->RunTest(certs, crls, info);
  381. }
  382. // 4.4.4 Invalid Bad CRL Signature Test4
  383. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  384. Section4InvalidBadCRLSignatureTest4) {
  385. const char* const certs[] = {"TrustAnchorRootCertificate",
  386. "BadCRLSignatureCACert",
  387. "InvalidBadCRLSignatureTest4EE"};
  388. const char* const crls[] = {"TrustAnchorRootCRL", "BadCRLSignatureCACRL"};
  389. PkitsTestInfo info;
  390. info.test_number = "4.4.4";
  391. info.should_validate = false;
  392. this->RunTest(certs, crls, info);
  393. }
  394. // 4.4.5 Invalid Bad CRL Issuer Name Test5
  395. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  396. Section4InvalidBadCRLIssuerNameTest5) {
  397. const char* const certs[] = {"TrustAnchorRootCertificate",
  398. "BadCRLIssuerNameCACert",
  399. "InvalidBadCRLIssuerNameTest5EE"};
  400. const char* const crls[] = {"TrustAnchorRootCRL", "BadCRLIssuerNameCACRL"};
  401. PkitsTestInfo info;
  402. info.test_number = "4.4.5";
  403. info.should_validate = false;
  404. this->RunTest(certs, crls, info);
  405. }
  406. // 4.4.6 Invalid Wrong CRL Test6
  407. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  408. Section4InvalidWrongCRLTest6) {
  409. const char* const certs[] = {"TrustAnchorRootCertificate", "WrongCRLCACert",
  410. "InvalidWrongCRLTest6EE"};
  411. const char* const crls[] = {"TrustAnchorRootCRL", "WrongCRLCACRL"};
  412. PkitsTestInfo info;
  413. info.test_number = "4.4.6";
  414. info.should_validate = false;
  415. this->RunTest(certs, crls, info);
  416. }
  417. // 4.4.7 Valid Two CRLs Test7
  418. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  419. Section4ValidTwoCRLsTest7) {
  420. const char* const certs[] = {"TrustAnchorRootCertificate", "TwoCRLsCACert",
  421. "ValidTwoCRLsTest7EE"};
  422. const char* const crls[] = {"TrustAnchorRootCRL", "TwoCRLsCAGoodCRL",
  423. "TwoCRLsCABadCRL"};
  424. PkitsTestInfo info;
  425. info.test_number = "4.4.7";
  426. info.should_validate = true;
  427. this->RunTest(certs, crls, info);
  428. }
  429. // 4.4.8 Invalid Unknown CRL Entry Extension Test8
  430. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  431. Section4InvalidUnknownCRLEntryExtensionTest8) {
  432. const char* const certs[] = {"TrustAnchorRootCertificate",
  433. "UnknownCRLEntryExtensionCACert",
  434. "InvalidUnknownCRLEntryExtensionTest8EE"};
  435. const char* const crls[] = {"TrustAnchorRootCRL",
  436. "UnknownCRLEntryExtensionCACRL"};
  437. PkitsTestInfo info;
  438. info.test_number = "4.4.8";
  439. info.should_validate = false;
  440. this->RunTest(certs, crls, info);
  441. }
  442. // 4.4.9 Invalid Unknown CRL Extension Test9
  443. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  444. Section4InvalidUnknownCRLExtensionTest9) {
  445. const char* const certs[] = {"TrustAnchorRootCertificate",
  446. "UnknownCRLExtensionCACert",
  447. "InvalidUnknownCRLExtensionTest9EE"};
  448. const char* const crls[] = {"TrustAnchorRootCRL", "UnknownCRLExtensionCACRL"};
  449. PkitsTestInfo info;
  450. info.test_number = "4.4.9";
  451. info.should_validate = false;
  452. this->RunTest(certs, crls, info);
  453. }
  454. // 4.4.10 Invalid Unknown CRL Extension Test10
  455. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  456. Section4InvalidUnknownCRLExtensionTest10) {
  457. const char* const certs[] = {"TrustAnchorRootCertificate",
  458. "UnknownCRLExtensionCACert",
  459. "InvalidUnknownCRLExtensionTest10EE"};
  460. const char* const crls[] = {"TrustAnchorRootCRL", "UnknownCRLExtensionCACRL"};
  461. PkitsTestInfo info;
  462. info.test_number = "4.4.10";
  463. info.should_validate = false;
  464. this->RunTest(certs, crls, info);
  465. }
  466. // 4.4.11 Invalid Old CRL nextUpdate Test11
  467. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  468. Section4InvalidOldCRLnextUpdateTest11) {
  469. const char* const certs[] = {"TrustAnchorRootCertificate",
  470. "OldCRLnextUpdateCACert",
  471. "InvalidOldCRLnextUpdateTest11EE"};
  472. const char* const crls[] = {"TrustAnchorRootCRL", "OldCRLnextUpdateCACRL"};
  473. PkitsTestInfo info;
  474. info.test_number = "4.4.11";
  475. info.should_validate = false;
  476. this->RunTest(certs, crls, info);
  477. }
  478. // 4.4.12 Invalid pre2000 CRL nextUpdate Test12
  479. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  480. Section4Invalidpre2000CRLnextUpdateTest12) {
  481. const char* const certs[] = {"TrustAnchorRootCertificate",
  482. "pre2000CRLnextUpdateCACert",
  483. "Invalidpre2000CRLnextUpdateTest12EE"};
  484. const char* const crls[] = {"TrustAnchorRootCRL",
  485. "pre2000CRLnextUpdateCACRL"};
  486. PkitsTestInfo info;
  487. info.test_number = "4.4.12";
  488. info.should_validate = false;
  489. this->RunTest(certs, crls, info);
  490. }
  491. // 4.4.13 Valid GeneralizedTime CRL nextUpdate Test13
  492. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  493. Section4ValidGeneralizedTimeCRLnextUpdateTest13) {
  494. const char* const certs[] = {"TrustAnchorRootCertificate",
  495. "GeneralizedTimeCRLnextUpdateCACert",
  496. "ValidGeneralizedTimeCRLnextUpdateTest13EE"};
  497. const char* const crls[] = {"TrustAnchorRootCRL",
  498. "GeneralizedTimeCRLnextUpdateCACRL"};
  499. PkitsTestInfo info;
  500. info.test_number = "4.4.13";
  501. info.should_validate = true;
  502. this->RunTest(certs, crls, info);
  503. }
  504. // 4.4.14 Valid Negative Serial Number Test14
  505. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  506. Section4ValidNegativeSerialNumberTest14) {
  507. const char* const certs[] = {"TrustAnchorRootCertificate",
  508. "NegativeSerialNumberCACert",
  509. "ValidNegativeSerialNumberTest14EE"};
  510. const char* const crls[] = {"TrustAnchorRootCRL",
  511. "NegativeSerialNumberCACRL"};
  512. PkitsTestInfo info;
  513. info.test_number = "4.4.14";
  514. info.should_validate = true;
  515. this->RunTest(certs, crls, info);
  516. }
  517. // 4.4.15 Invalid Negative Serial Number Test15
  518. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  519. Section4InvalidNegativeSerialNumberTest15) {
  520. const char* const certs[] = {"TrustAnchorRootCertificate",
  521. "NegativeSerialNumberCACert",
  522. "InvalidNegativeSerialNumberTest15EE"};
  523. const char* const crls[] = {"TrustAnchorRootCRL",
  524. "NegativeSerialNumberCACRL"};
  525. PkitsTestInfo info;
  526. info.test_number = "4.4.15";
  527. info.should_validate = false;
  528. this->RunTest(certs, crls, info);
  529. }
  530. // 4.4.16 Valid Long Serial Number Test16
  531. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  532. Section4ValidLongSerialNumberTest16) {
  533. const char* const certs[] = {"TrustAnchorRootCertificate",
  534. "LongSerialNumberCACert",
  535. "ValidLongSerialNumberTest16EE"};
  536. const char* const crls[] = {"TrustAnchorRootCRL", "LongSerialNumberCACRL"};
  537. PkitsTestInfo info;
  538. info.test_number = "4.4.16";
  539. info.should_validate = true;
  540. this->RunTest(certs, crls, info);
  541. }
  542. // 4.4.17 Valid Long Serial Number Test17
  543. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  544. Section4ValidLongSerialNumberTest17) {
  545. const char* const certs[] = {"TrustAnchorRootCertificate",
  546. "LongSerialNumberCACert",
  547. "ValidLongSerialNumberTest17EE"};
  548. const char* const crls[] = {"TrustAnchorRootCRL", "LongSerialNumberCACRL"};
  549. PkitsTestInfo info;
  550. info.test_number = "4.4.17";
  551. info.should_validate = true;
  552. this->RunTest(certs, crls, info);
  553. }
  554. // 4.4.18 Invalid Long Serial Number Test18
  555. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  556. Section4InvalidLongSerialNumberTest18) {
  557. const char* const certs[] = {"TrustAnchorRootCertificate",
  558. "LongSerialNumberCACert",
  559. "InvalidLongSerialNumberTest18EE"};
  560. const char* const crls[] = {"TrustAnchorRootCRL", "LongSerialNumberCACRL"};
  561. PkitsTestInfo info;
  562. info.test_number = "4.4.18";
  563. info.should_validate = false;
  564. this->RunTest(certs, crls, info);
  565. }
  566. // 4.4.19 Valid Separate Certificate and CRL Keys Test19
  567. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  568. Section4ValidSeparateCertificateandCRLKeysTest19) {
  569. const char* const certs[] = {
  570. "TrustAnchorRootCertificate",
  571. "SeparateCertificateandCRLKeysCertificateSigningCACert",
  572. "SeparateCertificateandCRLKeysCRLSigningCert",
  573. "ValidSeparateCertificateandCRLKeysTest19EE"};
  574. const char* const crls[] = {"TrustAnchorRootCRL",
  575. "SeparateCertificateandCRLKeysCRL"};
  576. PkitsTestInfo info;
  577. info.test_number = "4.4.19";
  578. info.should_validate = true;
  579. this->RunTest(certs, crls, info);
  580. }
  581. // 4.4.20 Invalid Separate Certificate and CRL Keys Test20
  582. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  583. Section4InvalidSeparateCertificateandCRLKeysTest20) {
  584. const char* const certs[] = {
  585. "TrustAnchorRootCertificate",
  586. "SeparateCertificateandCRLKeysCertificateSigningCACert",
  587. "SeparateCertificateandCRLKeysCRLSigningCert",
  588. "InvalidSeparateCertificateandCRLKeysTest20EE"};
  589. const char* const crls[] = {"TrustAnchorRootCRL",
  590. "SeparateCertificateandCRLKeysCRL"};
  591. PkitsTestInfo info;
  592. info.test_number = "4.4.20";
  593. info.should_validate = false;
  594. this->RunTest(certs, crls, info);
  595. }
  596. // 4.4.21 Invalid Separate Certificate and CRL Keys Test21
  597. WRAPPED_TYPED_TEST_P(PkitsTest04BasicCertificateRevocationTests,
  598. Section4InvalidSeparateCertificateandCRLKeysTest21) {
  599. const char* const certs[] = {
  600. "TrustAnchorRootCertificate",
  601. "SeparateCertificateandCRLKeysCA2CertificateSigningCACert",
  602. "SeparateCertificateandCRLKeysCA2CRLSigningCert",
  603. "InvalidSeparateCertificateandCRLKeysTest21EE"};
  604. const char* const crls[] = {"TrustAnchorRootCRL",
  605. "SeparateCertificateandCRLKeysCA2CRL"};
  606. PkitsTestInfo info;
  607. info.test_number = "4.4.21";
  608. info.should_validate = false;
  609. this->RunTest(certs, crls, info);
  610. }
  611. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  612. PkitsTest04BasicCertificateRevocationTests,
  613. Section4MissingCRLTest1,
  614. Section4InvalidRevokedCATest2,
  615. Section4InvalidRevokedEETest3,
  616. Section4InvalidBadCRLSignatureTest4,
  617. Section4InvalidBadCRLIssuerNameTest5,
  618. Section4InvalidWrongCRLTest6,
  619. Section4ValidTwoCRLsTest7,
  620. Section4InvalidUnknownCRLEntryExtensionTest8,
  621. Section4InvalidUnknownCRLExtensionTest9,
  622. Section4InvalidUnknownCRLExtensionTest10,
  623. Section4InvalidOldCRLnextUpdateTest11,
  624. Section4Invalidpre2000CRLnextUpdateTest12,
  625. Section4ValidGeneralizedTimeCRLnextUpdateTest13,
  626. Section4ValidNegativeSerialNumberTest14,
  627. Section4InvalidNegativeSerialNumberTest15,
  628. Section4ValidLongSerialNumberTest16,
  629. Section4ValidLongSerialNumberTest17,
  630. Section4InvalidLongSerialNumberTest18,
  631. Section4ValidSeparateCertificateandCRLKeysTest19,
  632. Section4InvalidSeparateCertificateandCRLKeysTest20,
  633. Section4InvalidSeparateCertificateandCRLKeysTest21);
  634. template <typename PkitsTestDelegate>
  635. class PkitsTest05VerifyingPathswithSelfIssuedCertificates
  636. : public PkitsTest<PkitsTestDelegate> {};
  637. TYPED_TEST_SUITE_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates);
  638. // 4.5.1 Valid Basic Self-Issued Old With New Test1
  639. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  640. Section5ValidBasicSelfIssuedOldWithNewTest1) {
  641. const char* const certs[] = {"TrustAnchorRootCertificate",
  642. "BasicSelfIssuedNewKeyCACert",
  643. "BasicSelfIssuedNewKeyOldWithNewCACert",
  644. "ValidBasicSelfIssuedOldWithNewTest1EE"};
  645. const char* const crls[] = {"TrustAnchorRootCRL",
  646. "BasicSelfIssuedNewKeyCACRL"};
  647. PkitsTestInfo info;
  648. info.test_number = "4.5.1";
  649. info.should_validate = true;
  650. this->RunTest(certs, crls, info);
  651. }
  652. // 4.5.2 Invalid Basic Self-Issued Old With New Test2
  653. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  654. Section5InvalidBasicSelfIssuedOldWithNewTest2) {
  655. const char* const certs[] = {"TrustAnchorRootCertificate",
  656. "BasicSelfIssuedNewKeyCACert",
  657. "BasicSelfIssuedNewKeyOldWithNewCACert",
  658. "InvalidBasicSelfIssuedOldWithNewTest2EE"};
  659. const char* const crls[] = {"TrustAnchorRootCRL",
  660. "BasicSelfIssuedNewKeyCACRL"};
  661. PkitsTestInfo info;
  662. info.test_number = "4.5.2";
  663. info.should_validate = false;
  664. this->RunTest(certs, crls, info);
  665. }
  666. // 4.5.3 Valid Basic Self-Issued New With Old Test3
  667. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  668. Section5ValidBasicSelfIssuedNewWithOldTest3) {
  669. const char* const certs[] = {"TrustAnchorRootCertificate",
  670. "BasicSelfIssuedOldKeyCACert",
  671. "BasicSelfIssuedOldKeyNewWithOldCACert",
  672. "ValidBasicSelfIssuedNewWithOldTest3EE"};
  673. const char* const crls[] = {"TrustAnchorRootCRL",
  674. "BasicSelfIssuedOldKeySelfIssuedCertCRL",
  675. "BasicSelfIssuedOldKeyCACRL"};
  676. PkitsTestInfo info;
  677. info.test_number = "4.5.3";
  678. info.should_validate = true;
  679. this->RunTest(certs, crls, info);
  680. }
  681. // 4.5.4 Valid Basic Self-Issued New With Old Test4
  682. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  683. Section5ValidBasicSelfIssuedNewWithOldTest4) {
  684. const char* const certs[] = {"TrustAnchorRootCertificate",
  685. "BasicSelfIssuedOldKeyCACert",
  686. "BasicSelfIssuedOldKeyNewWithOldCACert",
  687. "ValidBasicSelfIssuedNewWithOldTest4EE"};
  688. const char* const crls[] = {"TrustAnchorRootCRL",
  689. "BasicSelfIssuedOldKeySelfIssuedCertCRL",
  690. "BasicSelfIssuedOldKeyCACRL"};
  691. PkitsTestInfo info;
  692. info.test_number = "4.5.4";
  693. info.should_validate = true;
  694. this->RunTest(certs, crls, info);
  695. }
  696. // 4.5.5 Invalid Basic Self-Issued New With Old Test5
  697. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  698. Section5InvalidBasicSelfIssuedNewWithOldTest5) {
  699. const char* const certs[] = {"TrustAnchorRootCertificate",
  700. "BasicSelfIssuedOldKeyCACert",
  701. "BasicSelfIssuedOldKeyNewWithOldCACert",
  702. "InvalidBasicSelfIssuedNewWithOldTest5EE"};
  703. const char* const crls[] = {"TrustAnchorRootCRL",
  704. "BasicSelfIssuedOldKeySelfIssuedCertCRL",
  705. "BasicSelfIssuedOldKeyCACRL"};
  706. PkitsTestInfo info;
  707. info.test_number = "4.5.5";
  708. info.should_validate = false;
  709. this->RunTest(certs, crls, info);
  710. }
  711. // 4.5.6 Valid Basic Self-Issued CRL Signing Key Test6
  712. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  713. Section5ValidBasicSelfIssuedCRLSigningKeyTest6) {
  714. const char* const certs[] = {"TrustAnchorRootCertificate",
  715. "BasicSelfIssuedCRLSigningKeyCACert",
  716. "BasicSelfIssuedCRLSigningKeyCRLCert",
  717. "ValidBasicSelfIssuedCRLSigningKeyTest6EE"};
  718. const char* const crls[] = {"TrustAnchorRootCRL",
  719. "BasicSelfIssuedCRLSigningKeyCRLCertCRL",
  720. "BasicSelfIssuedCRLSigningKeyCACRL"};
  721. PkitsTestInfo info;
  722. info.test_number = "4.5.6";
  723. info.should_validate = true;
  724. this->RunTest(certs, crls, info);
  725. }
  726. // 4.5.7 Invalid Basic Self-Issued CRL Signing Key Test7
  727. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  728. Section5InvalidBasicSelfIssuedCRLSigningKeyTest7) {
  729. const char* const certs[] = {"TrustAnchorRootCertificate",
  730. "BasicSelfIssuedCRLSigningKeyCACert",
  731. "BasicSelfIssuedCRLSigningKeyCRLCert",
  732. "InvalidBasicSelfIssuedCRLSigningKeyTest7EE"};
  733. const char* const crls[] = {"TrustAnchorRootCRL",
  734. "BasicSelfIssuedCRLSigningKeyCRLCertCRL",
  735. "BasicSelfIssuedCRLSigningKeyCACRL"};
  736. PkitsTestInfo info;
  737. info.test_number = "4.5.7";
  738. info.should_validate = false;
  739. this->RunTest(certs, crls, info);
  740. }
  741. // 4.5.8 Invalid Basic Self-Issued CRL Signing Key Test8
  742. WRAPPED_TYPED_TEST_P(PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  743. Section5InvalidBasicSelfIssuedCRLSigningKeyTest8) {
  744. const char* const certs[] = {"TrustAnchorRootCertificate",
  745. "BasicSelfIssuedCRLSigningKeyCACert",
  746. "BasicSelfIssuedCRLSigningKeyCRLCert",
  747. "InvalidBasicSelfIssuedCRLSigningKeyTest8EE"};
  748. const char* const crls[] = {"TrustAnchorRootCRL",
  749. "BasicSelfIssuedCRLSigningKeyCRLCertCRL",
  750. "BasicSelfIssuedCRLSigningKeyCACRL"};
  751. PkitsTestInfo info;
  752. info.test_number = "4.5.8";
  753. info.should_validate = false;
  754. this->RunTest(certs, crls, info);
  755. }
  756. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  757. PkitsTest05VerifyingPathswithSelfIssuedCertificates,
  758. Section5ValidBasicSelfIssuedOldWithNewTest1,
  759. Section5InvalidBasicSelfIssuedOldWithNewTest2,
  760. Section5ValidBasicSelfIssuedNewWithOldTest3,
  761. Section5ValidBasicSelfIssuedNewWithOldTest4,
  762. Section5InvalidBasicSelfIssuedNewWithOldTest5,
  763. Section5ValidBasicSelfIssuedCRLSigningKeyTest6,
  764. Section5InvalidBasicSelfIssuedCRLSigningKeyTest7,
  765. Section5InvalidBasicSelfIssuedCRLSigningKeyTest8);
  766. template <typename PkitsTestDelegate>
  767. class PkitsTest06VerifyingBasicConstraints
  768. : public PkitsTest<PkitsTestDelegate> {};
  769. TYPED_TEST_SUITE_P(PkitsTest06VerifyingBasicConstraints);
  770. // 4.6.1 Invalid Missing basicConstraints Test1
  771. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  772. Section6InvalidMissingbasicConstraintsTest1) {
  773. const char* const certs[] = {"TrustAnchorRootCertificate",
  774. "MissingbasicConstraintsCACert",
  775. "InvalidMissingbasicConstraintsTest1EE"};
  776. const char* const crls[] = {"TrustAnchorRootCRL",
  777. "MissingbasicConstraintsCACRL"};
  778. PkitsTestInfo info;
  779. info.test_number = "4.6.1";
  780. info.should_validate = false;
  781. this->RunTest(certs, crls, info);
  782. }
  783. // 4.6.2 Invalid cA False Test2
  784. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  785. Section6InvalidcAFalseTest2) {
  786. const char* const certs[] = {"TrustAnchorRootCertificate",
  787. "basicConstraintsCriticalcAFalseCACert",
  788. "InvalidcAFalseTest2EE"};
  789. const char* const crls[] = {"TrustAnchorRootCRL",
  790. "basicConstraintsCriticalcAFalseCACRL"};
  791. PkitsTestInfo info;
  792. info.test_number = "4.6.2";
  793. info.should_validate = false;
  794. this->RunTest(certs, crls, info);
  795. }
  796. // 4.6.3 Invalid cA False Test3
  797. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  798. Section6InvalidcAFalseTest3) {
  799. const char* const certs[] = {"TrustAnchorRootCertificate",
  800. "basicConstraintsNotCriticalcAFalseCACert",
  801. "InvalidcAFalseTest3EE"};
  802. const char* const crls[] = {"TrustAnchorRootCRL",
  803. "basicConstraintsNotCriticalcAFalseCACRL"};
  804. PkitsTestInfo info;
  805. info.test_number = "4.6.3";
  806. info.should_validate = false;
  807. this->RunTest(certs, crls, info);
  808. }
  809. // 4.6.4 Valid basicConstraints Not Critical Test4
  810. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  811. Section6ValidbasicConstraintsNotCriticalTest4) {
  812. const char* const certs[] = {"TrustAnchorRootCertificate",
  813. "basicConstraintsNotCriticalCACert",
  814. "ValidbasicConstraintsNotCriticalTest4EE"};
  815. const char* const crls[] = {"TrustAnchorRootCRL",
  816. "basicConstraintsNotCriticalCACRL"};
  817. PkitsTestInfo info;
  818. info.test_number = "4.6.4";
  819. info.should_validate = true;
  820. this->RunTest(certs, crls, info);
  821. }
  822. // 4.6.5 Invalid pathLenConstraint Test5
  823. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  824. Section6InvalidpathLenConstraintTest5) {
  825. const char* const certs[] = {
  826. "TrustAnchorRootCertificate", "pathLenConstraint0CACert",
  827. "pathLenConstraint0subCACert", "InvalidpathLenConstraintTest5EE"};
  828. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint0CACRL",
  829. "pathLenConstraint0subCACRL"};
  830. PkitsTestInfo info;
  831. info.test_number = "4.6.5";
  832. info.should_validate = false;
  833. this->RunTest(certs, crls, info);
  834. }
  835. // 4.6.6 Invalid pathLenConstraint Test6
  836. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  837. Section6InvalidpathLenConstraintTest6) {
  838. const char* const certs[] = {
  839. "TrustAnchorRootCertificate", "pathLenConstraint0CACert",
  840. "pathLenConstraint0subCACert", "InvalidpathLenConstraintTest6EE"};
  841. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint0CACRL",
  842. "pathLenConstraint0subCACRL"};
  843. PkitsTestInfo info;
  844. info.test_number = "4.6.6";
  845. info.should_validate = false;
  846. this->RunTest(certs, crls, info);
  847. }
  848. // 4.6.7 Valid pathLenConstraint Test7
  849. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  850. Section6ValidpathLenConstraintTest7) {
  851. const char* const certs[] = {"TrustAnchorRootCertificate",
  852. "pathLenConstraint0CACert",
  853. "ValidpathLenConstraintTest7EE"};
  854. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint0CACRL"};
  855. PkitsTestInfo info;
  856. info.test_number = "4.6.7";
  857. info.should_validate = true;
  858. this->RunTest(certs, crls, info);
  859. }
  860. // 4.6.8 Valid pathLenConstraint Test8
  861. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  862. Section6ValidpathLenConstraintTest8) {
  863. const char* const certs[] = {"TrustAnchorRootCertificate",
  864. "pathLenConstraint0CACert",
  865. "ValidpathLenConstraintTest8EE"};
  866. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint0CACRL"};
  867. PkitsTestInfo info;
  868. info.test_number = "4.6.8";
  869. info.should_validate = true;
  870. this->RunTest(certs, crls, info);
  871. }
  872. // 4.6.9 Invalid pathLenConstraint Test9
  873. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  874. Section6InvalidpathLenConstraintTest9) {
  875. const char* const certs[] = {
  876. "TrustAnchorRootCertificate", "pathLenConstraint6CACert",
  877. "pathLenConstraint6subCA0Cert", "pathLenConstraint6subsubCA00Cert",
  878. "InvalidpathLenConstraintTest9EE"};
  879. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint6CACRL",
  880. "pathLenConstraint6subCA0CRL",
  881. "pathLenConstraint6subsubCA00CRL"};
  882. PkitsTestInfo info;
  883. info.test_number = "4.6.9";
  884. info.should_validate = false;
  885. this->RunTest(certs, crls, info);
  886. }
  887. // 4.6.10 Invalid pathLenConstraint Test10
  888. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  889. Section6InvalidpathLenConstraintTest10) {
  890. const char* const certs[] = {
  891. "TrustAnchorRootCertificate", "pathLenConstraint6CACert",
  892. "pathLenConstraint6subCA0Cert", "pathLenConstraint6subsubCA00Cert",
  893. "InvalidpathLenConstraintTest10EE"};
  894. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint6CACRL",
  895. "pathLenConstraint6subCA0CRL",
  896. "pathLenConstraint6subsubCA00CRL"};
  897. PkitsTestInfo info;
  898. info.test_number = "4.6.10";
  899. info.should_validate = false;
  900. this->RunTest(certs, crls, info);
  901. }
  902. // 4.6.11 Invalid pathLenConstraint Test11
  903. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  904. Section6InvalidpathLenConstraintTest11) {
  905. const char* const certs[] = {"TrustAnchorRootCertificate",
  906. "pathLenConstraint6CACert",
  907. "pathLenConstraint6subCA1Cert",
  908. "pathLenConstraint6subsubCA11Cert",
  909. "pathLenConstraint6subsubsubCA11XCert",
  910. "InvalidpathLenConstraintTest11EE"};
  911. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint6CACRL",
  912. "pathLenConstraint6subCA1CRL",
  913. "pathLenConstraint6subsubCA11CRL",
  914. "pathLenConstraint6subsubsubCA11XCRL"};
  915. PkitsTestInfo info;
  916. info.test_number = "4.6.11";
  917. info.should_validate = false;
  918. this->RunTest(certs, crls, info);
  919. }
  920. // 4.6.12 Invalid pathLenConstraint Test12
  921. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  922. Section6InvalidpathLenConstraintTest12) {
  923. const char* const certs[] = {"TrustAnchorRootCertificate",
  924. "pathLenConstraint6CACert",
  925. "pathLenConstraint6subCA1Cert",
  926. "pathLenConstraint6subsubCA11Cert",
  927. "pathLenConstraint6subsubsubCA11XCert",
  928. "InvalidpathLenConstraintTest12EE"};
  929. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint6CACRL",
  930. "pathLenConstraint6subCA1CRL",
  931. "pathLenConstraint6subsubCA11CRL",
  932. "pathLenConstraint6subsubsubCA11XCRL"};
  933. PkitsTestInfo info;
  934. info.test_number = "4.6.12";
  935. info.should_validate = false;
  936. this->RunTest(certs, crls, info);
  937. }
  938. // 4.6.13 Valid pathLenConstraint Test13
  939. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  940. Section6ValidpathLenConstraintTest13) {
  941. const char* const certs[] = {"TrustAnchorRootCertificate",
  942. "pathLenConstraint6CACert",
  943. "pathLenConstraint6subCA4Cert",
  944. "pathLenConstraint6subsubCA41Cert",
  945. "pathLenConstraint6subsubsubCA41XCert",
  946. "ValidpathLenConstraintTest13EE"};
  947. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint6CACRL",
  948. "pathLenConstraint6subCA4CRL",
  949. "pathLenConstraint6subsubCA41CRL",
  950. "pathLenConstraint6subsubsubCA41XCRL"};
  951. PkitsTestInfo info;
  952. info.test_number = "4.6.13";
  953. info.should_validate = true;
  954. this->RunTest(certs, crls, info);
  955. }
  956. // 4.6.14 Valid pathLenConstraint Test14
  957. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  958. Section6ValidpathLenConstraintTest14) {
  959. const char* const certs[] = {"TrustAnchorRootCertificate",
  960. "pathLenConstraint6CACert",
  961. "pathLenConstraint6subCA4Cert",
  962. "pathLenConstraint6subsubCA41Cert",
  963. "pathLenConstraint6subsubsubCA41XCert",
  964. "ValidpathLenConstraintTest14EE"};
  965. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint6CACRL",
  966. "pathLenConstraint6subCA4CRL",
  967. "pathLenConstraint6subsubCA41CRL",
  968. "pathLenConstraint6subsubsubCA41XCRL"};
  969. PkitsTestInfo info;
  970. info.test_number = "4.6.14";
  971. info.should_validate = true;
  972. this->RunTest(certs, crls, info);
  973. }
  974. // 4.6.15 Valid Self-Issued pathLenConstraint Test15
  975. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  976. Section6ValidSelfIssuedpathLenConstraintTest15) {
  977. const char* const certs[] = {"TrustAnchorRootCertificate",
  978. "pathLenConstraint0CACert",
  979. "pathLenConstraint0SelfIssuedCACert",
  980. "ValidSelfIssuedpathLenConstraintTest15EE"};
  981. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint0CACRL"};
  982. PkitsTestInfo info;
  983. info.test_number = "4.6.15";
  984. info.should_validate = true;
  985. this->RunTest(certs, crls, info);
  986. }
  987. // 4.6.16 Invalid Self-Issued pathLenConstraint Test16
  988. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  989. Section6InvalidSelfIssuedpathLenConstraintTest16) {
  990. const char* const certs[] = {
  991. "TrustAnchorRootCertificate", "pathLenConstraint0CACert",
  992. "pathLenConstraint0SelfIssuedCACert", "pathLenConstraint0subCA2Cert",
  993. "InvalidSelfIssuedpathLenConstraintTest16EE"};
  994. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint0CACRL",
  995. "pathLenConstraint0subCA2CRL"};
  996. PkitsTestInfo info;
  997. info.test_number = "4.6.16";
  998. info.should_validate = false;
  999. this->RunTest(certs, crls, info);
  1000. }
  1001. // 4.6.17 Valid Self-Issued pathLenConstraint Test17
  1002. WRAPPED_TYPED_TEST_P(PkitsTest06VerifyingBasicConstraints,
  1003. Section6ValidSelfIssuedpathLenConstraintTest17) {
  1004. const char* const certs[] = {"TrustAnchorRootCertificate",
  1005. "pathLenConstraint1CACert",
  1006. "pathLenConstraint1SelfIssuedCACert",
  1007. "pathLenConstraint1subCACert",
  1008. "pathLenConstraint1SelfIssuedsubCACert",
  1009. "ValidSelfIssuedpathLenConstraintTest17EE"};
  1010. const char* const crls[] = {"TrustAnchorRootCRL", "pathLenConstraint1CACRL",
  1011. "pathLenConstraint1subCACRL"};
  1012. PkitsTestInfo info;
  1013. info.test_number = "4.6.17";
  1014. info.should_validate = true;
  1015. this->RunTest(certs, crls, info);
  1016. }
  1017. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  1018. PkitsTest06VerifyingBasicConstraints,
  1019. Section6InvalidMissingbasicConstraintsTest1,
  1020. Section6InvalidcAFalseTest2,
  1021. Section6InvalidcAFalseTest3,
  1022. Section6ValidbasicConstraintsNotCriticalTest4,
  1023. Section6InvalidpathLenConstraintTest5,
  1024. Section6InvalidpathLenConstraintTest6,
  1025. Section6ValidpathLenConstraintTest7,
  1026. Section6ValidpathLenConstraintTest8,
  1027. Section6InvalidpathLenConstraintTest9,
  1028. Section6InvalidpathLenConstraintTest10,
  1029. Section6InvalidpathLenConstraintTest11,
  1030. Section6InvalidpathLenConstraintTest12,
  1031. Section6ValidpathLenConstraintTest13,
  1032. Section6ValidpathLenConstraintTest14,
  1033. Section6ValidSelfIssuedpathLenConstraintTest15,
  1034. Section6InvalidSelfIssuedpathLenConstraintTest16,
  1035. Section6ValidSelfIssuedpathLenConstraintTest17);
  1036. template <typename PkitsTestDelegate>
  1037. class PkitsTest07KeyUsage : public PkitsTest<PkitsTestDelegate> {};
  1038. TYPED_TEST_SUITE_P(PkitsTest07KeyUsage);
  1039. // 4.7.1 Invalid keyUsage Critical keyCertSign False Test1
  1040. WRAPPED_TYPED_TEST_P(PkitsTest07KeyUsage,
  1041. Section7InvalidkeyUsageCriticalkeyCertSignFalseTest1) {
  1042. const char* const certs[] = {
  1043. "TrustAnchorRootCertificate", "keyUsageCriticalkeyCertSignFalseCACert",
  1044. "InvalidkeyUsageCriticalkeyCertSignFalseTest1EE"};
  1045. const char* const crls[] = {"TrustAnchorRootCRL",
  1046. "keyUsageCriticalkeyCertSignFalseCACRL"};
  1047. PkitsTestInfo info;
  1048. info.test_number = "4.7.1";
  1049. info.should_validate = false;
  1050. this->RunTest(certs, crls, info);
  1051. }
  1052. // 4.7.2 Invalid keyUsage Not Critical keyCertSign False Test2
  1053. WRAPPED_TYPED_TEST_P(PkitsTest07KeyUsage,
  1054. Section7InvalidkeyUsageNotCriticalkeyCertSignFalseTest2) {
  1055. const char* const certs[] = {
  1056. "TrustAnchorRootCertificate", "keyUsageNotCriticalkeyCertSignFalseCACert",
  1057. "InvalidkeyUsageNotCriticalkeyCertSignFalseTest2EE"};
  1058. const char* const crls[] = {"TrustAnchorRootCRL",
  1059. "keyUsageNotCriticalkeyCertSignFalseCACRL"};
  1060. PkitsTestInfo info;
  1061. info.test_number = "4.7.2";
  1062. info.should_validate = false;
  1063. this->RunTest(certs, crls, info);
  1064. }
  1065. // 4.7.3 Valid keyUsage Not Critical Test3
  1066. WRAPPED_TYPED_TEST_P(PkitsTest07KeyUsage,
  1067. Section7ValidkeyUsageNotCriticalTest3) {
  1068. const char* const certs[] = {"TrustAnchorRootCertificate",
  1069. "keyUsageNotCriticalCACert",
  1070. "ValidkeyUsageNotCriticalTest3EE"};
  1071. const char* const crls[] = {"TrustAnchorRootCRL", "keyUsageNotCriticalCACRL"};
  1072. PkitsTestInfo info;
  1073. info.test_number = "4.7.3";
  1074. info.should_validate = true;
  1075. this->RunTest(certs, crls, info);
  1076. }
  1077. // 4.7.4 Invalid keyUsage Critical cRLSign False Test4
  1078. WRAPPED_TYPED_TEST_P(PkitsTest07KeyUsage,
  1079. Section7InvalidkeyUsageCriticalcRLSignFalseTest4) {
  1080. const char* const certs[] = {"TrustAnchorRootCertificate",
  1081. "keyUsageCriticalcRLSignFalseCACert",
  1082. "InvalidkeyUsageCriticalcRLSignFalseTest4EE"};
  1083. const char* const crls[] = {"TrustAnchorRootCRL",
  1084. "keyUsageCriticalcRLSignFalseCACRL"};
  1085. PkitsTestInfo info;
  1086. info.test_number = "4.7.4";
  1087. info.should_validate = false;
  1088. this->RunTest(certs, crls, info);
  1089. }
  1090. // 4.7.5 Invalid keyUsage Not Critical cRLSign False Test5
  1091. WRAPPED_TYPED_TEST_P(PkitsTest07KeyUsage,
  1092. Section7InvalidkeyUsageNotCriticalcRLSignFalseTest5) {
  1093. const char* const certs[] = {"TrustAnchorRootCertificate",
  1094. "keyUsageNotCriticalcRLSignFalseCACert",
  1095. "InvalidkeyUsageNotCriticalcRLSignFalseTest5EE"};
  1096. const char* const crls[] = {"TrustAnchorRootCRL",
  1097. "keyUsageNotCriticalcRLSignFalseCACRL"};
  1098. PkitsTestInfo info;
  1099. info.test_number = "4.7.5";
  1100. info.should_validate = false;
  1101. this->RunTest(certs, crls, info);
  1102. }
  1103. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  1104. PkitsTest07KeyUsage,
  1105. Section7InvalidkeyUsageCriticalkeyCertSignFalseTest1,
  1106. Section7InvalidkeyUsageNotCriticalkeyCertSignFalseTest2,
  1107. Section7ValidkeyUsageNotCriticalTest3,
  1108. Section7InvalidkeyUsageCriticalcRLSignFalseTest4,
  1109. Section7InvalidkeyUsageNotCriticalcRLSignFalseTest5);
  1110. template <typename PkitsTestDelegate>
  1111. class PkitsTest08CertificatePolicies : public PkitsTest<PkitsTestDelegate> {};
  1112. TYPED_TEST_SUITE_P(PkitsTest08CertificatePolicies);
  1113. // 4.8.1 All Certificates Same Policy Test1 (Subpart 1)
  1114. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1115. Section8AllCertificatesSamePolicyTest1Subpart1) {
  1116. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1117. "ValidCertificatePathTest1EE"};
  1118. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1119. PkitsTestInfo info;
  1120. info.test_number = "4.8.1";
  1121. info.should_validate = true;
  1122. info.SetInitialExplicitPolicy(true);
  1123. this->RunTest(certs, crls, info);
  1124. }
  1125. // 4.8.1 All Certificates Same Policy Test1 (Subpart 2)
  1126. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1127. Section8AllCertificatesSamePolicyTest1Subpart2) {
  1128. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1129. "ValidCertificatePathTest1EE"};
  1130. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1131. PkitsTestInfo info;
  1132. info.test_number = "4.8.1";
  1133. info.should_validate = true;
  1134. info.SetInitialPolicySet("NIST-test-policy-1");
  1135. info.SetInitialExplicitPolicy(true);
  1136. this->RunTest(certs, crls, info);
  1137. }
  1138. // 4.8.1 All Certificates Same Policy Test1 (Subpart 3)
  1139. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1140. Section8AllCertificatesSamePolicyTest1Subpart3) {
  1141. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1142. "ValidCertificatePathTest1EE"};
  1143. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1144. PkitsTestInfo info;
  1145. info.test_number = "4.8.1";
  1146. info.should_validate = false;
  1147. info.SetInitialPolicySet("NIST-test-policy-2");
  1148. info.SetInitialExplicitPolicy(true);
  1149. info.SetUserConstrainedPolicySet("");
  1150. this->RunTest(certs, crls, info);
  1151. }
  1152. // 4.8.1 All Certificates Same Policy Test1 (Subpart 4)
  1153. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1154. Section8AllCertificatesSamePolicyTest1Subpart4) {
  1155. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1156. "ValidCertificatePathTest1EE"};
  1157. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1158. PkitsTestInfo info;
  1159. info.test_number = "4.8.1";
  1160. info.should_validate = true;
  1161. info.SetInitialPolicySet("NIST-test-policy-1,NIST-test-policy-2");
  1162. info.SetInitialExplicitPolicy(true);
  1163. this->RunTest(certs, crls, info);
  1164. }
  1165. // 4.8.2 All Certificates No Policies Test2 (Subpart 1)
  1166. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1167. Section8AllCertificatesNoPoliciesTest2Subpart1) {
  1168. const char* const certs[] = {"TrustAnchorRootCertificate", "NoPoliciesCACert",
  1169. "AllCertificatesNoPoliciesTest2EE"};
  1170. const char* const crls[] = {"TrustAnchorRootCRL", "NoPoliciesCACRL"};
  1171. PkitsTestInfo info;
  1172. info.test_number = "4.8.2";
  1173. info.should_validate = true;
  1174. info.SetUserConstrainedPolicySet("");
  1175. this->RunTest(certs, crls, info);
  1176. }
  1177. // 4.8.2 All Certificates No Policies Test2 (Subpart 2)
  1178. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1179. Section8AllCertificatesNoPoliciesTest2Subpart2) {
  1180. const char* const certs[] = {"TrustAnchorRootCertificate", "NoPoliciesCACert",
  1181. "AllCertificatesNoPoliciesTest2EE"};
  1182. const char* const crls[] = {"TrustAnchorRootCRL", "NoPoliciesCACRL"};
  1183. PkitsTestInfo info;
  1184. info.test_number = "4.8.2";
  1185. info.should_validate = false;
  1186. info.SetInitialExplicitPolicy(true);
  1187. info.SetUserConstrainedPolicySet("");
  1188. this->RunTest(certs, crls, info);
  1189. }
  1190. // 4.8.3 Different Policies Test3 (Subpart 1)
  1191. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1192. Section8DifferentPoliciesTest3Subpart1) {
  1193. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1194. "PoliciesP2subCACert",
  1195. "DifferentPoliciesTest3EE"};
  1196. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  1197. "PoliciesP2subCACRL"};
  1198. PkitsTestInfo info;
  1199. info.test_number = "4.8.3";
  1200. info.should_validate = true;
  1201. info.SetUserConstrainedPolicySet("");
  1202. this->RunTest(certs, crls, info);
  1203. }
  1204. // 4.8.3 Different Policies Test3 (Subpart 2)
  1205. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1206. Section8DifferentPoliciesTest3Subpart2) {
  1207. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1208. "PoliciesP2subCACert",
  1209. "DifferentPoliciesTest3EE"};
  1210. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  1211. "PoliciesP2subCACRL"};
  1212. PkitsTestInfo info;
  1213. info.test_number = "4.8.3";
  1214. info.should_validate = false;
  1215. info.SetInitialExplicitPolicy(true);
  1216. info.SetUserConstrainedPolicySet("");
  1217. this->RunTest(certs, crls, info);
  1218. }
  1219. // 4.8.3 Different Policies Test3 (Subpart 3)
  1220. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1221. Section8DifferentPoliciesTest3Subpart3) {
  1222. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1223. "PoliciesP2subCACert",
  1224. "DifferentPoliciesTest3EE"};
  1225. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  1226. "PoliciesP2subCACRL"};
  1227. PkitsTestInfo info;
  1228. info.test_number = "4.8.3";
  1229. info.should_validate = false;
  1230. info.SetInitialPolicySet("NIST-test-policy-1,NIST-test-policy-2");
  1231. info.SetInitialExplicitPolicy(true);
  1232. info.SetUserConstrainedPolicySet("");
  1233. this->RunTest(certs, crls, info);
  1234. }
  1235. // 4.8.4 Different Policies Test4
  1236. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1237. Section8DifferentPoliciesTest4) {
  1238. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1239. "GoodsubCACert", "DifferentPoliciesTest4EE"};
  1240. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  1241. "GoodsubCACRL"};
  1242. PkitsTestInfo info;
  1243. info.test_number = "4.8.4";
  1244. info.should_validate = false;
  1245. info.SetUserConstrainedPolicySet("");
  1246. this->RunTest(certs, crls, info);
  1247. }
  1248. // 4.8.5 Different Policies Test5
  1249. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1250. Section8DifferentPoliciesTest5) {
  1251. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1252. "PoliciesP2subCA2Cert",
  1253. "DifferentPoliciesTest5EE"};
  1254. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  1255. "PoliciesP2subCA2CRL"};
  1256. PkitsTestInfo info;
  1257. info.test_number = "4.8.5";
  1258. info.should_validate = false;
  1259. info.SetUserConstrainedPolicySet("");
  1260. this->RunTest(certs, crls, info);
  1261. }
  1262. // 4.8.6 Overlapping Policies Test6 (Subpart 1)
  1263. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1264. Section8OverlappingPoliciesTest6Subpart1) {
  1265. const char* const certs[] = {
  1266. "TrustAnchorRootCertificate", "PoliciesP1234CACert",
  1267. "PoliciesP1234subCAP123Cert", "PoliciesP1234subsubCAP123P12Cert",
  1268. "OverlappingPoliciesTest6EE"};
  1269. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP1234CACRL",
  1270. "PoliciesP1234subCAP123CRL",
  1271. "PoliciesP1234subsubCAP123P12CRL"};
  1272. PkitsTestInfo info;
  1273. info.test_number = "4.8.6";
  1274. info.should_validate = true;
  1275. this->RunTest(certs, crls, info);
  1276. }
  1277. // 4.8.6 Overlapping Policies Test6 (Subpart 2)
  1278. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1279. Section8OverlappingPoliciesTest6Subpart2) {
  1280. const char* const certs[] = {
  1281. "TrustAnchorRootCertificate", "PoliciesP1234CACert",
  1282. "PoliciesP1234subCAP123Cert", "PoliciesP1234subsubCAP123P12Cert",
  1283. "OverlappingPoliciesTest6EE"};
  1284. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP1234CACRL",
  1285. "PoliciesP1234subCAP123CRL",
  1286. "PoliciesP1234subsubCAP123P12CRL"};
  1287. PkitsTestInfo info;
  1288. info.test_number = "4.8.6";
  1289. info.should_validate = true;
  1290. info.SetInitialPolicySet("NIST-test-policy-1");
  1291. this->RunTest(certs, crls, info);
  1292. }
  1293. // 4.8.6 Overlapping Policies Test6 (Subpart 3)
  1294. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1295. Section8OverlappingPoliciesTest6Subpart3) {
  1296. const char* const certs[] = {
  1297. "TrustAnchorRootCertificate", "PoliciesP1234CACert",
  1298. "PoliciesP1234subCAP123Cert", "PoliciesP1234subsubCAP123P12Cert",
  1299. "OverlappingPoliciesTest6EE"};
  1300. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP1234CACRL",
  1301. "PoliciesP1234subCAP123CRL",
  1302. "PoliciesP1234subsubCAP123P12CRL"};
  1303. PkitsTestInfo info;
  1304. info.test_number = "4.8.6";
  1305. info.should_validate = false;
  1306. info.SetInitialPolicySet("NIST-test-policy-2");
  1307. info.SetUserConstrainedPolicySet("");
  1308. this->RunTest(certs, crls, info);
  1309. }
  1310. // 4.8.7 Different Policies Test7
  1311. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1312. Section8DifferentPoliciesTest7) {
  1313. const char* const certs[] = {"TrustAnchorRootCertificate",
  1314. "PoliciesP123CACert", "PoliciesP123subCAP12Cert",
  1315. "PoliciesP123subsubCAP12P1Cert",
  1316. "DifferentPoliciesTest7EE"};
  1317. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP123CACRL",
  1318. "PoliciesP123subCAP12CRL",
  1319. "PoliciesP123subsubCAP12P1CRL"};
  1320. PkitsTestInfo info;
  1321. info.test_number = "4.8.7";
  1322. info.should_validate = false;
  1323. info.SetUserConstrainedPolicySet("");
  1324. this->RunTest(certs, crls, info);
  1325. }
  1326. // 4.8.8 Different Policies Test8
  1327. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1328. Section8DifferentPoliciesTest8) {
  1329. const char* const certs[] = {"TrustAnchorRootCertificate",
  1330. "PoliciesP12CACert", "PoliciesP12subCAP1Cert",
  1331. "PoliciesP12subsubCAP1P2Cert",
  1332. "DifferentPoliciesTest8EE"};
  1333. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP12CACRL",
  1334. "PoliciesP12subCAP1CRL",
  1335. "PoliciesP12subsubCAP1P2CRL"};
  1336. PkitsTestInfo info;
  1337. info.test_number = "4.8.8";
  1338. info.should_validate = false;
  1339. info.SetUserConstrainedPolicySet("");
  1340. this->RunTest(certs, crls, info);
  1341. }
  1342. // 4.8.9 Different Policies Test9
  1343. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1344. Section8DifferentPoliciesTest9) {
  1345. const char* const certs[] = {
  1346. "TrustAnchorRootCertificate", "PoliciesP123CACert",
  1347. "PoliciesP123subCAP12Cert", "PoliciesP123subsubCAP12P2Cert",
  1348. "PoliciesP123subsubsubCAP12P2P1Cert", "DifferentPoliciesTest9EE"};
  1349. const char* const crls[] = {
  1350. "TrustAnchorRootCRL", "PoliciesP123CACRL", "PoliciesP123subCAP12CRL",
  1351. "PoliciesP123subsubCAP2P2CRL", "PoliciesP123subsubsubCAP12P2P1CRL"};
  1352. PkitsTestInfo info;
  1353. info.test_number = "4.8.9";
  1354. info.should_validate = false;
  1355. info.SetUserConstrainedPolicySet("");
  1356. this->RunTest(certs, crls, info);
  1357. }
  1358. // 4.8.10 All Certificates Same Policies Test10 (Subpart 1)
  1359. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1360. Section8AllCertificatesSamePoliciesTest10Subpart1) {
  1361. const char* const certs[] = {"TrustAnchorRootCertificate",
  1362. "PoliciesP12CACert",
  1363. "AllCertificatesSamePoliciesTest10EE"};
  1364. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP12CACRL"};
  1365. PkitsTestInfo info;
  1366. info.test_number = "4.8.10";
  1367. info.should_validate = true;
  1368. info.SetUserConstrainedPolicySet("NIST-test-policy-1,NIST-test-policy-2");
  1369. this->RunTest(certs, crls, info);
  1370. }
  1371. // 4.8.10 All Certificates Same Policies Test10 (Subpart 2)
  1372. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1373. Section8AllCertificatesSamePoliciesTest10Subpart2) {
  1374. const char* const certs[] = {"TrustAnchorRootCertificate",
  1375. "PoliciesP12CACert",
  1376. "AllCertificatesSamePoliciesTest10EE"};
  1377. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP12CACRL"};
  1378. PkitsTestInfo info;
  1379. info.test_number = "4.8.10";
  1380. info.should_validate = true;
  1381. info.SetInitialPolicySet("NIST-test-policy-1");
  1382. this->RunTest(certs, crls, info);
  1383. }
  1384. // 4.8.10 All Certificates Same Policies Test10 (Subpart 3)
  1385. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1386. Section8AllCertificatesSamePoliciesTest10Subpart3) {
  1387. const char* const certs[] = {"TrustAnchorRootCertificate",
  1388. "PoliciesP12CACert",
  1389. "AllCertificatesSamePoliciesTest10EE"};
  1390. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP12CACRL"};
  1391. PkitsTestInfo info;
  1392. info.test_number = "4.8.10";
  1393. info.should_validate = true;
  1394. info.SetInitialPolicySet("NIST-test-policy-2");
  1395. info.SetUserConstrainedPolicySet("NIST-test-policy-2");
  1396. this->RunTest(certs, crls, info);
  1397. }
  1398. // 4.8.11 All Certificates AnyPolicy Test11 (Subpart 1)
  1399. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1400. Section8AllCertificatesAnyPolicyTest11Subpart1) {
  1401. const char* const certs[] = {"TrustAnchorRootCertificate", "anyPolicyCACert",
  1402. "AllCertificatesanyPolicyTest11EE"};
  1403. const char* const crls[] = {"TrustAnchorRootCRL", "anyPolicyCACRL"};
  1404. PkitsTestInfo info;
  1405. info.test_number = "4.8.11";
  1406. info.should_validate = true;
  1407. info.SetUserConstrainedPolicySet("anyPolicy");
  1408. this->RunTest(certs, crls, info);
  1409. }
  1410. // 4.8.11 All Certificates AnyPolicy Test11 (Subpart 2)
  1411. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1412. Section8AllCertificatesAnyPolicyTest11Subpart2) {
  1413. const char* const certs[] = {"TrustAnchorRootCertificate", "anyPolicyCACert",
  1414. "AllCertificatesanyPolicyTest11EE"};
  1415. const char* const crls[] = {"TrustAnchorRootCRL", "anyPolicyCACRL"};
  1416. PkitsTestInfo info;
  1417. info.test_number = "4.8.11";
  1418. info.should_validate = true;
  1419. info.SetInitialPolicySet("NIST-test-policy-1");
  1420. this->RunTest(certs, crls, info);
  1421. }
  1422. // 4.8.12 Different Policies Test12
  1423. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1424. Section8DifferentPoliciesTest12) {
  1425. const char* const certs[] = {"TrustAnchorRootCertificate", "PoliciesP3CACert",
  1426. "DifferentPoliciesTest12EE"};
  1427. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP3CACRL"};
  1428. PkitsTestInfo info;
  1429. info.test_number = "4.8.12";
  1430. info.should_validate = false;
  1431. info.SetUserConstrainedPolicySet("");
  1432. this->RunTest(certs, crls, info);
  1433. }
  1434. // 4.8.13 All Certificates Same Policies Test13 (Subpart 1)
  1435. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1436. Section8AllCertificatesSamePoliciesTest13Subpart1) {
  1437. const char* const certs[] = {"TrustAnchorRootCertificate",
  1438. "PoliciesP123CACert",
  1439. "AllCertificatesSamePoliciesTest13EE"};
  1440. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP123CACRL"};
  1441. PkitsTestInfo info;
  1442. info.test_number = "4.8.13";
  1443. info.should_validate = true;
  1444. info.SetInitialPolicySet("NIST-test-policy-1");
  1445. this->RunTest(certs, crls, info);
  1446. }
  1447. // 4.8.13 All Certificates Same Policies Test13 (Subpart 2)
  1448. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1449. Section8AllCertificatesSamePoliciesTest13Subpart2) {
  1450. const char* const certs[] = {"TrustAnchorRootCertificate",
  1451. "PoliciesP123CACert",
  1452. "AllCertificatesSamePoliciesTest13EE"};
  1453. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP123CACRL"};
  1454. PkitsTestInfo info;
  1455. info.test_number = "4.8.13";
  1456. info.should_validate = true;
  1457. info.SetInitialPolicySet("NIST-test-policy-2");
  1458. info.SetUserConstrainedPolicySet("NIST-test-policy-2");
  1459. this->RunTest(certs, crls, info);
  1460. }
  1461. // 4.8.13 All Certificates Same Policies Test13 (Subpart 3)
  1462. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1463. Section8AllCertificatesSamePoliciesTest13Subpart3) {
  1464. const char* const certs[] = {"TrustAnchorRootCertificate",
  1465. "PoliciesP123CACert",
  1466. "AllCertificatesSamePoliciesTest13EE"};
  1467. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP123CACRL"};
  1468. PkitsTestInfo info;
  1469. info.test_number = "4.8.13";
  1470. info.should_validate = true;
  1471. info.SetInitialPolicySet("NIST-test-policy-3");
  1472. info.SetUserConstrainedPolicySet("NIST-test-policy-3");
  1473. this->RunTest(certs, crls, info);
  1474. }
  1475. // 4.8.14 AnyPolicy Test14 (Subpart 1)
  1476. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1477. Section8AnyPolicyTest14Subpart1) {
  1478. const char* const certs[] = {"TrustAnchorRootCertificate", "anyPolicyCACert",
  1479. "AnyPolicyTest14EE"};
  1480. const char* const crls[] = {"TrustAnchorRootCRL", "anyPolicyCACRL"};
  1481. PkitsTestInfo info;
  1482. info.test_number = "4.8.14";
  1483. info.should_validate = true;
  1484. info.SetInitialPolicySet("NIST-test-policy-1");
  1485. this->RunTest(certs, crls, info);
  1486. }
  1487. // 4.8.14 AnyPolicy Test14 (Subpart 2)
  1488. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1489. Section8AnyPolicyTest14Subpart2) {
  1490. const char* const certs[] = {"TrustAnchorRootCertificate", "anyPolicyCACert",
  1491. "AnyPolicyTest14EE"};
  1492. const char* const crls[] = {"TrustAnchorRootCRL", "anyPolicyCACRL"};
  1493. PkitsTestInfo info;
  1494. info.test_number = "4.8.14";
  1495. info.should_validate = false;
  1496. info.SetInitialPolicySet("NIST-test-policy-2");
  1497. info.SetUserConstrainedPolicySet("");
  1498. this->RunTest(certs, crls, info);
  1499. }
  1500. // 4.8.15 User Notice Qualifier Test15
  1501. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1502. Section8UserNoticeQualifierTest15) {
  1503. const char* const certs[] = {"TrustAnchorRootCertificate",
  1504. "UserNoticeQualifierTest15EE"};
  1505. const char* const crls[] = {"TrustAnchorRootCRL"};
  1506. PkitsTestInfo info;
  1507. info.test_number = "4.8.15";
  1508. info.should_validate = true;
  1509. this->RunTest(certs, crls, info);
  1510. }
  1511. // 4.8.16 User Notice Qualifier Test16
  1512. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1513. Section8UserNoticeQualifierTest16) {
  1514. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1515. "UserNoticeQualifierTest16EE"};
  1516. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1517. PkitsTestInfo info;
  1518. info.test_number = "4.8.16";
  1519. info.should_validate = true;
  1520. this->RunTest(certs, crls, info);
  1521. }
  1522. // 4.8.17 User Notice Qualifier Test17
  1523. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1524. Section8UserNoticeQualifierTest17) {
  1525. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1526. "UserNoticeQualifierTest17EE"};
  1527. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1528. PkitsTestInfo info;
  1529. info.test_number = "4.8.17";
  1530. info.should_validate = true;
  1531. this->RunTest(certs, crls, info);
  1532. }
  1533. // 4.8.18 User Notice Qualifier Test18 (Subpart 1)
  1534. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1535. Section8UserNoticeQualifierTest18Subpart1) {
  1536. const char* const certs[] = {"TrustAnchorRootCertificate",
  1537. "PoliciesP12CACert",
  1538. "UserNoticeQualifierTest18EE"};
  1539. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP12CACRL"};
  1540. PkitsTestInfo info;
  1541. info.test_number = "4.8.18";
  1542. info.should_validate = true;
  1543. info.SetInitialPolicySet("NIST-test-policy-1");
  1544. this->RunTest(certs, crls, info);
  1545. }
  1546. // 4.8.18 User Notice Qualifier Test18 (Subpart 2)
  1547. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1548. Section8UserNoticeQualifierTest18Subpart2) {
  1549. const char* const certs[] = {"TrustAnchorRootCertificate",
  1550. "PoliciesP12CACert",
  1551. "UserNoticeQualifierTest18EE"};
  1552. const char* const crls[] = {"TrustAnchorRootCRL", "PoliciesP12CACRL"};
  1553. PkitsTestInfo info;
  1554. info.test_number = "4.8.18";
  1555. info.should_validate = true;
  1556. info.SetInitialPolicySet("NIST-test-policy-2");
  1557. info.SetUserConstrainedPolicySet("NIST-test-policy-2");
  1558. this->RunTest(certs, crls, info);
  1559. }
  1560. // 4.8.19 User Notice Qualifier Test19
  1561. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1562. Section8UserNoticeQualifierTest19) {
  1563. const char* const certs[] = {"TrustAnchorRootCertificate",
  1564. "UserNoticeQualifierTest19EE"};
  1565. const char* const crls[] = {"TrustAnchorRootCRL"};
  1566. PkitsTestInfo info;
  1567. info.test_number = "4.8.19";
  1568. info.should_validate = true;
  1569. this->RunTest(certs, crls, info);
  1570. }
  1571. // 4.8.20 CPS Pointer Qualifier Test20
  1572. WRAPPED_TYPED_TEST_P(PkitsTest08CertificatePolicies,
  1573. Section8CPSPointerQualifierTest20) {
  1574. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  1575. "CPSPointerQualifierTest20EE"};
  1576. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  1577. PkitsTestInfo info;
  1578. info.test_number = "4.8.20";
  1579. info.should_validate = true;
  1580. info.SetInitialPolicySet("NIST-test-policy-1");
  1581. info.SetInitialExplicitPolicy(true);
  1582. this->RunTest(certs, crls, info);
  1583. }
  1584. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  1585. PkitsTest08CertificatePolicies,
  1586. Section8AllCertificatesSamePolicyTest1Subpart1,
  1587. Section8AllCertificatesSamePolicyTest1Subpart2,
  1588. Section8AllCertificatesSamePolicyTest1Subpart3,
  1589. Section8AllCertificatesSamePolicyTest1Subpart4,
  1590. Section8AllCertificatesNoPoliciesTest2Subpart1,
  1591. Section8AllCertificatesNoPoliciesTest2Subpart2,
  1592. Section8DifferentPoliciesTest3Subpart1,
  1593. Section8DifferentPoliciesTest3Subpart2,
  1594. Section8DifferentPoliciesTest3Subpart3,
  1595. Section8DifferentPoliciesTest4,
  1596. Section8DifferentPoliciesTest5,
  1597. Section8OverlappingPoliciesTest6Subpart1,
  1598. Section8OverlappingPoliciesTest6Subpart2,
  1599. Section8OverlappingPoliciesTest6Subpart3,
  1600. Section8DifferentPoliciesTest7,
  1601. Section8DifferentPoliciesTest8,
  1602. Section8DifferentPoliciesTest9,
  1603. Section8AllCertificatesSamePoliciesTest10Subpart1,
  1604. Section8AllCertificatesSamePoliciesTest10Subpart2,
  1605. Section8AllCertificatesSamePoliciesTest10Subpart3,
  1606. Section8AllCertificatesAnyPolicyTest11Subpart1,
  1607. Section8AllCertificatesAnyPolicyTest11Subpart2,
  1608. Section8DifferentPoliciesTest12,
  1609. Section8AllCertificatesSamePoliciesTest13Subpart1,
  1610. Section8AllCertificatesSamePoliciesTest13Subpart2,
  1611. Section8AllCertificatesSamePoliciesTest13Subpart3,
  1612. Section8AnyPolicyTest14Subpart1,
  1613. Section8AnyPolicyTest14Subpart2,
  1614. Section8UserNoticeQualifierTest15,
  1615. Section8UserNoticeQualifierTest16,
  1616. Section8UserNoticeQualifierTest17,
  1617. Section8UserNoticeQualifierTest18Subpart1,
  1618. Section8UserNoticeQualifierTest18Subpart2,
  1619. Section8UserNoticeQualifierTest19,
  1620. Section8CPSPointerQualifierTest20);
  1621. template <typename PkitsTestDelegate>
  1622. class PkitsTest09RequireExplicitPolicy : public PkitsTest<PkitsTestDelegate> {};
  1623. TYPED_TEST_SUITE_P(PkitsTest09RequireExplicitPolicy);
  1624. // 4.9.1 Valid RequireExplicitPolicy Test1
  1625. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1626. Section9ValidRequireExplicitPolicyTest1) {
  1627. const char* const certs[] = {"TrustAnchorRootCertificate",
  1628. "requireExplicitPolicy10CACert",
  1629. "requireExplicitPolicy10subCACert",
  1630. "requireExplicitPolicy10subsubCACert",
  1631. "requireExplicitPolicy10subsubsubCACert",
  1632. "ValidrequireExplicitPolicyTest1EE"};
  1633. const char* const crls[] = {
  1634. "TrustAnchorRootCRL", "requireExplicitPolicy10CACRL",
  1635. "requireExplicitPolicy10subCACRL", "requireExplicitPolicy10subsubCACRL",
  1636. "requireExplicitPolicy10subsubsubCACRL"};
  1637. PkitsTestInfo info;
  1638. info.test_number = "4.9.1";
  1639. info.should_validate = true;
  1640. info.SetUserConstrainedPolicySet("");
  1641. this->RunTest(certs, crls, info);
  1642. }
  1643. // 4.9.2 Valid RequireExplicitPolicy Test2
  1644. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1645. Section9ValidRequireExplicitPolicyTest2) {
  1646. const char* const certs[] = {"TrustAnchorRootCertificate",
  1647. "requireExplicitPolicy5CACert",
  1648. "requireExplicitPolicy5subCACert",
  1649. "requireExplicitPolicy5subsubCACert",
  1650. "requireExplicitPolicy5subsubsubCACert",
  1651. "ValidrequireExplicitPolicyTest2EE"};
  1652. const char* const crls[] = {
  1653. "TrustAnchorRootCRL", "requireExplicitPolicy5CACRL",
  1654. "requireExplicitPolicy5subCACRL", "requireExplicitPolicy5subsubCACRL",
  1655. "requireExplicitPolicy5subsubsubCACRL"};
  1656. PkitsTestInfo info;
  1657. info.test_number = "4.9.2";
  1658. info.should_validate = true;
  1659. info.SetUserConstrainedPolicySet("");
  1660. this->RunTest(certs, crls, info);
  1661. }
  1662. // 4.9.3 Invalid RequireExplicitPolicy Test3
  1663. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1664. Section9InvalidRequireExplicitPolicyTest3) {
  1665. const char* const certs[] = {"TrustAnchorRootCertificate",
  1666. "requireExplicitPolicy4CACert",
  1667. "requireExplicitPolicy4subCACert",
  1668. "requireExplicitPolicy4subsubCACert",
  1669. "requireExplicitPolicy4subsubsubCACert",
  1670. "InvalidrequireExplicitPolicyTest3EE"};
  1671. const char* const crls[] = {
  1672. "TrustAnchorRootCRL", "requireExplicitPolicy4CACRL",
  1673. "requireExplicitPolicy4subCACRL", "requireExplicitPolicy4subsubCACRL",
  1674. "requireExplicitPolicy4subsubsubCACRL"};
  1675. PkitsTestInfo info;
  1676. info.test_number = "4.9.3";
  1677. info.should_validate = false;
  1678. info.SetUserConstrainedPolicySet("");
  1679. this->RunTest(certs, crls, info);
  1680. }
  1681. // 4.9.4 Valid RequireExplicitPolicy Test4
  1682. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1683. Section9ValidRequireExplicitPolicyTest4) {
  1684. const char* const certs[] = {"TrustAnchorRootCertificate",
  1685. "requireExplicitPolicy0CACert",
  1686. "requireExplicitPolicy0subCACert",
  1687. "requireExplicitPolicy0subsubCACert",
  1688. "requireExplicitPolicy0subsubsubCACert",
  1689. "ValidrequireExplicitPolicyTest4EE"};
  1690. const char* const crls[] = {
  1691. "TrustAnchorRootCRL", "requireExplicitPolicy0CACRL",
  1692. "requireExplicitPolicy0subCACRL", "requireExplicitPolicy0subsubCACRL",
  1693. "requireExplicitPolicy0subsubsubCACRL"};
  1694. PkitsTestInfo info;
  1695. info.test_number = "4.9.4";
  1696. info.should_validate = true;
  1697. this->RunTest(certs, crls, info);
  1698. }
  1699. // 4.9.5 Invalid RequireExplicitPolicy Test5
  1700. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1701. Section9InvalidRequireExplicitPolicyTest5) {
  1702. const char* const certs[] = {"TrustAnchorRootCertificate",
  1703. "requireExplicitPolicy7CACert",
  1704. "requireExplicitPolicy7subCARE2Cert",
  1705. "requireExplicitPolicy7subsubCARE2RE4Cert",
  1706. "requireExplicitPolicy7subsubsubCARE2RE4Cert",
  1707. "InvalidrequireExplicitPolicyTest5EE"};
  1708. const char* const crls[] = {"TrustAnchorRootCRL",
  1709. "requireExplicitPolicy7CACRL",
  1710. "requireExplicitPolicy7subCARE2CRL",
  1711. "requireExplicitPolicy7subsubCARE2RE4CRL",
  1712. "requireExplicitPolicy7subsubsubCARE2RE4CRL"};
  1713. PkitsTestInfo info;
  1714. info.test_number = "4.9.5";
  1715. info.should_validate = false;
  1716. info.SetUserConstrainedPolicySet("");
  1717. this->RunTest(certs, crls, info);
  1718. }
  1719. // 4.9.6 Valid Self-Issued requireExplicitPolicy Test6
  1720. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1721. Section9ValidSelfIssuedrequireExplicitPolicyTest6) {
  1722. const char* const certs[] = {"TrustAnchorRootCertificate",
  1723. "requireExplicitPolicy2CACert",
  1724. "requireExplicitPolicy2SelfIssuedCACert",
  1725. "ValidSelfIssuedrequireExplicitPolicyTest6EE"};
  1726. const char* const crls[] = {"TrustAnchorRootCRL",
  1727. "requireExplicitPolicy2CACRL"};
  1728. PkitsTestInfo info;
  1729. info.test_number = "4.9.6";
  1730. info.should_validate = true;
  1731. info.SetUserConstrainedPolicySet("");
  1732. this->RunTest(certs, crls, info);
  1733. }
  1734. // 4.9.7 Invalid Self-Issued requireExplicitPolicy Test7
  1735. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1736. Section9InvalidSelfIssuedrequireExplicitPolicyTest7) {
  1737. const char* const certs[] = {"TrustAnchorRootCertificate",
  1738. "requireExplicitPolicy2CACert",
  1739. "requireExplicitPolicy2SelfIssuedCACert",
  1740. "requireExplicitPolicy2subCACert",
  1741. "InvalidSelfIssuedrequireExplicitPolicyTest7EE"};
  1742. const char* const crls[] = {"TrustAnchorRootCRL",
  1743. "requireExplicitPolicy2CACRL",
  1744. "requireExplicitPolicy2subCACRL"};
  1745. PkitsTestInfo info;
  1746. info.test_number = "4.9.7";
  1747. info.should_validate = false;
  1748. info.SetUserConstrainedPolicySet("");
  1749. this->RunTest(certs, crls, info);
  1750. }
  1751. // 4.9.8 Invalid Self-Issued requireExplicitPolicy Test8
  1752. WRAPPED_TYPED_TEST_P(PkitsTest09RequireExplicitPolicy,
  1753. Section9InvalidSelfIssuedrequireExplicitPolicyTest8) {
  1754. const char* const certs[] = {"TrustAnchorRootCertificate",
  1755. "requireExplicitPolicy2CACert",
  1756. "requireExplicitPolicy2SelfIssuedCACert",
  1757. "requireExplicitPolicy2subCACert",
  1758. "requireExplicitPolicy2SelfIssuedsubCACert",
  1759. "InvalidSelfIssuedrequireExplicitPolicyTest8EE"};
  1760. const char* const crls[] = {"TrustAnchorRootCRL",
  1761. "requireExplicitPolicy2CACRL",
  1762. "requireExplicitPolicy2subCACRL"};
  1763. PkitsTestInfo info;
  1764. info.test_number = "4.9.8";
  1765. info.should_validate = false;
  1766. info.SetUserConstrainedPolicySet("");
  1767. this->RunTest(certs, crls, info);
  1768. }
  1769. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  1770. PkitsTest09RequireExplicitPolicy,
  1771. Section9ValidRequireExplicitPolicyTest1,
  1772. Section9ValidRequireExplicitPolicyTest2,
  1773. Section9InvalidRequireExplicitPolicyTest3,
  1774. Section9ValidRequireExplicitPolicyTest4,
  1775. Section9InvalidRequireExplicitPolicyTest5,
  1776. Section9ValidSelfIssuedrequireExplicitPolicyTest6,
  1777. Section9InvalidSelfIssuedrequireExplicitPolicyTest7,
  1778. Section9InvalidSelfIssuedrequireExplicitPolicyTest8);
  1779. template <typename PkitsTestDelegate>
  1780. class PkitsTest10PolicyMappings : public PkitsTest<PkitsTestDelegate> {};
  1781. TYPED_TEST_SUITE_P(PkitsTest10PolicyMappings);
  1782. // 4.10.1 Valid Policy Mapping Test1 (Subpart 1)
  1783. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1784. Section10ValidPolicyMappingTest1Subpart1) {
  1785. const char* const certs[] = {"TrustAnchorRootCertificate",
  1786. "Mapping1to2CACert",
  1787. "ValidPolicyMappingTest1EE"};
  1788. const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"};
  1789. PkitsTestInfo info;
  1790. info.test_number = "4.10.1";
  1791. info.should_validate = true;
  1792. info.SetInitialPolicySet("NIST-test-policy-1");
  1793. this->RunTest(certs, crls, info);
  1794. }
  1795. // 4.10.1 Valid Policy Mapping Test1 (Subpart 2)
  1796. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1797. Section10ValidPolicyMappingTest1Subpart2) {
  1798. const char* const certs[] = {"TrustAnchorRootCertificate",
  1799. "Mapping1to2CACert",
  1800. "ValidPolicyMappingTest1EE"};
  1801. const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"};
  1802. PkitsTestInfo info;
  1803. info.test_number = "4.10.1";
  1804. info.should_validate = false;
  1805. info.SetInitialPolicySet("NIST-test-policy-2");
  1806. info.SetUserConstrainedPolicySet("");
  1807. this->RunTest(certs, crls, info);
  1808. }
  1809. // 4.10.1 Valid Policy Mapping Test1 (Subpart 3)
  1810. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1811. Section10ValidPolicyMappingTest1Subpart3) {
  1812. const char* const certs[] = {"TrustAnchorRootCertificate",
  1813. "Mapping1to2CACert",
  1814. "ValidPolicyMappingTest1EE"};
  1815. const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"};
  1816. PkitsTestInfo info;
  1817. info.test_number = "4.10.1";
  1818. info.should_validate = false;
  1819. info.SetInitialPolicyMappingInhibit(true);
  1820. info.SetUserConstrainedPolicySet("");
  1821. this->RunTest(certs, crls, info);
  1822. }
  1823. // 4.10.2 Invalid Policy Mapping Test2 (Subpart 1)
  1824. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1825. Section10InvalidPolicyMappingTest2Subpart1) {
  1826. const char* const certs[] = {"TrustAnchorRootCertificate",
  1827. "Mapping1to2CACert",
  1828. "InvalidPolicyMappingTest2EE"};
  1829. const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"};
  1830. PkitsTestInfo info;
  1831. info.test_number = "4.10.2";
  1832. info.should_validate = false;
  1833. info.SetUserConstrainedPolicySet("");
  1834. this->RunTest(certs, crls, info);
  1835. }
  1836. // 4.10.2 Invalid Policy Mapping Test2 (Subpart 2)
  1837. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1838. Section10InvalidPolicyMappingTest2Subpart2) {
  1839. const char* const certs[] = {"TrustAnchorRootCertificate",
  1840. "Mapping1to2CACert",
  1841. "InvalidPolicyMappingTest2EE"};
  1842. const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"};
  1843. PkitsTestInfo info;
  1844. info.test_number = "4.10.2";
  1845. info.should_validate = false;
  1846. info.SetInitialPolicyMappingInhibit(true);
  1847. info.SetUserConstrainedPolicySet("");
  1848. this->RunTest(certs, crls, info);
  1849. }
  1850. // 4.10.3 Valid Policy Mapping Test3 (Subpart 1)
  1851. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1852. Section10ValidPolicyMappingTest3Subpart1) {
  1853. const char* const certs[] = {
  1854. "TrustAnchorRootCertificate", "P12Mapping1to3CACert",
  1855. "P12Mapping1to3subCACert", "P12Mapping1to3subsubCACert",
  1856. "ValidPolicyMappingTest3EE"};
  1857. const char* const crls[] = {"TrustAnchorRootCRL", "P12Mapping1to3CACRL",
  1858. "P12Mapping1to3subCACRL",
  1859. "P12Mapping1to3subsubCACRL"};
  1860. PkitsTestInfo info;
  1861. info.test_number = "4.10.3";
  1862. info.should_validate = false;
  1863. info.SetInitialPolicySet("NIST-test-policy-1");
  1864. info.SetUserConstrainedPolicySet("");
  1865. this->RunTest(certs, crls, info);
  1866. }
  1867. // 4.10.3 Valid Policy Mapping Test3 (Subpart 2)
  1868. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1869. Section10ValidPolicyMappingTest3Subpart2) {
  1870. const char* const certs[] = {
  1871. "TrustAnchorRootCertificate", "P12Mapping1to3CACert",
  1872. "P12Mapping1to3subCACert", "P12Mapping1to3subsubCACert",
  1873. "ValidPolicyMappingTest3EE"};
  1874. const char* const crls[] = {"TrustAnchorRootCRL", "P12Mapping1to3CACRL",
  1875. "P12Mapping1to3subCACRL",
  1876. "P12Mapping1to3subsubCACRL"};
  1877. PkitsTestInfo info;
  1878. info.test_number = "4.10.3";
  1879. info.should_validate = true;
  1880. info.SetInitialPolicySet("NIST-test-policy-2");
  1881. info.SetUserConstrainedPolicySet("NIST-test-policy-2");
  1882. this->RunTest(certs, crls, info);
  1883. }
  1884. // 4.10.4 Invalid Policy Mapping Test4
  1885. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1886. Section10InvalidPolicyMappingTest4) {
  1887. const char* const certs[] = {
  1888. "TrustAnchorRootCertificate", "P12Mapping1to3CACert",
  1889. "P12Mapping1to3subCACert", "P12Mapping1to3subsubCACert",
  1890. "InvalidPolicyMappingTest4EE"};
  1891. const char* const crls[] = {"TrustAnchorRootCRL", "P12Mapping1to3CACRL",
  1892. "P12Mapping1to3subCACRL",
  1893. "P12Mapping1to3subsubCACRL"};
  1894. PkitsTestInfo info;
  1895. info.test_number = "4.10.4";
  1896. info.should_validate = false;
  1897. info.SetUserConstrainedPolicySet("");
  1898. this->RunTest(certs, crls, info);
  1899. }
  1900. // 4.10.5 Valid Policy Mapping Test5 (Subpart 1)
  1901. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1902. Section10ValidPolicyMappingTest5Subpart1) {
  1903. const char* const certs[] = {
  1904. "TrustAnchorRootCertificate", "P1Mapping1to234CACert",
  1905. "P1Mapping1to234subCACert", "ValidPolicyMappingTest5EE"};
  1906. const char* const crls[] = {"TrustAnchorRootCRL", "P1Mapping1to234CACRL",
  1907. "P1Mapping1to234subCACRL"};
  1908. PkitsTestInfo info;
  1909. info.test_number = "4.10.5";
  1910. info.should_validate = true;
  1911. info.SetInitialPolicySet("NIST-test-policy-1");
  1912. this->RunTest(certs, crls, info);
  1913. }
  1914. // 4.10.5 Valid Policy Mapping Test5 (Subpart 2)
  1915. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1916. Section10ValidPolicyMappingTest5Subpart2) {
  1917. const char* const certs[] = {
  1918. "TrustAnchorRootCertificate", "P1Mapping1to234CACert",
  1919. "P1Mapping1to234subCACert", "ValidPolicyMappingTest5EE"};
  1920. const char* const crls[] = {"TrustAnchorRootCRL", "P1Mapping1to234CACRL",
  1921. "P1Mapping1to234subCACRL"};
  1922. PkitsTestInfo info;
  1923. info.test_number = "4.10.5";
  1924. info.should_validate = false;
  1925. info.SetInitialPolicySet("NIST-test-policy-6");
  1926. info.SetUserConstrainedPolicySet("");
  1927. this->RunTest(certs, crls, info);
  1928. }
  1929. // 4.10.6 Valid Policy Mapping Test6 (Subpart 1)
  1930. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1931. Section10ValidPolicyMappingTest6Subpart1) {
  1932. const char* const certs[] = {
  1933. "TrustAnchorRootCertificate", "P1Mapping1to234CACert",
  1934. "P1Mapping1to234subCACert", "ValidPolicyMappingTest6EE"};
  1935. const char* const crls[] = {"TrustAnchorRootCRL", "P1Mapping1to234CACRL",
  1936. "P1Mapping1to234subCACRL"};
  1937. PkitsTestInfo info;
  1938. info.test_number = "4.10.6";
  1939. info.should_validate = true;
  1940. info.SetInitialPolicySet("NIST-test-policy-1");
  1941. this->RunTest(certs, crls, info);
  1942. }
  1943. // 4.10.6 Valid Policy Mapping Test6 (Subpart 2)
  1944. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1945. Section10ValidPolicyMappingTest6Subpart2) {
  1946. const char* const certs[] = {
  1947. "TrustAnchorRootCertificate", "P1Mapping1to234CACert",
  1948. "P1Mapping1to234subCACert", "ValidPolicyMappingTest6EE"};
  1949. const char* const crls[] = {"TrustAnchorRootCRL", "P1Mapping1to234CACRL",
  1950. "P1Mapping1to234subCACRL"};
  1951. PkitsTestInfo info;
  1952. info.test_number = "4.10.6";
  1953. info.should_validate = false;
  1954. info.SetInitialPolicySet("NIST-test-policy-6");
  1955. info.SetUserConstrainedPolicySet("");
  1956. this->RunTest(certs, crls, info);
  1957. }
  1958. // 4.10.7 Invalid Mapping From anyPolicy Test7
  1959. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1960. Section10InvalidMappingFromanyPolicyTest7) {
  1961. const char* const certs[] = {"TrustAnchorRootCertificate",
  1962. "MappingFromanyPolicyCACert",
  1963. "InvalidMappingFromanyPolicyTest7EE"};
  1964. const char* const crls[] = {"TrustAnchorRootCRL",
  1965. "MappingFromanyPolicyCACRL"};
  1966. PkitsTestInfo info;
  1967. info.test_number = "4.10.7";
  1968. info.should_validate = false;
  1969. info.SetUserConstrainedPolicySet("");
  1970. this->RunTest(certs, crls, info);
  1971. }
  1972. // 4.10.8 Invalid Mapping To anyPolicy Test8
  1973. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1974. Section10InvalidMappingToanyPolicyTest8) {
  1975. const char* const certs[] = {"TrustAnchorRootCertificate",
  1976. "MappingToanyPolicyCACert",
  1977. "InvalidMappingToanyPolicyTest8EE"};
  1978. const char* const crls[] = {"TrustAnchorRootCRL", "MappingToanyPolicyCACRL"};
  1979. PkitsTestInfo info;
  1980. info.test_number = "4.10.8";
  1981. info.should_validate = false;
  1982. info.SetUserConstrainedPolicySet("");
  1983. this->RunTest(certs, crls, info);
  1984. }
  1985. // 4.10.9 Valid Policy Mapping Test9
  1986. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  1987. Section10ValidPolicyMappingTest9) {
  1988. const char* const certs[] = {"TrustAnchorRootCertificate",
  1989. "PanyPolicyMapping1to2CACert",
  1990. "ValidPolicyMappingTest9EE"};
  1991. const char* const crls[] = {"TrustAnchorRootCRL",
  1992. "PanyPolicyMapping1to2CACRL"};
  1993. PkitsTestInfo info;
  1994. info.test_number = "4.10.9";
  1995. info.should_validate = true;
  1996. this->RunTest(certs, crls, info);
  1997. }
  1998. // 4.10.10 Invalid Policy Mapping Test10
  1999. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  2000. Section10InvalidPolicyMappingTest10) {
  2001. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  2002. "GoodsubCAPanyPolicyMapping1to2CACert",
  2003. "InvalidPolicyMappingTest10EE"};
  2004. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  2005. "GoodsubCAPanyPolicyMapping1to2CACRL"};
  2006. PkitsTestInfo info;
  2007. info.test_number = "4.10.10";
  2008. info.should_validate = false;
  2009. info.SetUserConstrainedPolicySet("");
  2010. this->RunTest(certs, crls, info);
  2011. }
  2012. // 4.10.11 Valid Policy Mapping Test11
  2013. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  2014. Section10ValidPolicyMappingTest11) {
  2015. const char* const certs[] = {"TrustAnchorRootCertificate", "GoodCACert",
  2016. "GoodsubCAPanyPolicyMapping1to2CACert",
  2017. "ValidPolicyMappingTest11EE"};
  2018. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL",
  2019. "GoodsubCAPanyPolicyMapping1to2CACRL"};
  2020. PkitsTestInfo info;
  2021. info.test_number = "4.10.11";
  2022. info.should_validate = true;
  2023. this->RunTest(certs, crls, info);
  2024. }
  2025. // 4.10.12 Valid Policy Mapping Test12 (Subpart 1)
  2026. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  2027. Section10ValidPolicyMappingTest12Subpart1) {
  2028. const char* const certs[] = {"TrustAnchorRootCertificate",
  2029. "P12Mapping1to3CACert",
  2030. "ValidPolicyMappingTest12EE"};
  2031. const char* const crls[] = {"TrustAnchorRootCRL", "P12Mapping1to3CACRL"};
  2032. PkitsTestInfo info;
  2033. info.test_number = "4.10.12";
  2034. info.should_validate = true;
  2035. info.SetInitialPolicySet("NIST-test-policy-1");
  2036. this->RunTest(certs, crls, info);
  2037. }
  2038. // 4.10.12 Valid Policy Mapping Test12 (Subpart 2)
  2039. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  2040. Section10ValidPolicyMappingTest12Subpart2) {
  2041. const char* const certs[] = {"TrustAnchorRootCertificate",
  2042. "P12Mapping1to3CACert",
  2043. "ValidPolicyMappingTest12EE"};
  2044. const char* const crls[] = {"TrustAnchorRootCRL", "P12Mapping1to3CACRL"};
  2045. PkitsTestInfo info;
  2046. info.test_number = "4.10.12";
  2047. info.should_validate = true;
  2048. info.SetInitialPolicySet("NIST-test-policy-2");
  2049. info.SetUserConstrainedPolicySet("NIST-test-policy-2");
  2050. this->RunTest(certs, crls, info);
  2051. }
  2052. // 4.10.13 Valid Policy Mapping Test13
  2053. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  2054. Section10ValidPolicyMappingTest13) {
  2055. const char* const certs[] = {"TrustAnchorRootCertificate",
  2056. "P1anyPolicyMapping1to2CACert",
  2057. "ValidPolicyMappingTest13EE"};
  2058. const char* const crls[] = {"TrustAnchorRootCRL",
  2059. "P1anyPolicyMapping1to2CACRL"};
  2060. PkitsTestInfo info;
  2061. info.test_number = "4.10.13";
  2062. info.should_validate = true;
  2063. this->RunTest(certs, crls, info);
  2064. }
  2065. // 4.10.14 Valid Policy Mapping Test14
  2066. WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings,
  2067. Section10ValidPolicyMappingTest14) {
  2068. const char* const certs[] = {"TrustAnchorRootCertificate",
  2069. "P1anyPolicyMapping1to2CACert",
  2070. "ValidPolicyMappingTest14EE"};
  2071. const char* const crls[] = {"TrustAnchorRootCRL",
  2072. "P1anyPolicyMapping1to2CACRL"};
  2073. PkitsTestInfo info;
  2074. info.test_number = "4.10.14";
  2075. info.should_validate = true;
  2076. this->RunTest(certs, crls, info);
  2077. }
  2078. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(PkitsTest10PolicyMappings,
  2079. Section10ValidPolicyMappingTest1Subpart1,
  2080. Section10ValidPolicyMappingTest1Subpart2,
  2081. Section10ValidPolicyMappingTest1Subpart3,
  2082. Section10InvalidPolicyMappingTest2Subpart1,
  2083. Section10InvalidPolicyMappingTest2Subpart2,
  2084. Section10ValidPolicyMappingTest3Subpart1,
  2085. Section10ValidPolicyMappingTest3Subpart2,
  2086. Section10InvalidPolicyMappingTest4,
  2087. Section10ValidPolicyMappingTest5Subpart1,
  2088. Section10ValidPolicyMappingTest5Subpart2,
  2089. Section10ValidPolicyMappingTest6Subpart1,
  2090. Section10ValidPolicyMappingTest6Subpart2,
  2091. Section10InvalidMappingFromanyPolicyTest7,
  2092. Section10InvalidMappingToanyPolicyTest8,
  2093. Section10ValidPolicyMappingTest9,
  2094. Section10InvalidPolicyMappingTest10,
  2095. Section10ValidPolicyMappingTest11,
  2096. Section10ValidPolicyMappingTest12Subpart1,
  2097. Section10ValidPolicyMappingTest12Subpart2,
  2098. Section10ValidPolicyMappingTest13,
  2099. Section10ValidPolicyMappingTest14);
  2100. template <typename PkitsTestDelegate>
  2101. class PkitsTest11InhibitPolicyMapping : public PkitsTest<PkitsTestDelegate> {};
  2102. TYPED_TEST_SUITE_P(PkitsTest11InhibitPolicyMapping);
  2103. // 4.11.1 Invalid inhibitPolicyMapping Test1
  2104. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2105. Section11InvalidinhibitPolicyMappingTest1) {
  2106. const char* const certs[] = {
  2107. "TrustAnchorRootCertificate", "inhibitPolicyMapping0CACert",
  2108. "inhibitPolicyMapping0subCACert", "InvalidinhibitPolicyMappingTest1EE"};
  2109. const char* const crls[] = {"TrustAnchorRootCRL",
  2110. "inhibitPolicyMapping0CACRL",
  2111. "inhibitPolicyMapping0subCACRL"};
  2112. PkitsTestInfo info;
  2113. info.test_number = "4.11.1";
  2114. info.should_validate = false;
  2115. info.SetUserConstrainedPolicySet("");
  2116. this->RunTest(certs, crls, info);
  2117. }
  2118. // 4.11.2 Valid inhibitPolicyMapping Test2
  2119. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2120. Section11ValidinhibitPolicyMappingTest2) {
  2121. const char* const certs[] = {
  2122. "TrustAnchorRootCertificate", "inhibitPolicyMapping1P12CACert",
  2123. "inhibitPolicyMapping1P12subCACert", "ValidinhibitPolicyMappingTest2EE"};
  2124. const char* const crls[] = {"TrustAnchorRootCRL",
  2125. "inhibitPolicyMapping1P12CACRL",
  2126. "inhibitPolicyMapping1P12subCACRL"};
  2127. PkitsTestInfo info;
  2128. info.test_number = "4.11.2";
  2129. info.should_validate = true;
  2130. this->RunTest(certs, crls, info);
  2131. }
  2132. // 4.11.3 Invalid inhibitPolicyMapping Test3
  2133. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2134. Section11InvalidinhibitPolicyMappingTest3) {
  2135. const char* const certs[] = {"TrustAnchorRootCertificate",
  2136. "inhibitPolicyMapping1P12CACert",
  2137. "inhibitPolicyMapping1P12subCACert",
  2138. "inhibitPolicyMapping1P12subsubCACert",
  2139. "InvalidinhibitPolicyMappingTest3EE"};
  2140. const char* const crls[] = {"TrustAnchorRootCRL",
  2141. "inhibitPolicyMapping1P12CACRL",
  2142. "inhibitPolicyMapping1P12subCACRL",
  2143. "inhibitPolicyMapping1P12subsubCACRL"};
  2144. PkitsTestInfo info;
  2145. info.test_number = "4.11.3";
  2146. info.should_validate = false;
  2147. info.SetUserConstrainedPolicySet("");
  2148. this->RunTest(certs, crls, info);
  2149. }
  2150. // 4.11.4 Valid inhibitPolicyMapping Test4
  2151. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2152. Section11ValidinhibitPolicyMappingTest4) {
  2153. const char* const certs[] = {"TrustAnchorRootCertificate",
  2154. "inhibitPolicyMapping1P12CACert",
  2155. "inhibitPolicyMapping1P12subCACert",
  2156. "inhibitPolicyMapping1P12subsubCACert",
  2157. "ValidinhibitPolicyMappingTest4EE"};
  2158. const char* const crls[] = {"TrustAnchorRootCRL",
  2159. "inhibitPolicyMapping1P12CACRL",
  2160. "inhibitPolicyMapping1P12subCACRL",
  2161. "inhibitPolicyMapping1P12subsubCACRL"};
  2162. PkitsTestInfo info;
  2163. info.test_number = "4.11.4";
  2164. info.should_validate = true;
  2165. info.SetUserConstrainedPolicySet("NIST-test-policy-2");
  2166. this->RunTest(certs, crls, info);
  2167. }
  2168. // 4.11.5 Invalid inhibitPolicyMapping Test5
  2169. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2170. Section11InvalidinhibitPolicyMappingTest5) {
  2171. const char* const certs[] = {"TrustAnchorRootCertificate",
  2172. "inhibitPolicyMapping5CACert",
  2173. "inhibitPolicyMapping5subCACert",
  2174. "inhibitPolicyMapping5subsubCACert",
  2175. "inhibitPolicyMapping5subsubsubCACert",
  2176. "InvalidinhibitPolicyMappingTest5EE"};
  2177. const char* const crls[] = {
  2178. "TrustAnchorRootCRL", "inhibitPolicyMapping5CACRL",
  2179. "inhibitPolicyMapping5subCACRL", "inhibitPolicyMapping5subsubCACRL",
  2180. "inhibitPolicyMapping5subsubsubCACRL"};
  2181. PkitsTestInfo info;
  2182. info.test_number = "4.11.5";
  2183. info.should_validate = false;
  2184. info.SetUserConstrainedPolicySet("");
  2185. this->RunTest(certs, crls, info);
  2186. }
  2187. // 4.11.6 Invalid inhibitPolicyMapping Test6
  2188. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2189. Section11InvalidinhibitPolicyMappingTest6) {
  2190. const char* const certs[] = {"TrustAnchorRootCertificate",
  2191. "inhibitPolicyMapping1P12CACert",
  2192. "inhibitPolicyMapping1P12subCAIPM5Cert",
  2193. "inhibitPolicyMapping1P12subsubCAIPM5Cert",
  2194. "InvalidinhibitPolicyMappingTest6EE"};
  2195. const char* const crls[] = {"TrustAnchorRootCRL",
  2196. "inhibitPolicyMapping1P12CACRL",
  2197. "inhibitPolicyMapping1P12subCAIPM5CRL",
  2198. "inhibitPolicyMapping1P12subsubCAIPM5CRL"};
  2199. PkitsTestInfo info;
  2200. info.test_number = "4.11.6";
  2201. info.should_validate = false;
  2202. info.SetUserConstrainedPolicySet("");
  2203. this->RunTest(certs, crls, info);
  2204. }
  2205. // 4.11.7 Valid Self-Issued inhibitPolicyMapping Test7
  2206. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2207. Section11ValidSelfIssuedinhibitPolicyMappingTest7) {
  2208. const char* const certs[] = {"TrustAnchorRootCertificate",
  2209. "inhibitPolicyMapping1P1CACert",
  2210. "inhibitPolicyMapping1P1SelfIssuedCACert",
  2211. "inhibitPolicyMapping1P1subCACert",
  2212. "ValidSelfIssuedinhibitPolicyMappingTest7EE"};
  2213. const char* const crls[] = {"TrustAnchorRootCRL",
  2214. "inhibitPolicyMapping1P1CACRL",
  2215. "inhibitPolicyMapping1P1subCACRL"};
  2216. PkitsTestInfo info;
  2217. info.test_number = "4.11.7";
  2218. info.should_validate = true;
  2219. this->RunTest(certs, crls, info);
  2220. }
  2221. // 4.11.8 Invalid Self-Issued inhibitPolicyMapping Test8
  2222. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2223. Section11InvalidSelfIssuedinhibitPolicyMappingTest8) {
  2224. const char* const certs[] = {"TrustAnchorRootCertificate",
  2225. "inhibitPolicyMapping1P1CACert",
  2226. "inhibitPolicyMapping1P1SelfIssuedCACert",
  2227. "inhibitPolicyMapping1P1subCACert",
  2228. "inhibitPolicyMapping1P1subsubCACert",
  2229. "InvalidSelfIssuedinhibitPolicyMappingTest8EE"};
  2230. const char* const crls[] = {
  2231. "TrustAnchorRootCRL", "inhibitPolicyMapping1P1CACRL",
  2232. "inhibitPolicyMapping1P1subCACRL", "inhibitPolicyMapping1P1subsubCACRL"};
  2233. PkitsTestInfo info;
  2234. info.test_number = "4.11.8";
  2235. info.should_validate = false;
  2236. info.SetUserConstrainedPolicySet("");
  2237. this->RunTest(certs, crls, info);
  2238. }
  2239. // 4.11.9 Invalid Self-Issued inhibitPolicyMapping Test9
  2240. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2241. Section11InvalidSelfIssuedinhibitPolicyMappingTest9) {
  2242. const char* const certs[] = {"TrustAnchorRootCertificate",
  2243. "inhibitPolicyMapping1P1CACert",
  2244. "inhibitPolicyMapping1P1SelfIssuedCACert",
  2245. "inhibitPolicyMapping1P1subCACert",
  2246. "inhibitPolicyMapping1P1subsubCACert",
  2247. "InvalidSelfIssuedinhibitPolicyMappingTest9EE"};
  2248. const char* const crls[] = {
  2249. "TrustAnchorRootCRL", "inhibitPolicyMapping1P1CACRL",
  2250. "inhibitPolicyMapping1P1subCACRL", "inhibitPolicyMapping1P1subsubCACRL"};
  2251. PkitsTestInfo info;
  2252. info.test_number = "4.11.9";
  2253. info.should_validate = false;
  2254. info.SetUserConstrainedPolicySet("");
  2255. this->RunTest(certs, crls, info);
  2256. }
  2257. // 4.11.10 Invalid Self-Issued inhibitPolicyMapping Test10
  2258. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2259. Section11InvalidSelfIssuedinhibitPolicyMappingTest10) {
  2260. const char* const certs[] = {"TrustAnchorRootCertificate",
  2261. "inhibitPolicyMapping1P1CACert",
  2262. "inhibitPolicyMapping1P1SelfIssuedCACert",
  2263. "inhibitPolicyMapping1P1subCACert",
  2264. "inhibitPolicyMapping1P1SelfIssuedsubCACert",
  2265. "InvalidSelfIssuedinhibitPolicyMappingTest10EE"};
  2266. const char* const crls[] = {"TrustAnchorRootCRL",
  2267. "inhibitPolicyMapping1P1CACRL",
  2268. "inhibitPolicyMapping1P1subCACRL"};
  2269. PkitsTestInfo info;
  2270. info.test_number = "4.11.10";
  2271. info.should_validate = false;
  2272. info.SetUserConstrainedPolicySet("");
  2273. this->RunTest(certs, crls, info);
  2274. }
  2275. // 4.11.11 Invalid Self-Issued inhibitPolicyMapping Test11
  2276. WRAPPED_TYPED_TEST_P(PkitsTest11InhibitPolicyMapping,
  2277. Section11InvalidSelfIssuedinhibitPolicyMappingTest11) {
  2278. const char* const certs[] = {"TrustAnchorRootCertificate",
  2279. "inhibitPolicyMapping1P1CACert",
  2280. "inhibitPolicyMapping1P1SelfIssuedCACert",
  2281. "inhibitPolicyMapping1P1subCACert",
  2282. "inhibitPolicyMapping1P1SelfIssuedsubCACert",
  2283. "InvalidSelfIssuedinhibitPolicyMappingTest11EE"};
  2284. const char* const crls[] = {"TrustAnchorRootCRL",
  2285. "inhibitPolicyMapping1P1CACRL",
  2286. "inhibitPolicyMapping1P1subCACRL"};
  2287. PkitsTestInfo info;
  2288. info.test_number = "4.11.11";
  2289. info.should_validate = false;
  2290. info.SetUserConstrainedPolicySet("");
  2291. this->RunTest(certs, crls, info);
  2292. }
  2293. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  2294. PkitsTest11InhibitPolicyMapping,
  2295. Section11InvalidinhibitPolicyMappingTest1,
  2296. Section11ValidinhibitPolicyMappingTest2,
  2297. Section11InvalidinhibitPolicyMappingTest3,
  2298. Section11ValidinhibitPolicyMappingTest4,
  2299. Section11InvalidinhibitPolicyMappingTest5,
  2300. Section11InvalidinhibitPolicyMappingTest6,
  2301. Section11ValidSelfIssuedinhibitPolicyMappingTest7,
  2302. Section11InvalidSelfIssuedinhibitPolicyMappingTest8,
  2303. Section11InvalidSelfIssuedinhibitPolicyMappingTest9,
  2304. Section11InvalidSelfIssuedinhibitPolicyMappingTest10,
  2305. Section11InvalidSelfIssuedinhibitPolicyMappingTest11);
  2306. template <typename PkitsTestDelegate>
  2307. class PkitsTest12InhibitAnyPolicy : public PkitsTest<PkitsTestDelegate> {};
  2308. TYPED_TEST_SUITE_P(PkitsTest12InhibitAnyPolicy);
  2309. // 4.12.1 Invalid inhibitAnyPolicy Test1
  2310. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2311. Section12InvalidinhibitAnyPolicyTest1) {
  2312. const char* const certs[] = {"TrustAnchorRootCertificate",
  2313. "inhibitAnyPolicy0CACert",
  2314. "InvalidinhibitAnyPolicyTest1EE"};
  2315. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy0CACRL"};
  2316. PkitsTestInfo info;
  2317. info.test_number = "4.12.1";
  2318. info.should_validate = false;
  2319. info.SetUserConstrainedPolicySet("");
  2320. this->RunTest(certs, crls, info);
  2321. }
  2322. // 4.12.2 Valid inhibitAnyPolicy Test2
  2323. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2324. Section12ValidinhibitAnyPolicyTest2) {
  2325. const char* const certs[] = {"TrustAnchorRootCertificate",
  2326. "inhibitAnyPolicy0CACert",
  2327. "ValidinhibitAnyPolicyTest2EE"};
  2328. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy0CACRL"};
  2329. PkitsTestInfo info;
  2330. info.test_number = "4.12.2";
  2331. info.should_validate = true;
  2332. this->RunTest(certs, crls, info);
  2333. }
  2334. // 4.12.3 inhibitAnyPolicy Test3 (Subpart 1)
  2335. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2336. Section12inhibitAnyPolicyTest3Subpart1) {
  2337. const char* const certs[] = {
  2338. "TrustAnchorRootCertificate", "inhibitAnyPolicy1CACert",
  2339. "inhibitAnyPolicy1subCA1Cert", "inhibitAnyPolicyTest3EE"};
  2340. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2341. "inhibitAnyPolicy1subCA1CRL"};
  2342. PkitsTestInfo info;
  2343. info.test_number = "4.12.3";
  2344. info.should_validate = true;
  2345. this->RunTest(certs, crls, info);
  2346. }
  2347. // 4.12.3 inhibitAnyPolicy Test3 (Subpart 2)
  2348. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2349. Section12inhibitAnyPolicyTest3Subpart2) {
  2350. const char* const certs[] = {
  2351. "TrustAnchorRootCertificate", "inhibitAnyPolicy1CACert",
  2352. "inhibitAnyPolicy1subCA1Cert", "inhibitAnyPolicyTest3EE"};
  2353. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2354. "inhibitAnyPolicy1subCA1CRL"};
  2355. PkitsTestInfo info;
  2356. info.test_number = "4.12.3";
  2357. info.should_validate = false;
  2358. info.SetInitialInhibitAnyPolicy(true);
  2359. info.SetUserConstrainedPolicySet("");
  2360. this->RunTest(certs, crls, info);
  2361. }
  2362. // 4.12.4 Invalid inhibitAnyPolicy Test4
  2363. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2364. Section12InvalidinhibitAnyPolicyTest4) {
  2365. const char* const certs[] = {
  2366. "TrustAnchorRootCertificate", "inhibitAnyPolicy1CACert",
  2367. "inhibitAnyPolicy1subCA1Cert", "InvalidinhibitAnyPolicyTest4EE"};
  2368. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2369. "inhibitAnyPolicy1subCA1CRL"};
  2370. PkitsTestInfo info;
  2371. info.test_number = "4.12.4";
  2372. info.should_validate = false;
  2373. info.SetUserConstrainedPolicySet("");
  2374. this->RunTest(certs, crls, info);
  2375. }
  2376. // 4.12.5 Invalid inhibitAnyPolicy Test5
  2377. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2378. Section12InvalidinhibitAnyPolicyTest5) {
  2379. const char* const certs[] = {
  2380. "TrustAnchorRootCertificate", "inhibitAnyPolicy5CACert",
  2381. "inhibitAnyPolicy5subCACert", "inhibitAnyPolicy5subsubCACert",
  2382. "InvalidinhibitAnyPolicyTest5EE"};
  2383. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy5CACRL",
  2384. "inhibitAnyPolicy5subCACRL",
  2385. "inhibitAnyPolicy5subsubCACRL"};
  2386. PkitsTestInfo info;
  2387. info.test_number = "4.12.5";
  2388. info.should_validate = false;
  2389. info.SetUserConstrainedPolicySet("");
  2390. this->RunTest(certs, crls, info);
  2391. }
  2392. // 4.12.6 Invalid inhibitAnyPolicy Test6
  2393. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2394. Section12InvalidinhibitAnyPolicyTest6) {
  2395. const char* const certs[] = {
  2396. "TrustAnchorRootCertificate", "inhibitAnyPolicy1CACert",
  2397. "inhibitAnyPolicy1subCAIAP5Cert", "InvalidinhibitAnyPolicyTest6EE"};
  2398. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2399. "inhibitAnyPolicy1subCAIAP5CRL"};
  2400. PkitsTestInfo info;
  2401. info.test_number = "4.12.6";
  2402. info.should_validate = false;
  2403. info.SetUserConstrainedPolicySet("");
  2404. this->RunTest(certs, crls, info);
  2405. }
  2406. // 4.12.7 Valid Self-Issued inhibitAnyPolicy Test7
  2407. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2408. Section12ValidSelfIssuedinhibitAnyPolicyTest7) {
  2409. const char* const certs[] = {
  2410. "TrustAnchorRootCertificate", "inhibitAnyPolicy1CACert",
  2411. "inhibitAnyPolicy1SelfIssuedCACert", "inhibitAnyPolicy1subCA2Cert",
  2412. "ValidSelfIssuedinhibitAnyPolicyTest7EE"};
  2413. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2414. "inhibitAnyPolicy1subCA2CRL"};
  2415. PkitsTestInfo info;
  2416. info.test_number = "4.12.7";
  2417. info.should_validate = true;
  2418. this->RunTest(certs, crls, info);
  2419. }
  2420. // 4.12.8 Invalid Self-Issued inhibitAnyPolicy Test8
  2421. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2422. Section12InvalidSelfIssuedinhibitAnyPolicyTest8) {
  2423. const char* const certs[] = {"TrustAnchorRootCertificate",
  2424. "inhibitAnyPolicy1CACert",
  2425. "inhibitAnyPolicy1SelfIssuedCACert",
  2426. "inhibitAnyPolicy1subCA2Cert",
  2427. "inhibitAnyPolicy1subsubCA2Cert",
  2428. "InvalidSelfIssuedinhibitAnyPolicyTest8EE"};
  2429. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2430. "inhibitAnyPolicy1subCA2CRL",
  2431. "inhibitAnyPolicy1subsubCA2CRL"};
  2432. PkitsTestInfo info;
  2433. info.test_number = "4.12.8";
  2434. info.should_validate = false;
  2435. info.SetUserConstrainedPolicySet("");
  2436. this->RunTest(certs, crls, info);
  2437. }
  2438. // 4.12.9 Valid Self-Issued inhibitAnyPolicy Test9
  2439. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2440. Section12ValidSelfIssuedinhibitAnyPolicyTest9) {
  2441. const char* const certs[] = {"TrustAnchorRootCertificate",
  2442. "inhibitAnyPolicy1CACert",
  2443. "inhibitAnyPolicy1SelfIssuedCACert",
  2444. "inhibitAnyPolicy1subCA2Cert",
  2445. "inhibitAnyPolicy1SelfIssuedsubCA2Cert",
  2446. "ValidSelfIssuedinhibitAnyPolicyTest9EE"};
  2447. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2448. "inhibitAnyPolicy1subCA2CRL"};
  2449. PkitsTestInfo info;
  2450. info.test_number = "4.12.9";
  2451. info.should_validate = true;
  2452. this->RunTest(certs, crls, info);
  2453. }
  2454. // 4.12.10 Invalid Self-Issued inhibitAnyPolicy Test10
  2455. WRAPPED_TYPED_TEST_P(PkitsTest12InhibitAnyPolicy,
  2456. Section12InvalidSelfIssuedinhibitAnyPolicyTest10) {
  2457. const char* const certs[] = {
  2458. "TrustAnchorRootCertificate", "inhibitAnyPolicy1CACert",
  2459. "inhibitAnyPolicy1SelfIssuedCACert", "inhibitAnyPolicy1subCA2Cert",
  2460. "InvalidSelfIssuedinhibitAnyPolicyTest10EE"};
  2461. const char* const crls[] = {"TrustAnchorRootCRL", "inhibitAnyPolicy1CACRL",
  2462. "inhibitAnyPolicy1subCA2CRL"};
  2463. PkitsTestInfo info;
  2464. info.test_number = "4.12.10";
  2465. info.should_validate = false;
  2466. info.SetUserConstrainedPolicySet("");
  2467. this->RunTest(certs, crls, info);
  2468. }
  2469. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  2470. PkitsTest12InhibitAnyPolicy,
  2471. Section12InvalidinhibitAnyPolicyTest1,
  2472. Section12ValidinhibitAnyPolicyTest2,
  2473. Section12inhibitAnyPolicyTest3Subpart1,
  2474. Section12inhibitAnyPolicyTest3Subpart2,
  2475. Section12InvalidinhibitAnyPolicyTest4,
  2476. Section12InvalidinhibitAnyPolicyTest5,
  2477. Section12InvalidinhibitAnyPolicyTest6,
  2478. Section12ValidSelfIssuedinhibitAnyPolicyTest7,
  2479. Section12InvalidSelfIssuedinhibitAnyPolicyTest8,
  2480. Section12ValidSelfIssuedinhibitAnyPolicyTest9,
  2481. Section12InvalidSelfIssuedinhibitAnyPolicyTest10);
  2482. template <typename PkitsTestDelegate>
  2483. class PkitsTest13NameConstraints : public PkitsTest<PkitsTestDelegate> {};
  2484. TYPED_TEST_SUITE_P(PkitsTest13NameConstraints);
  2485. // 4.13.1 Valid DN nameConstraints Test1
  2486. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2487. Section13ValidDNnameConstraintsTest1) {
  2488. const char* const certs[] = {"TrustAnchorRootCertificate",
  2489. "nameConstraintsDN1CACert",
  2490. "ValidDNnameConstraintsTest1EE"};
  2491. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL"};
  2492. PkitsTestInfo info;
  2493. info.test_number = "4.13.1";
  2494. info.should_validate = true;
  2495. this->RunTest(certs, crls, info);
  2496. }
  2497. // 4.13.2 Invalid DN nameConstraints Test2
  2498. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2499. Section13InvalidDNnameConstraintsTest2) {
  2500. const char* const certs[] = {"TrustAnchorRootCertificate",
  2501. "nameConstraintsDN1CACert",
  2502. "InvalidDNnameConstraintsTest2EE"};
  2503. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL"};
  2504. PkitsTestInfo info;
  2505. info.test_number = "4.13.2";
  2506. info.should_validate = false;
  2507. this->RunTest(certs, crls, info);
  2508. }
  2509. // 4.13.3 Invalid DN nameConstraints Test3
  2510. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2511. Section13InvalidDNnameConstraintsTest3) {
  2512. const char* const certs[] = {"TrustAnchorRootCertificate",
  2513. "nameConstraintsDN1CACert",
  2514. "InvalidDNnameConstraintsTest3EE"};
  2515. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL"};
  2516. PkitsTestInfo info;
  2517. info.test_number = "4.13.3";
  2518. info.should_validate = false;
  2519. this->RunTest(certs, crls, info);
  2520. }
  2521. // 4.13.4 Valid DN nameConstraints Test4
  2522. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2523. Section13ValidDNnameConstraintsTest4) {
  2524. const char* const certs[] = {"TrustAnchorRootCertificate",
  2525. "nameConstraintsDN1CACert",
  2526. "ValidDNnameConstraintsTest4EE"};
  2527. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL"};
  2528. PkitsTestInfo info;
  2529. info.test_number = "4.13.4";
  2530. info.should_validate = true;
  2531. this->RunTest(certs, crls, info);
  2532. }
  2533. // 4.13.5 Valid DN nameConstraints Test5
  2534. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2535. Section13ValidDNnameConstraintsTest5) {
  2536. const char* const certs[] = {"TrustAnchorRootCertificate",
  2537. "nameConstraintsDN2CACert",
  2538. "ValidDNnameConstraintsTest5EE"};
  2539. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN2CACRL"};
  2540. PkitsTestInfo info;
  2541. info.test_number = "4.13.5";
  2542. info.should_validate = true;
  2543. this->RunTest(certs, crls, info);
  2544. }
  2545. // 4.13.6 Valid DN nameConstraints Test6
  2546. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2547. Section13ValidDNnameConstraintsTest6) {
  2548. const char* const certs[] = {"TrustAnchorRootCertificate",
  2549. "nameConstraintsDN3CACert",
  2550. "ValidDNnameConstraintsTest6EE"};
  2551. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN3CACRL"};
  2552. PkitsTestInfo info;
  2553. info.test_number = "4.13.6";
  2554. info.should_validate = true;
  2555. this->RunTest(certs, crls, info);
  2556. }
  2557. // 4.13.7 Invalid DN nameConstraints Test7
  2558. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2559. Section13InvalidDNnameConstraintsTest7) {
  2560. const char* const certs[] = {"TrustAnchorRootCertificate",
  2561. "nameConstraintsDN3CACert",
  2562. "InvalidDNnameConstraintsTest7EE"};
  2563. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN3CACRL"};
  2564. PkitsTestInfo info;
  2565. info.test_number = "4.13.7";
  2566. info.should_validate = false;
  2567. this->RunTest(certs, crls, info);
  2568. }
  2569. // 4.13.8 Invalid DN nameConstraints Test8
  2570. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2571. Section13InvalidDNnameConstraintsTest8) {
  2572. const char* const certs[] = {"TrustAnchorRootCertificate",
  2573. "nameConstraintsDN4CACert",
  2574. "InvalidDNnameConstraintsTest8EE"};
  2575. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN4CACRL"};
  2576. PkitsTestInfo info;
  2577. info.test_number = "4.13.8";
  2578. info.should_validate = false;
  2579. this->RunTest(certs, crls, info);
  2580. }
  2581. // 4.13.9 Invalid DN nameConstraints Test9
  2582. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2583. Section13InvalidDNnameConstraintsTest9) {
  2584. const char* const certs[] = {"TrustAnchorRootCertificate",
  2585. "nameConstraintsDN4CACert",
  2586. "InvalidDNnameConstraintsTest9EE"};
  2587. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN4CACRL"};
  2588. PkitsTestInfo info;
  2589. info.test_number = "4.13.9";
  2590. info.should_validate = false;
  2591. this->RunTest(certs, crls, info);
  2592. }
  2593. // 4.13.10 Invalid DN nameConstraints Test10
  2594. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2595. Section13InvalidDNnameConstraintsTest10) {
  2596. const char* const certs[] = {"TrustAnchorRootCertificate",
  2597. "nameConstraintsDN5CACert",
  2598. "InvalidDNnameConstraintsTest10EE"};
  2599. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN5CACRL"};
  2600. PkitsTestInfo info;
  2601. info.test_number = "4.13.10";
  2602. info.should_validate = false;
  2603. this->RunTest(certs, crls, info);
  2604. }
  2605. // 4.13.11 Valid DN nameConstraints Test11
  2606. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2607. Section13ValidDNnameConstraintsTest11) {
  2608. const char* const certs[] = {"TrustAnchorRootCertificate",
  2609. "nameConstraintsDN5CACert",
  2610. "ValidDNnameConstraintsTest11EE"};
  2611. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN5CACRL"};
  2612. PkitsTestInfo info;
  2613. info.test_number = "4.13.11";
  2614. info.should_validate = true;
  2615. this->RunTest(certs, crls, info);
  2616. }
  2617. // 4.13.12 Invalid DN nameConstraints Test12
  2618. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2619. Section13InvalidDNnameConstraintsTest12) {
  2620. const char* const certs[] = {
  2621. "TrustAnchorRootCertificate", "nameConstraintsDN1CACert",
  2622. "nameConstraintsDN1subCA1Cert", "InvalidDNnameConstraintsTest12EE"};
  2623. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL",
  2624. "nameConstraintsDN1subCA1CRL"};
  2625. PkitsTestInfo info;
  2626. info.test_number = "4.13.12";
  2627. info.should_validate = false;
  2628. this->RunTest(certs, crls, info);
  2629. }
  2630. // 4.13.13 Invalid DN nameConstraints Test13
  2631. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2632. Section13InvalidDNnameConstraintsTest13) {
  2633. const char* const certs[] = {
  2634. "TrustAnchorRootCertificate", "nameConstraintsDN1CACert",
  2635. "nameConstraintsDN1subCA2Cert", "InvalidDNnameConstraintsTest13EE"};
  2636. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL",
  2637. "nameConstraintsDN1subCA2CRL"};
  2638. PkitsTestInfo info;
  2639. info.test_number = "4.13.13";
  2640. info.should_validate = false;
  2641. this->RunTest(certs, crls, info);
  2642. }
  2643. // 4.13.14 Valid DN nameConstraints Test14
  2644. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2645. Section13ValidDNnameConstraintsTest14) {
  2646. const char* const certs[] = {
  2647. "TrustAnchorRootCertificate", "nameConstraintsDN1CACert",
  2648. "nameConstraintsDN1subCA2Cert", "ValidDNnameConstraintsTest14EE"};
  2649. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL",
  2650. "nameConstraintsDN1subCA2CRL"};
  2651. PkitsTestInfo info;
  2652. info.test_number = "4.13.14";
  2653. info.should_validate = true;
  2654. this->RunTest(certs, crls, info);
  2655. }
  2656. // 4.13.15 Invalid DN nameConstraints Test15
  2657. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2658. Section13InvalidDNnameConstraintsTest15) {
  2659. const char* const certs[] = {
  2660. "TrustAnchorRootCertificate", "nameConstraintsDN3CACert",
  2661. "nameConstraintsDN3subCA1Cert", "InvalidDNnameConstraintsTest15EE"};
  2662. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN3CACRL",
  2663. "nameConstraintsDN3subCA1CRL"};
  2664. PkitsTestInfo info;
  2665. info.test_number = "4.13.15";
  2666. info.should_validate = false;
  2667. this->RunTest(certs, crls, info);
  2668. }
  2669. // 4.13.16 Invalid DN nameConstraints Test16
  2670. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2671. Section13InvalidDNnameConstraintsTest16) {
  2672. const char* const certs[] = {
  2673. "TrustAnchorRootCertificate", "nameConstraintsDN3CACert",
  2674. "nameConstraintsDN3subCA1Cert", "InvalidDNnameConstraintsTest16EE"};
  2675. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN3CACRL",
  2676. "nameConstraintsDN3subCA1CRL"};
  2677. PkitsTestInfo info;
  2678. info.test_number = "4.13.16";
  2679. info.should_validate = false;
  2680. this->RunTest(certs, crls, info);
  2681. }
  2682. // 4.13.17 Invalid DN nameConstraints Test17
  2683. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2684. Section13InvalidDNnameConstraintsTest17) {
  2685. const char* const certs[] = {
  2686. "TrustAnchorRootCertificate", "nameConstraintsDN3CACert",
  2687. "nameConstraintsDN3subCA2Cert", "InvalidDNnameConstraintsTest17EE"};
  2688. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN3CACRL",
  2689. "nameConstraintsDN3subCA2CRL"};
  2690. PkitsTestInfo info;
  2691. info.test_number = "4.13.17";
  2692. info.should_validate = false;
  2693. this->RunTest(certs, crls, info);
  2694. }
  2695. // 4.13.18 Valid DN nameConstraints Test18
  2696. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2697. Section13ValidDNnameConstraintsTest18) {
  2698. const char* const certs[] = {
  2699. "TrustAnchorRootCertificate", "nameConstraintsDN3CACert",
  2700. "nameConstraintsDN3subCA2Cert", "ValidDNnameConstraintsTest18EE"};
  2701. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN3CACRL",
  2702. "nameConstraintsDN3subCA2CRL"};
  2703. PkitsTestInfo info;
  2704. info.test_number = "4.13.18";
  2705. info.should_validate = true;
  2706. this->RunTest(certs, crls, info);
  2707. }
  2708. // 4.13.19 Valid Self-Issued DN nameConstraints Test19
  2709. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2710. Section13ValidSelfIssuedDNnameConstraintsTest19) {
  2711. const char* const certs[] = {
  2712. "TrustAnchorRootCertificate", "nameConstraintsDN1CACert",
  2713. "nameConstraintsDN1SelfIssuedCACert", "ValidDNnameConstraintsTest19EE"};
  2714. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL"};
  2715. PkitsTestInfo info;
  2716. info.test_number = "4.13.19";
  2717. info.should_validate = true;
  2718. this->RunTest(certs, crls, info);
  2719. }
  2720. // 4.13.20 Invalid Self-Issued DN nameConstraints Test20
  2721. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2722. Section13InvalidSelfIssuedDNnameConstraintsTest20) {
  2723. const char* const certs[] = {"TrustAnchorRootCertificate",
  2724. "nameConstraintsDN1CACert",
  2725. "InvalidDNnameConstraintsTest20EE"};
  2726. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL"};
  2727. PkitsTestInfo info;
  2728. info.test_number = "4.13.20";
  2729. info.should_validate = false;
  2730. this->RunTest(certs, crls, info);
  2731. }
  2732. // 4.13.21 Valid RFC822 nameConstraints Test21
  2733. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2734. Section13ValidRFC822nameConstraintsTest21) {
  2735. const char* const certs[] = {"TrustAnchorRootCertificate",
  2736. "nameConstraintsRFC822CA1Cert",
  2737. "ValidRFC822nameConstraintsTest21EE"};
  2738. const char* const crls[] = {"TrustAnchorRootCRL",
  2739. "nameConstraintsRFC822CA1CRL"};
  2740. PkitsTestInfo info;
  2741. info.test_number = "4.13.21";
  2742. info.should_validate = true;
  2743. this->RunTest(certs, crls, info);
  2744. }
  2745. // 4.13.22 Invalid RFC822 nameConstraints Test22
  2746. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2747. Section13InvalidRFC822nameConstraintsTest22) {
  2748. const char* const certs[] = {"TrustAnchorRootCertificate",
  2749. "nameConstraintsRFC822CA1Cert",
  2750. "InvalidRFC822nameConstraintsTest22EE"};
  2751. const char* const crls[] = {"TrustAnchorRootCRL",
  2752. "nameConstraintsRFC822CA1CRL"};
  2753. PkitsTestInfo info;
  2754. info.test_number = "4.13.22";
  2755. info.should_validate = false;
  2756. this->RunTest(certs, crls, info);
  2757. }
  2758. // 4.13.23 Valid RFC822 nameConstraints Test23
  2759. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2760. Section13ValidRFC822nameConstraintsTest23) {
  2761. const char* const certs[] = {"TrustAnchorRootCertificate",
  2762. "nameConstraintsRFC822CA2Cert",
  2763. "ValidRFC822nameConstraintsTest23EE"};
  2764. const char* const crls[] = {"TrustAnchorRootCRL",
  2765. "nameConstraintsRFC822CA2CRL"};
  2766. PkitsTestInfo info;
  2767. info.test_number = "4.13.23";
  2768. info.should_validate = true;
  2769. this->RunTest(certs, crls, info);
  2770. }
  2771. // 4.13.24 Invalid RFC822 nameConstraints Test24
  2772. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2773. Section13InvalidRFC822nameConstraintsTest24) {
  2774. const char* const certs[] = {"TrustAnchorRootCertificate",
  2775. "nameConstraintsRFC822CA2Cert",
  2776. "InvalidRFC822nameConstraintsTest24EE"};
  2777. const char* const crls[] = {"TrustAnchorRootCRL",
  2778. "nameConstraintsRFC822CA2CRL"};
  2779. PkitsTestInfo info;
  2780. info.test_number = "4.13.24";
  2781. info.should_validate = false;
  2782. this->RunTest(certs, crls, info);
  2783. }
  2784. // 4.13.25 Valid RFC822 nameConstraints Test25
  2785. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2786. Section13ValidRFC822nameConstraintsTest25) {
  2787. const char* const certs[] = {"TrustAnchorRootCertificate",
  2788. "nameConstraintsRFC822CA3Cert",
  2789. "ValidRFC822nameConstraintsTest25EE"};
  2790. const char* const crls[] = {"TrustAnchorRootCRL",
  2791. "nameConstraintsRFC822CA3CRL"};
  2792. PkitsTestInfo info;
  2793. info.test_number = "4.13.25";
  2794. info.should_validate = true;
  2795. this->RunTest(certs, crls, info);
  2796. }
  2797. // 4.13.26 Invalid RFC822 nameConstraints Test26
  2798. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2799. Section13InvalidRFC822nameConstraintsTest26) {
  2800. const char* const certs[] = {"TrustAnchorRootCertificate",
  2801. "nameConstraintsRFC822CA3Cert",
  2802. "InvalidRFC822nameConstraintsTest26EE"};
  2803. const char* const crls[] = {"TrustAnchorRootCRL",
  2804. "nameConstraintsRFC822CA3CRL"};
  2805. PkitsTestInfo info;
  2806. info.test_number = "4.13.26";
  2807. info.should_validate = false;
  2808. this->RunTest(certs, crls, info);
  2809. }
  2810. // 4.13.27 Valid DN and RFC822 nameConstraints Test27
  2811. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2812. Section13ValidDNandRFC822nameConstraintsTest27) {
  2813. const char* const certs[] = {"TrustAnchorRootCertificate",
  2814. "nameConstraintsDN1CACert",
  2815. "nameConstraintsDN1subCA3Cert",
  2816. "ValidDNandRFC822nameConstraintsTest27EE"};
  2817. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL",
  2818. "nameConstraintsDN1subCA3CRL"};
  2819. PkitsTestInfo info;
  2820. info.test_number = "4.13.27";
  2821. info.should_validate = true;
  2822. this->RunTest(certs, crls, info);
  2823. }
  2824. // 4.13.28 Invalid DN and RFC822 nameConstraints Test28
  2825. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2826. Section13InvalidDNandRFC822nameConstraintsTest28) {
  2827. const char* const certs[] = {"TrustAnchorRootCertificate",
  2828. "nameConstraintsDN1CACert",
  2829. "nameConstraintsDN1subCA3Cert",
  2830. "InvalidDNandRFC822nameConstraintsTest28EE"};
  2831. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL",
  2832. "nameConstraintsDN1subCA3CRL"};
  2833. PkitsTestInfo info;
  2834. info.test_number = "4.13.28";
  2835. info.should_validate = false;
  2836. this->RunTest(certs, crls, info);
  2837. }
  2838. // 4.13.29 Invalid DN and RFC822 nameConstraints Test29
  2839. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2840. Section13InvalidDNandRFC822nameConstraintsTest29) {
  2841. const char* const certs[] = {"TrustAnchorRootCertificate",
  2842. "nameConstraintsDN1CACert",
  2843. "nameConstraintsDN1subCA3Cert",
  2844. "InvalidDNandRFC822nameConstraintsTest29EE"};
  2845. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDN1CACRL",
  2846. "nameConstraintsDN1subCA3CRL"};
  2847. PkitsTestInfo info;
  2848. info.test_number = "4.13.29";
  2849. info.should_validate = false;
  2850. this->RunTest(certs, crls, info);
  2851. }
  2852. // 4.13.30 Valid DNS nameConstraints Test30
  2853. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2854. Section13ValidDNSnameConstraintsTest30) {
  2855. const char* const certs[] = {"TrustAnchorRootCertificate",
  2856. "nameConstraintsDNS1CACert",
  2857. "ValidDNSnameConstraintsTest30EE"};
  2858. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDNS1CACRL"};
  2859. PkitsTestInfo info;
  2860. info.test_number = "4.13.30";
  2861. info.should_validate = true;
  2862. this->RunTest(certs, crls, info);
  2863. }
  2864. // 4.13.31 Invalid DNS nameConstraints Test31
  2865. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2866. Section13InvalidDNSnameConstraintsTest31) {
  2867. const char* const certs[] = {"TrustAnchorRootCertificate",
  2868. "nameConstraintsDNS1CACert",
  2869. "InvalidDNSnameConstraintsTest31EE"};
  2870. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDNS1CACRL"};
  2871. PkitsTestInfo info;
  2872. info.test_number = "4.13.31";
  2873. info.should_validate = false;
  2874. this->RunTest(certs, crls, info);
  2875. }
  2876. // 4.13.32 Valid DNS nameConstraints Test32
  2877. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2878. Section13ValidDNSnameConstraintsTest32) {
  2879. const char* const certs[] = {"TrustAnchorRootCertificate",
  2880. "nameConstraintsDNS2CACert",
  2881. "ValidDNSnameConstraintsTest32EE"};
  2882. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDNS2CACRL"};
  2883. PkitsTestInfo info;
  2884. info.test_number = "4.13.32";
  2885. info.should_validate = true;
  2886. this->RunTest(certs, crls, info);
  2887. }
  2888. // 4.13.33 Invalid DNS nameConstraints Test33
  2889. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2890. Section13InvalidDNSnameConstraintsTest33) {
  2891. const char* const certs[] = {"TrustAnchorRootCertificate",
  2892. "nameConstraintsDNS2CACert",
  2893. "InvalidDNSnameConstraintsTest33EE"};
  2894. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDNS2CACRL"};
  2895. PkitsTestInfo info;
  2896. info.test_number = "4.13.33";
  2897. info.should_validate = false;
  2898. this->RunTest(certs, crls, info);
  2899. }
  2900. // 4.13.34 Valid URI nameConstraints Test34
  2901. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2902. Section13ValidURInameConstraintsTest34) {
  2903. const char* const certs[] = {"TrustAnchorRootCertificate",
  2904. "nameConstraintsURI1CACert",
  2905. "ValidURInameConstraintsTest34EE"};
  2906. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsURI1CACRL"};
  2907. PkitsTestInfo info;
  2908. info.test_number = "4.13.34";
  2909. info.should_validate = true;
  2910. this->RunTest(certs, crls, info);
  2911. }
  2912. // 4.13.35 Invalid URI nameConstraints Test35
  2913. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2914. Section13InvalidURInameConstraintsTest35) {
  2915. const char* const certs[] = {"TrustAnchorRootCertificate",
  2916. "nameConstraintsURI1CACert",
  2917. "InvalidURInameConstraintsTest35EE"};
  2918. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsURI1CACRL"};
  2919. PkitsTestInfo info;
  2920. info.test_number = "4.13.35";
  2921. info.should_validate = false;
  2922. this->RunTest(certs, crls, info);
  2923. }
  2924. // 4.13.36 Valid URI nameConstraints Test36
  2925. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2926. Section13ValidURInameConstraintsTest36) {
  2927. const char* const certs[] = {"TrustAnchorRootCertificate",
  2928. "nameConstraintsURI2CACert",
  2929. "ValidURInameConstraintsTest36EE"};
  2930. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsURI2CACRL"};
  2931. PkitsTestInfo info;
  2932. info.test_number = "4.13.36";
  2933. info.should_validate = true;
  2934. this->RunTest(certs, crls, info);
  2935. }
  2936. // 4.13.37 Invalid URI nameConstraints Test37
  2937. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2938. Section13InvalidURInameConstraintsTest37) {
  2939. const char* const certs[] = {"TrustAnchorRootCertificate",
  2940. "nameConstraintsURI2CACert",
  2941. "InvalidURInameConstraintsTest37EE"};
  2942. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsURI2CACRL"};
  2943. PkitsTestInfo info;
  2944. info.test_number = "4.13.37";
  2945. info.should_validate = false;
  2946. this->RunTest(certs, crls, info);
  2947. }
  2948. // 4.13.38 Invalid DNS nameConstraints Test38
  2949. WRAPPED_TYPED_TEST_P(PkitsTest13NameConstraints,
  2950. Section13InvalidDNSnameConstraintsTest38) {
  2951. const char* const certs[] = {"TrustAnchorRootCertificate",
  2952. "nameConstraintsDNS1CACert",
  2953. "InvalidDNSnameConstraintsTest38EE"};
  2954. const char* const crls[] = {"TrustAnchorRootCRL", "nameConstraintsDNS1CACRL"};
  2955. PkitsTestInfo info;
  2956. info.test_number = "4.13.38";
  2957. info.should_validate = false;
  2958. this->RunTest(certs, crls, info);
  2959. }
  2960. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  2961. PkitsTest13NameConstraints,
  2962. Section13ValidDNnameConstraintsTest1,
  2963. Section13InvalidDNnameConstraintsTest2,
  2964. Section13InvalidDNnameConstraintsTest3,
  2965. Section13ValidDNnameConstraintsTest4,
  2966. Section13ValidDNnameConstraintsTest5,
  2967. Section13ValidDNnameConstraintsTest6,
  2968. Section13InvalidDNnameConstraintsTest7,
  2969. Section13InvalidDNnameConstraintsTest8,
  2970. Section13InvalidDNnameConstraintsTest9,
  2971. Section13InvalidDNnameConstraintsTest10,
  2972. Section13ValidDNnameConstraintsTest11,
  2973. Section13InvalidDNnameConstraintsTest12,
  2974. Section13InvalidDNnameConstraintsTest13,
  2975. Section13ValidDNnameConstraintsTest14,
  2976. Section13InvalidDNnameConstraintsTest15,
  2977. Section13InvalidDNnameConstraintsTest16,
  2978. Section13InvalidDNnameConstraintsTest17,
  2979. Section13ValidDNnameConstraintsTest18,
  2980. Section13ValidSelfIssuedDNnameConstraintsTest19,
  2981. Section13InvalidSelfIssuedDNnameConstraintsTest20,
  2982. Section13ValidRFC822nameConstraintsTest21,
  2983. Section13InvalidRFC822nameConstraintsTest22,
  2984. Section13ValidRFC822nameConstraintsTest23,
  2985. Section13InvalidRFC822nameConstraintsTest24,
  2986. Section13ValidRFC822nameConstraintsTest25,
  2987. Section13InvalidRFC822nameConstraintsTest26,
  2988. Section13ValidDNandRFC822nameConstraintsTest27,
  2989. Section13InvalidDNandRFC822nameConstraintsTest28,
  2990. Section13InvalidDNandRFC822nameConstraintsTest29,
  2991. Section13ValidDNSnameConstraintsTest30,
  2992. Section13InvalidDNSnameConstraintsTest31,
  2993. Section13ValidDNSnameConstraintsTest32,
  2994. Section13InvalidDNSnameConstraintsTest33,
  2995. Section13ValidURInameConstraintsTest34,
  2996. Section13InvalidURInameConstraintsTest35,
  2997. Section13ValidURInameConstraintsTest36,
  2998. Section13InvalidURInameConstraintsTest37,
  2999. Section13InvalidDNSnameConstraintsTest38);
  3000. template <typename PkitsTestDelegate>
  3001. class PkitsTest14DistributionPoints : public PkitsTest<PkitsTestDelegate> {};
  3002. TYPED_TEST_SUITE_P(PkitsTest14DistributionPoints);
  3003. // 4.14.1 Valid distributionPoint Test1
  3004. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3005. Section14ValiddistributionPointTest1) {
  3006. const char* const certs[] = {"TrustAnchorRootCertificate",
  3007. "distributionPoint1CACert",
  3008. "ValiddistributionPointTest1EE"};
  3009. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint1CACRL"};
  3010. PkitsTestInfo info;
  3011. info.test_number = "4.14.1";
  3012. info.should_validate = true;
  3013. this->RunTest(certs, crls, info);
  3014. }
  3015. // 4.14.2 Invalid distributionPoint Test2
  3016. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3017. Section14InvaliddistributionPointTest2) {
  3018. const char* const certs[] = {"TrustAnchorRootCertificate",
  3019. "distributionPoint1CACert",
  3020. "InvaliddistributionPointTest2EE"};
  3021. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint1CACRL"};
  3022. PkitsTestInfo info;
  3023. info.test_number = "4.14.2";
  3024. info.should_validate = false;
  3025. this->RunTest(certs, crls, info);
  3026. }
  3027. // 4.14.3 Invalid distributionPoint Test3
  3028. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3029. Section14InvaliddistributionPointTest3) {
  3030. const char* const certs[] = {"TrustAnchorRootCertificate",
  3031. "distributionPoint1CACert",
  3032. "InvaliddistributionPointTest3EE"};
  3033. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint1CACRL"};
  3034. PkitsTestInfo info;
  3035. info.test_number = "4.14.3";
  3036. info.should_validate = false;
  3037. this->RunTest(certs, crls, info);
  3038. }
  3039. // 4.14.4 Valid distributionPoint Test4
  3040. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3041. Section14ValiddistributionPointTest4) {
  3042. const char* const certs[] = {"TrustAnchorRootCertificate",
  3043. "distributionPoint1CACert",
  3044. "ValiddistributionPointTest4EE"};
  3045. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint1CACRL"};
  3046. PkitsTestInfo info;
  3047. info.test_number = "4.14.4";
  3048. info.should_validate = true;
  3049. this->RunTest(certs, crls, info);
  3050. }
  3051. // 4.14.5 Valid distributionPoint Test5
  3052. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3053. Section14ValiddistributionPointTest5) {
  3054. const char* const certs[] = {"TrustAnchorRootCertificate",
  3055. "distributionPoint2CACert",
  3056. "ValiddistributionPointTest5EE"};
  3057. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint2CACRL"};
  3058. PkitsTestInfo info;
  3059. info.test_number = "4.14.5";
  3060. info.should_validate = true;
  3061. this->RunTest(certs, crls, info);
  3062. }
  3063. // 4.14.6 Invalid distributionPoint Test6
  3064. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3065. Section14InvaliddistributionPointTest6) {
  3066. const char* const certs[] = {"TrustAnchorRootCertificate",
  3067. "distributionPoint2CACert",
  3068. "InvaliddistributionPointTest6EE"};
  3069. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint2CACRL"};
  3070. PkitsTestInfo info;
  3071. info.test_number = "4.14.6";
  3072. info.should_validate = false;
  3073. this->RunTest(certs, crls, info);
  3074. }
  3075. // 4.14.7 Valid distributionPoint Test7
  3076. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3077. Section14ValiddistributionPointTest7) {
  3078. const char* const certs[] = {"TrustAnchorRootCertificate",
  3079. "distributionPoint2CACert",
  3080. "ValiddistributionPointTest7EE"};
  3081. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint2CACRL"};
  3082. PkitsTestInfo info;
  3083. info.test_number = "4.14.7";
  3084. info.should_validate = true;
  3085. this->RunTest(certs, crls, info);
  3086. }
  3087. // 4.14.8 Invalid distributionPoint Test8
  3088. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3089. Section14InvaliddistributionPointTest8) {
  3090. const char* const certs[] = {"TrustAnchorRootCertificate",
  3091. "distributionPoint2CACert",
  3092. "InvaliddistributionPointTest8EE"};
  3093. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint2CACRL"};
  3094. PkitsTestInfo info;
  3095. info.test_number = "4.14.8";
  3096. info.should_validate = false;
  3097. this->RunTest(certs, crls, info);
  3098. }
  3099. // 4.14.9 Invalid distributionPoint Test9
  3100. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3101. Section14InvaliddistributionPointTest9) {
  3102. const char* const certs[] = {"TrustAnchorRootCertificate",
  3103. "distributionPoint2CACert",
  3104. "InvaliddistributionPointTest9EE"};
  3105. const char* const crls[] = {"TrustAnchorRootCRL", "distributionPoint2CACRL"};
  3106. PkitsTestInfo info;
  3107. info.test_number = "4.14.9";
  3108. info.should_validate = false;
  3109. this->RunTest(certs, crls, info);
  3110. }
  3111. // 4.14.10 Valid No issuingDistributionPoint Test10
  3112. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3113. Section14ValidNoissuingDistributionPointTest10) {
  3114. const char* const certs[] = {"TrustAnchorRootCertificate",
  3115. "NoissuingDistributionPointCACert",
  3116. "ValidNoissuingDistributionPointTest10EE"};
  3117. const char* const crls[] = {"TrustAnchorRootCRL",
  3118. "NoissuingDistributionPointCACRL"};
  3119. PkitsTestInfo info;
  3120. info.test_number = "4.14.10";
  3121. info.should_validate = true;
  3122. this->RunTest(certs, crls, info);
  3123. }
  3124. // 4.14.11 Invalid onlyContainsUserCerts CRL Test11
  3125. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3126. Section14InvalidonlyContainsUserCertsCRLTest11) {
  3127. const char* const certs[] = {"TrustAnchorRootCertificate",
  3128. "onlyContainsUserCertsCACert",
  3129. "InvalidonlyContainsUserCertsTest11EE"};
  3130. const char* const crls[] = {"TrustAnchorRootCRL",
  3131. "onlyContainsUserCertsCACRL"};
  3132. PkitsTestInfo info;
  3133. info.test_number = "4.14.11";
  3134. info.should_validate = false;
  3135. this->RunTest(certs, crls, info);
  3136. }
  3137. // 4.14.12 Invalid onlyContainsCACerts CRL Test12
  3138. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3139. Section14InvalidonlyContainsCACertsCRLTest12) {
  3140. const char* const certs[] = {"TrustAnchorRootCertificate",
  3141. "onlyContainsCACertsCACert",
  3142. "InvalidonlyContainsCACertsTest12EE"};
  3143. const char* const crls[] = {"TrustAnchorRootCRL", "onlyContainsCACertsCACRL"};
  3144. PkitsTestInfo info;
  3145. info.test_number = "4.14.12";
  3146. info.should_validate = false;
  3147. this->RunTest(certs, crls, info);
  3148. }
  3149. // 4.14.13 Valid onlyContainsCACerts CRL Test13
  3150. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3151. Section14ValidonlyContainsCACertsCRLTest13) {
  3152. const char* const certs[] = {"TrustAnchorRootCertificate",
  3153. "onlyContainsCACertsCACert",
  3154. "ValidonlyContainsCACertsTest13EE"};
  3155. const char* const crls[] = {"TrustAnchorRootCRL", "onlyContainsCACertsCACRL"};
  3156. PkitsTestInfo info;
  3157. info.test_number = "4.14.13";
  3158. info.should_validate = true;
  3159. this->RunTest(certs, crls, info);
  3160. }
  3161. // 4.14.14 Invalid onlyContainsAttributeCerts Test14
  3162. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3163. Section14InvalidonlyContainsAttributeCertsTest14) {
  3164. const char* const certs[] = {"TrustAnchorRootCertificate",
  3165. "onlyContainsAttributeCertsCACert",
  3166. "InvalidonlyContainsAttributeCertsTest14EE"};
  3167. const char* const crls[] = {"TrustAnchorRootCRL",
  3168. "onlyContainsAttributeCertsCACRL"};
  3169. PkitsTestInfo info;
  3170. info.test_number = "4.14.14";
  3171. info.should_validate = false;
  3172. this->RunTest(certs, crls, info);
  3173. }
  3174. // 4.14.15 Invalid onlySomeReasons Test15
  3175. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3176. Section14InvalidonlySomeReasonsTest15) {
  3177. const char* const certs[] = {"TrustAnchorRootCertificate",
  3178. "onlySomeReasonsCA1Cert",
  3179. "InvalidonlySomeReasonsTest15EE"};
  3180. const char* const crls[] = {"TrustAnchorRootCRL",
  3181. "onlySomeReasonsCA1compromiseCRL",
  3182. "onlySomeReasonsCA1otherreasonsCRL"};
  3183. PkitsTestInfo info;
  3184. info.test_number = "4.14.15";
  3185. info.should_validate = false;
  3186. this->RunTest(certs, crls, info);
  3187. }
  3188. // 4.14.16 Invalid onlySomeReasons Test16
  3189. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3190. Section14InvalidonlySomeReasonsTest16) {
  3191. const char* const certs[] = {"TrustAnchorRootCertificate",
  3192. "onlySomeReasonsCA1Cert",
  3193. "InvalidonlySomeReasonsTest16EE"};
  3194. const char* const crls[] = {"TrustAnchorRootCRL",
  3195. "onlySomeReasonsCA1compromiseCRL",
  3196. "onlySomeReasonsCA1otherreasonsCRL"};
  3197. PkitsTestInfo info;
  3198. info.test_number = "4.14.16";
  3199. info.should_validate = false;
  3200. this->RunTest(certs, crls, info);
  3201. }
  3202. // 4.14.17 Invalid onlySomeReasons Test17
  3203. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3204. Section14InvalidonlySomeReasonsTest17) {
  3205. const char* const certs[] = {"TrustAnchorRootCertificate",
  3206. "onlySomeReasonsCA2Cert",
  3207. "InvalidonlySomeReasonsTest17EE"};
  3208. const char* const crls[] = {"TrustAnchorRootCRL", "onlySomeReasonsCA2CRL1",
  3209. "onlySomeReasonsCA2CRL2"};
  3210. PkitsTestInfo info;
  3211. info.test_number = "4.14.17";
  3212. info.should_validate = false;
  3213. this->RunTest(certs, crls, info);
  3214. }
  3215. // 4.14.18 Valid onlySomeReasons Test18
  3216. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3217. Section14ValidonlySomeReasonsTest18) {
  3218. const char* const certs[] = {"TrustAnchorRootCertificate",
  3219. "onlySomeReasonsCA3Cert",
  3220. "ValidonlySomeReasonsTest18EE"};
  3221. const char* const crls[] = {"TrustAnchorRootCRL",
  3222. "onlySomeReasonsCA3compromiseCRL",
  3223. "onlySomeReasonsCA3otherreasonsCRL"};
  3224. PkitsTestInfo info;
  3225. info.test_number = "4.14.18";
  3226. info.should_validate = true;
  3227. this->RunTest(certs, crls, info);
  3228. }
  3229. // 4.14.19 Valid onlySomeReasons Test19
  3230. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3231. Section14ValidonlySomeReasonsTest19) {
  3232. const char* const certs[] = {"TrustAnchorRootCertificate",
  3233. "onlySomeReasonsCA4Cert",
  3234. "ValidonlySomeReasonsTest19EE"};
  3235. const char* const crls[] = {"TrustAnchorRootCRL",
  3236. "onlySomeReasonsCA4compromiseCRL",
  3237. "onlySomeReasonsCA4otherreasonsCRL"};
  3238. PkitsTestInfo info;
  3239. info.test_number = "4.14.19";
  3240. info.should_validate = true;
  3241. this->RunTest(certs, crls, info);
  3242. }
  3243. // 4.14.20 Invalid onlySomeReasons Test20
  3244. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3245. Section14InvalidonlySomeReasonsTest20) {
  3246. const char* const certs[] = {"TrustAnchorRootCertificate",
  3247. "onlySomeReasonsCA4Cert",
  3248. "InvalidonlySomeReasonsTest20EE"};
  3249. const char* const crls[] = {"TrustAnchorRootCRL",
  3250. "onlySomeReasonsCA4compromiseCRL",
  3251. "onlySomeReasonsCA4otherreasonsCRL"};
  3252. PkitsTestInfo info;
  3253. info.test_number = "4.14.20";
  3254. info.should_validate = false;
  3255. this->RunTest(certs, crls, info);
  3256. }
  3257. // 4.14.21 Invalid onlySomeReasons Test21
  3258. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3259. Section14InvalidonlySomeReasonsTest21) {
  3260. const char* const certs[] = {"TrustAnchorRootCertificate",
  3261. "onlySomeReasonsCA4Cert",
  3262. "InvalidonlySomeReasonsTest21EE"};
  3263. const char* const crls[] = {"TrustAnchorRootCRL",
  3264. "onlySomeReasonsCA4compromiseCRL",
  3265. "onlySomeReasonsCA4otherreasonsCRL"};
  3266. PkitsTestInfo info;
  3267. info.test_number = "4.14.21";
  3268. info.should_validate = false;
  3269. this->RunTest(certs, crls, info);
  3270. }
  3271. // 4.14.22 Valid IDP with indirectCRL Test22
  3272. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3273. Section14ValidIDPwithindirectCRLTest22) {
  3274. const char* const certs[] = {"TrustAnchorRootCertificate",
  3275. "indirectCRLCA1Cert",
  3276. "ValidIDPwithindirectCRLTest22EE"};
  3277. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA1CRL"};
  3278. PkitsTestInfo info;
  3279. info.test_number = "4.14.22";
  3280. info.should_validate = true;
  3281. this->RunTest(certs, crls, info);
  3282. }
  3283. // 4.14.23 Invalid IDP with indirectCRL Test23
  3284. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3285. Section14InvalidIDPwithindirectCRLTest23) {
  3286. const char* const certs[] = {"TrustAnchorRootCertificate",
  3287. "indirectCRLCA1Cert",
  3288. "InvalidIDPwithindirectCRLTest23EE"};
  3289. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA1CRL"};
  3290. PkitsTestInfo info;
  3291. info.test_number = "4.14.23";
  3292. info.should_validate = false;
  3293. this->RunTest(certs, crls, info);
  3294. }
  3295. // 4.14.24 Valid IDP with indirectCRL Test24
  3296. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3297. Section14ValidIDPwithindirectCRLTest24) {
  3298. const char* const certs[] = {"TrustAnchorRootCertificate",
  3299. "indirectCRLCA2Cert", "indirectCRLCA1Cert",
  3300. "ValidIDPwithindirectCRLTest24EE"};
  3301. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA1CRL"};
  3302. PkitsTestInfo info;
  3303. info.test_number = "4.14.24";
  3304. info.should_validate = true;
  3305. this->RunTest(certs, crls, info);
  3306. }
  3307. // 4.14.25 Valid IDP with indirectCRL Test25
  3308. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3309. Section14ValidIDPwithindirectCRLTest25) {
  3310. const char* const certs[] = {"TrustAnchorRootCertificate",
  3311. "indirectCRLCA2Cert", "indirectCRLCA1Cert",
  3312. "ValidIDPwithindirectCRLTest25EE"};
  3313. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA1CRL"};
  3314. PkitsTestInfo info;
  3315. info.test_number = "4.14.25";
  3316. info.should_validate = true;
  3317. this->RunTest(certs, crls, info);
  3318. }
  3319. // 4.14.26 Invalid IDP with indirectCRL Test26
  3320. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3321. Section14InvalidIDPwithindirectCRLTest26) {
  3322. const char* const certs[] = {"TrustAnchorRootCertificate",
  3323. "indirectCRLCA2Cert", "indirectCRLCA1Cert",
  3324. "InvalidIDPwithindirectCRLTest26EE"};
  3325. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA1CRL"};
  3326. PkitsTestInfo info;
  3327. info.test_number = "4.14.26";
  3328. info.should_validate = false;
  3329. this->RunTest(certs, crls, info);
  3330. }
  3331. // 4.14.27 Invalid cRLIssuer Test27
  3332. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3333. Section14InvalidcRLIssuerTest27) {
  3334. const char* const certs[] = {"TrustAnchorRootCertificate",
  3335. "indirectCRLCA2Cert", "GoodCACert",
  3336. "InvalidcRLIssuerTest27EE"};
  3337. const char* const crls[] = {"TrustAnchorRootCRL", "GoodCACRL"};
  3338. PkitsTestInfo info;
  3339. info.test_number = "4.14.27";
  3340. info.should_validate = false;
  3341. this->RunTest(certs, crls, info);
  3342. }
  3343. // 4.14.28 Valid cRLIssuer Test28
  3344. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3345. Section14ValidcRLIssuerTest28) {
  3346. const char* const certs[] = {
  3347. "TrustAnchorRootCertificate", "indirectCRLCA3Cert",
  3348. "indirectCRLCA3cRLIssuerCert", "ValidcRLIssuerTest28EE"};
  3349. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA3CRL",
  3350. "indirectCRLCA3cRLIssuerCRL"};
  3351. PkitsTestInfo info;
  3352. info.test_number = "4.14.28";
  3353. info.should_validate = true;
  3354. this->RunTest(certs, crls, info);
  3355. }
  3356. // 4.14.29 Valid cRLIssuer Test29
  3357. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3358. Section14ValidcRLIssuerTest29) {
  3359. const char* const certs[] = {
  3360. "TrustAnchorRootCertificate", "indirectCRLCA3Cert",
  3361. "indirectCRLCA3cRLIssuerCert", "ValidcRLIssuerTest29EE"};
  3362. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA3CRL",
  3363. "indirectCRLCA3cRLIssuerCRL"};
  3364. PkitsTestInfo info;
  3365. info.test_number = "4.14.29";
  3366. info.should_validate = true;
  3367. this->RunTest(certs, crls, info);
  3368. }
  3369. // 4.14.30 Valid cRLIssuer Test30
  3370. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3371. Section14ValidcRLIssuerTest30) {
  3372. const char* const certs[] = {
  3373. "TrustAnchorRootCertificate", "indirectCRLCA4Cert",
  3374. "indirectCRLCA4cRLIssuerCert", "ValidcRLIssuerTest30EE"};
  3375. const char* const crls[] = {"TrustAnchorRootCRL",
  3376. "indirectCRLCA4cRLIssuerCRL"};
  3377. PkitsTestInfo info;
  3378. info.test_number = "4.14.30";
  3379. info.should_validate = true;
  3380. this->RunTest(certs, crls, info);
  3381. }
  3382. // 4.14.31 Invalid cRLIssuer Test31
  3383. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3384. Section14InvalidcRLIssuerTest31) {
  3385. const char* const certs[] = {"TrustAnchorRootCertificate",
  3386. "indirectCRLCA5Cert", "indirectCRLCA6Cert",
  3387. "InvalidcRLIssuerTest31EE"};
  3388. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA5CRL"};
  3389. PkitsTestInfo info;
  3390. info.test_number = "4.14.31";
  3391. info.should_validate = false;
  3392. this->RunTest(certs, crls, info);
  3393. }
  3394. // 4.14.32 Invalid cRLIssuer Test32
  3395. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3396. Section14InvalidcRLIssuerTest32) {
  3397. const char* const certs[] = {"TrustAnchorRootCertificate",
  3398. "indirectCRLCA5Cert", "indirectCRLCA6Cert",
  3399. "InvalidcRLIssuerTest32EE"};
  3400. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA5CRL"};
  3401. PkitsTestInfo info;
  3402. info.test_number = "4.14.32";
  3403. info.should_validate = false;
  3404. this->RunTest(certs, crls, info);
  3405. }
  3406. // 4.14.33 Valid cRLIssuer Test33
  3407. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3408. Section14ValidcRLIssuerTest33) {
  3409. const char* const certs[] = {"TrustAnchorRootCertificate",
  3410. "indirectCRLCA5Cert", "indirectCRLCA6Cert",
  3411. "ValidcRLIssuerTest33EE"};
  3412. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA5CRL"};
  3413. PkitsTestInfo info;
  3414. info.test_number = "4.14.33";
  3415. info.should_validate = true;
  3416. this->RunTest(certs, crls, info);
  3417. }
  3418. // 4.14.34 Invalid cRLIssuer Test34
  3419. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3420. Section14InvalidcRLIssuerTest34) {
  3421. const char* const certs[] = {"TrustAnchorRootCertificate",
  3422. "indirectCRLCA5Cert",
  3423. "InvalidcRLIssuerTest34EE"};
  3424. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA5CRL"};
  3425. PkitsTestInfo info;
  3426. info.test_number = "4.14.34";
  3427. info.should_validate = false;
  3428. this->RunTest(certs, crls, info);
  3429. }
  3430. // 4.14.35 Invalid cRLIssuer Test35
  3431. WRAPPED_TYPED_TEST_P(PkitsTest14DistributionPoints,
  3432. Section14InvalidcRLIssuerTest35) {
  3433. const char* const certs[] = {"TrustAnchorRootCertificate",
  3434. "indirectCRLCA5Cert",
  3435. "InvalidcRLIssuerTest35EE"};
  3436. const char* const crls[] = {"TrustAnchorRootCRL", "indirectCRLCA5CRL"};
  3437. PkitsTestInfo info;
  3438. info.test_number = "4.14.35";
  3439. info.should_validate = false;
  3440. this->RunTest(certs, crls, info);
  3441. }
  3442. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  3443. PkitsTest14DistributionPoints,
  3444. Section14ValiddistributionPointTest1,
  3445. Section14InvaliddistributionPointTest2,
  3446. Section14InvaliddistributionPointTest3,
  3447. Section14ValiddistributionPointTest4,
  3448. Section14ValiddistributionPointTest5,
  3449. Section14InvaliddistributionPointTest6,
  3450. Section14ValiddistributionPointTest7,
  3451. Section14InvaliddistributionPointTest8,
  3452. Section14InvaliddistributionPointTest9,
  3453. Section14ValidNoissuingDistributionPointTest10,
  3454. Section14InvalidonlyContainsUserCertsCRLTest11,
  3455. Section14InvalidonlyContainsCACertsCRLTest12,
  3456. Section14ValidonlyContainsCACertsCRLTest13,
  3457. Section14InvalidonlyContainsAttributeCertsTest14,
  3458. Section14InvalidonlySomeReasonsTest15,
  3459. Section14InvalidonlySomeReasonsTest16,
  3460. Section14InvalidonlySomeReasonsTest17,
  3461. Section14ValidonlySomeReasonsTest18,
  3462. Section14ValidonlySomeReasonsTest19,
  3463. Section14InvalidonlySomeReasonsTest20,
  3464. Section14InvalidonlySomeReasonsTest21,
  3465. Section14ValidIDPwithindirectCRLTest22,
  3466. Section14InvalidIDPwithindirectCRLTest23,
  3467. Section14ValidIDPwithindirectCRLTest24,
  3468. Section14ValidIDPwithindirectCRLTest25,
  3469. Section14InvalidIDPwithindirectCRLTest26,
  3470. Section14InvalidcRLIssuerTest27,
  3471. Section14ValidcRLIssuerTest28,
  3472. Section14ValidcRLIssuerTest29,
  3473. Section14ValidcRLIssuerTest30,
  3474. Section14InvalidcRLIssuerTest31,
  3475. Section14InvalidcRLIssuerTest32,
  3476. Section14ValidcRLIssuerTest33,
  3477. Section14InvalidcRLIssuerTest34,
  3478. Section14InvalidcRLIssuerTest35);
  3479. template <typename PkitsTestDelegate>
  3480. class PkitsTest15DeltaCRLs : public PkitsTest<PkitsTestDelegate> {};
  3481. TYPED_TEST_SUITE_P(PkitsTest15DeltaCRLs);
  3482. // 4.15.1 Invalid deltaCRLIndicator No Base Test1
  3483. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs,
  3484. Section15InvaliddeltaCRLIndicatorNoBaseTest1) {
  3485. const char* const certs[] = {"TrustAnchorRootCertificate",
  3486. "deltaCRLIndicatorNoBaseCACert",
  3487. "InvaliddeltaCRLIndicatorNoBaseTest1EE"};
  3488. const char* const crls[] = {"TrustAnchorRootCRL",
  3489. "deltaCRLIndicatorNoBaseCACRL"};
  3490. PkitsTestInfo info;
  3491. info.test_number = "4.15.1";
  3492. info.should_validate = false;
  3493. this->RunTest(certs, crls, info);
  3494. }
  3495. // 4.15.2 Valid delta-CRL Test2
  3496. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15ValiddeltaCRLTest2) {
  3497. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA1Cert",
  3498. "ValiddeltaCRLTest2EE"};
  3499. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA1CRL",
  3500. "deltaCRLCA1deltaCRL"};
  3501. PkitsTestInfo info;
  3502. info.test_number = "4.15.2";
  3503. info.should_validate = true;
  3504. this->RunTest(certs, crls, info);
  3505. }
  3506. // 4.15.3 Invalid delta-CRL Test3
  3507. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15InvaliddeltaCRLTest3) {
  3508. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA1Cert",
  3509. "InvaliddeltaCRLTest3EE"};
  3510. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA1CRL",
  3511. "deltaCRLCA1deltaCRL"};
  3512. PkitsTestInfo info;
  3513. info.test_number = "4.15.3";
  3514. info.should_validate = false;
  3515. this->RunTest(certs, crls, info);
  3516. }
  3517. // 4.15.4 Invalid delta-CRL Test4
  3518. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15InvaliddeltaCRLTest4) {
  3519. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA1Cert",
  3520. "InvaliddeltaCRLTest4EE"};
  3521. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA1CRL",
  3522. "deltaCRLCA1deltaCRL"};
  3523. PkitsTestInfo info;
  3524. info.test_number = "4.15.4";
  3525. info.should_validate = false;
  3526. this->RunTest(certs, crls, info);
  3527. }
  3528. // 4.15.5 Valid delta-CRL Test5
  3529. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15ValiddeltaCRLTest5) {
  3530. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA1Cert",
  3531. "ValiddeltaCRLTest5EE"};
  3532. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA1CRL",
  3533. "deltaCRLCA1deltaCRL"};
  3534. PkitsTestInfo info;
  3535. info.test_number = "4.15.5";
  3536. info.should_validate = true;
  3537. this->RunTest(certs, crls, info);
  3538. }
  3539. // 4.15.6 Invalid delta-CRL Test6
  3540. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15InvaliddeltaCRLTest6) {
  3541. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA1Cert",
  3542. "InvaliddeltaCRLTest6EE"};
  3543. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA1CRL",
  3544. "deltaCRLCA1deltaCRL"};
  3545. PkitsTestInfo info;
  3546. info.test_number = "4.15.6";
  3547. info.should_validate = false;
  3548. this->RunTest(certs, crls, info);
  3549. }
  3550. // 4.15.7 Valid delta-CRL Test7
  3551. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15ValiddeltaCRLTest7) {
  3552. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA1Cert",
  3553. "ValiddeltaCRLTest7EE"};
  3554. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA1CRL",
  3555. "deltaCRLCA1deltaCRL"};
  3556. PkitsTestInfo info;
  3557. info.test_number = "4.15.7";
  3558. info.should_validate = true;
  3559. this->RunTest(certs, crls, info);
  3560. }
  3561. // 4.15.8 Valid delta-CRL Test8
  3562. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15ValiddeltaCRLTest8) {
  3563. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA2Cert",
  3564. "ValiddeltaCRLTest8EE"};
  3565. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA2CRL",
  3566. "deltaCRLCA2deltaCRL"};
  3567. PkitsTestInfo info;
  3568. info.test_number = "4.15.8";
  3569. info.should_validate = true;
  3570. this->RunTest(certs, crls, info);
  3571. }
  3572. // 4.15.9 Invalid delta-CRL Test9
  3573. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15InvaliddeltaCRLTest9) {
  3574. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA2Cert",
  3575. "InvaliddeltaCRLTest9EE"};
  3576. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA2CRL",
  3577. "deltaCRLCA2deltaCRL"};
  3578. PkitsTestInfo info;
  3579. info.test_number = "4.15.9";
  3580. info.should_validate = false;
  3581. this->RunTest(certs, crls, info);
  3582. }
  3583. // 4.15.10 Invalid delta-CRL Test10
  3584. WRAPPED_TYPED_TEST_P(PkitsTest15DeltaCRLs, Section15InvaliddeltaCRLTest10) {
  3585. const char* const certs[] = {"TrustAnchorRootCertificate", "deltaCRLCA3Cert",
  3586. "InvaliddeltaCRLTest10EE"};
  3587. const char* const crls[] = {"TrustAnchorRootCRL", "deltaCRLCA3CRL",
  3588. "deltaCRLCA3deltaCRL"};
  3589. PkitsTestInfo info;
  3590. info.test_number = "4.15.10";
  3591. info.should_validate = false;
  3592. this->RunTest(certs, crls, info);
  3593. }
  3594. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  3595. PkitsTest15DeltaCRLs,
  3596. Section15InvaliddeltaCRLIndicatorNoBaseTest1,
  3597. Section15ValiddeltaCRLTest2,
  3598. Section15InvaliddeltaCRLTest3,
  3599. Section15InvaliddeltaCRLTest4,
  3600. Section15ValiddeltaCRLTest5,
  3601. Section15InvaliddeltaCRLTest6,
  3602. Section15ValiddeltaCRLTest7,
  3603. Section15ValiddeltaCRLTest8,
  3604. Section15InvaliddeltaCRLTest9,
  3605. Section15InvaliddeltaCRLTest10);
  3606. template <typename PkitsTestDelegate>
  3607. class PkitsTest16PrivateCertificateExtensions
  3608. : public PkitsTest<PkitsTestDelegate> {};
  3609. TYPED_TEST_SUITE_P(PkitsTest16PrivateCertificateExtensions);
  3610. // 4.16.1 Valid Unknown Not Critical Certificate Extension Test1
  3611. WRAPPED_TYPED_TEST_P(
  3612. PkitsTest16PrivateCertificateExtensions,
  3613. Section16ValidUnknownNotCriticalCertificateExtensionTest1) {
  3614. const char* const certs[] = {
  3615. "TrustAnchorRootCertificate",
  3616. "ValidUnknownNotCriticalCertificateExtensionTest1EE"};
  3617. const char* const crls[] = {"TrustAnchorRootCRL"};
  3618. PkitsTestInfo info;
  3619. info.test_number = "4.16.1";
  3620. info.should_validate = true;
  3621. this->RunTest(certs, crls, info);
  3622. }
  3623. // 4.16.2 Invalid Unknown Critical Certificate Extension Test2
  3624. WRAPPED_TYPED_TEST_P(PkitsTest16PrivateCertificateExtensions,
  3625. Section16InvalidUnknownCriticalCertificateExtensionTest2) {
  3626. const char* const certs[] = {
  3627. "TrustAnchorRootCertificate",
  3628. "InvalidUnknownCriticalCertificateExtensionTest2EE"};
  3629. const char* const crls[] = {"TrustAnchorRootCRL"};
  3630. PkitsTestInfo info;
  3631. info.test_number = "4.16.2";
  3632. info.should_validate = false;
  3633. this->RunTest(certs, crls, info);
  3634. }
  3635. WRAPPED_REGISTER_TYPED_TEST_SUITE_P(
  3636. PkitsTest16PrivateCertificateExtensions,
  3637. Section16ValidUnknownNotCriticalCertificateExtensionTest1,
  3638. Section16InvalidUnknownCriticalCertificateExtensionTest2);