XKMSValidateResult * XKMSMessageFactoryImpl::createValidateResult( XKMSValidateRequest * request, XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument **doc, XKMSResultType::ResultMajor rmaj, XKMSResultType::ResultMinor rmin, const XMLCh * id) { // Create a document to put the element in XMLCh tempStr[100]; XMLString::transcode("Core", tempStr, 99); DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr); *doc = impl->createDocument(); // Embed the new structure in the document XKMSValidateResult * vr = createValidateResult(request, *doc, rmaj, rmin, id); (*doc)->appendChild(vr->getElement()); return vr; }
PKIX_BuildResult * createBuildResult( char *dirName, char *anchorFileName, char *pubKeyCertFileName, char *firstChainCertFileName, char *secondChainCertFileName, void *plContext) { PKIX_BuildResult *buildResult = NULL; PKIX_ValidateResult *valResult = NULL; PKIX_List *certChain = NULL; PKIX_TEST_STD_VARS(); valResult = createValidateResult (dirName, anchorFileName, pubKeyCertFileName, plContext); certChain = createCertChain (dirName, firstChainCertFileName, secondChainCertFileName, plContext); PKIX_TEST_EXPECT_NO_ERROR (pkix_BuildResult_Create (valResult, certChain, &buildResult, plContext)); cleanup: if (PKIX_TEST_ERROR_RECEIVED){ PKIX_TEST_DECREF_AC(buildResult); } PKIX_TEST_DECREF_AC(valResult); PKIX_TEST_DECREF_AC(certChain); PKIX_TEST_RETURN(); return (buildResult); }
int test_valresult(int argc, char *argv[]) { PKIX_ValidateResult *goodObject = NULL; PKIX_ValidateResult *equalObject = NULL; PKIX_ValidateResult *diffObject = NULL; PKIX_UInt32 actualMinorVersion; PKIX_UInt32 j = 0; char *goodInput = "yassir2yassir"; char *diffInput = "yassir2bcn"; char *dirName = NULL; char *expectedAscii = "[\n" "\tTrustAnchor: \t\t" "[\n" "\tTrusted CA Name: " "CN=yassir,OU=bcn,OU=east,O=sun,C=us\n" "\tTrusted CA PublicKey: ANSI X9.57 DSA Signature\n" "\tInitial Name Constraints:(null)\n" "]\n" "\tPubKey: \t\t" "ANSI X9.57 DSA Signature\n" "\tPolicyTree: \t\t(null)\n" "]\n"; PKIX_TEST_STD_VARS(); startTests("ValidateResult"); PKIX_TEST_EXPECT_NO_ERROR( PKIX_PL_NssContext_Create(0, PKIX_FALSE, NULL, &plContext)); if (argc < 2){ printUsage(argv[0]); return (0); } dirName = argv[j+1]; subTest("pkix_ValidateResult_Create"); goodObject = createValidateResult (dirName, goodInput, diffInput, plContext); equalObject = createValidateResult (dirName, goodInput, diffInput, plContext); diffObject = createValidateResult (dirName, diffInput, goodInput, plContext); testGetPublicKey(goodObject, equalObject); testGetTrustAnchor(goodObject, equalObject); testGetPolicyTree(goodObject, equalObject); PKIX_TEST_EQ_HASH_TOSTR_DUP (goodObject, equalObject, diffObject, expectedAscii, ValidateResult, PKIX_FALSE); testDestroy(goodObject, equalObject, diffObject); cleanup: PKIX_Shutdown(plContext); PKIX_TEST_RETURN(); endTests("ValidateResult"); return (0); }