static void createTrustAnchors( char *dirName, char *goodInput, PKIX_TrustAnchor **goodObject, PKIX_TrustAnchor **equalObject, PKIX_TrustAnchor **diffObject) { subTest("PKIX_TrustAnchor_CreateWithNameKeyPair <goodObject>"); *goodObject = createTrustAnchor(dirName, goodInput, PKIX_FALSE, plContext); subTest("PKIX_TrustAnchor_CreateWithNameKeyPair <equalObject>"); *equalObject = createTrustAnchor(dirName, goodInput, PKIX_FALSE, plContext); subTest("PKIX_TrustAnchor_CreateWithCert <diffObject>"); *diffObject = createTrustAnchor(dirName, goodInput, PKIX_TRUE, plContext); }
PKIX_ValidateResult * createValidateResult( char *dirName, char *anchorFileName, char *pubKeyCertFileName, void *plContext) { PKIX_TrustAnchor *anchor = NULL; PKIX_ValidateResult *valResult = NULL; PKIX_PL_Cert *cert = NULL; PKIX_PL_PublicKey *pubKey = NULL; PKIX_TEST_STD_VARS(); anchor = createTrustAnchor (dirName, anchorFileName, PKIX_FALSE, plContext); cert = createCert(dirName, pubKeyCertFileName, plContext); PKIX_TEST_EXPECT_NO_ERROR(PKIX_PL_Cert_GetSubjectPublicKey (cert, &pubKey, plContext)); PKIX_TEST_EXPECT_NO_ERROR (pkix_ValidateResult_Create (pubKey, anchor, NULL, &valResult, plContext)); cleanup: if (PKIX_TEST_ERROR_RECEIVED){ PKIX_TEST_DECREF_AC(valResult); } PKIX_TEST_DECREF_AC(anchor); PKIX_TEST_DECREF_AC(cert); PKIX_TEST_DECREF_AC(pubKey); PKIX_TEST_RETURN(); return (valResult); }
PKIX_ProcessingParams * createProcessingParams( char *dirName, char *firstAnchorFileName, char *secondAnchorFileName, char *dateAscii, PKIX_List *initialPolicies, /* List of PKIX_PL_OID */ PKIX_Boolean isCrlEnabled, void *plContext) { PKIX_TrustAnchor *firstAnchor = NULL; PKIX_TrustAnchor *secondAnchor = NULL; PKIX_List *anchorsList = NULL; PKIX_ProcessingParams *procParams = NULL; PKIX_PL_String *dateString = NULL; PKIX_PL_Date *testDate = NULL; PKIX_TEST_STD_VARS(); PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_Create(&anchorsList, plContext)); firstAnchor = createTrustAnchor (dirName, firstAnchorFileName, PKIX_FALSE, plContext); PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem (anchorsList, (PKIX_PL_Object *)firstAnchor, plContext)); if (secondAnchorFileName){ secondAnchor = createTrustAnchor (dirName, secondAnchorFileName, PKIX_FALSE, plContext); PKIX_TEST_EXPECT_NO_ERROR(PKIX_List_AppendItem (anchorsList, (PKIX_PL_Object *)secondAnchor, plContext)); } PKIX_TEST_EXPECT_NO_ERROR(PKIX_ProcessingParams_Create (anchorsList, &procParams, plContext)); if (dateAscii){ PKIX_TEST_EXPECT_NO_ERROR (PKIX_PL_String_Create (PKIX_ESCASCII, dateAscii, 0, &dateString, plContext)); PKIX_TEST_EXPECT_NO_ERROR (PKIX_PL_Date_Create_UTCTime (dateString, &testDate, plContext)); PKIX_TEST_EXPECT_NO_ERROR (PKIX_ProcessingParams_SetDate (procParams, testDate, plContext)); } PKIX_TEST_EXPECT_NO_ERROR(PKIX_ProcessingParams_SetInitialPolicies (procParams, initialPolicies, plContext)); PKIX_TEST_EXPECT_NO_ERROR(PKIX_ProcessingParams_SetRevocationEnabled (procParams, isCrlEnabled, plContext)); cleanup: if (PKIX_TEST_ERROR_RECEIVED){ PKIX_TEST_DECREF_AC(procParams); } PKIX_TEST_DECREF_AC(dateString); PKIX_TEST_DECREF_AC(testDate); PKIX_TEST_DECREF_AC(anchorsList); PKIX_TEST_DECREF_AC(firstAnchor); PKIX_TEST_DECREF_AC(secondAnchor); PKIX_TEST_RETURN(); return (procParams); }