• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/Security-57031.1.35/Security/sec/securityd/

Lines Matching refs:rvc

1854 static void SecRVCDelete(SecRVCRef rvc) {
1855 secdebug("alloc", "%p", rvc);
1856 asynchttp_free(&rvc->http);
1857 SecOCSPRequestFinalize(rvc->ocspRequest);
1860 /* Return the next responder we should contact for this rvc or NULL if we
1862 static CFURLRef SecRVCGetNextResponder(SecRVCRef rvc) {
1863 SecCertificateRef cert = SecPVCGetCertificateAtIndex(rvc->pvc, rvc->certIX);
1867 while (rvc->responderIX < responderCount) {
1868 CFURLRef responder = CFArrayGetValueAtIndex(ocspResponders, rvc->responderIX);
1869 rvc->responderIX++;
1886 static bool SecRVCFetchNext(SecRVCRef rvc) {
1887 while ((rvc->responder = SecRVCGetNextResponder(rvc))) {
1888 CFDataRef request = SecOCSPRequestGetDER(rvc->ocspRequest);
1892 if (!asyncHttpPost(rvc->responder, request, &rvc->http)) {
1899 rvc->done = true;
1906 SecRVCRef rvc) {
1910 secdebug("ocsp", "CS_Good for cert %" PRIdCFIndex, rvc->certIX);
1914 rvc->nextUpdate = this->nextUpdate;
1918 secdebug("ocsp", "CS_Revoked for cert %" PRIdCFIndex, rvc->certIX);
1925 SecPVCSetResultForced(rvc->pvc, kSecPolicyCheckRevocation, rvc->certIX,
1932 secdebug("ocsp", "CS_Unknown for cert %" PRIdCFIndex, rvc->certIX);
1937 (int)this->certStatus, rvc->certIX);
1945 static bool SecOCSPResponseVerify(SecOCSPResponseRef ocspResponse, SecRVCRef rvc) {
1947 SecCertificatePathRef issuer = SecCertificatePathCopyFromParent(rvc->pvc->path, rvc->certIX + 1);
1956 rvc->responder);
1961 rvc->responder);
1969 SecPVCInit(&ospvc, rvc->pvc->builder, policies, verifyTime);
1986 rvc->responder);
2001 rvc->responder);
2008 rvc->certIX, (trusted ? "t" : "u"));
2017 SecRVCRef rvc = (SecRVCRef)http->info;
2018 SecPVCRef pvc = rvc->pvc;
2033 SecOCSPResponseCopySingleResponse(ocspResponse, rvc->ocspRequest);
2039 rvc->responder);
2048 if (SecOCSPResponseVerify(ocspResponse, rvc)) {
2050 rvc->responder);
2052 if (SecOCSPSingleResponseProccess(sr, rvc)) {
2053 if (rvc->nextUpdate == 0) {
2054 rvc->nextUpdate =
2059 SecOCSPCacheAddResponse(ocspResponse, rvc->responder);
2060 rvc->done = true;
2068 rvc->responder, orStatus);
2071 rvc->certIX, kCFBooleanFalse, true))
2078 if (!rvc->done) {
2081 SecRVCFetchNext(rvc);
2084 if (rvc->done) {
2085 SecRVCDelete(rvc);
2092 static void SecRVCInit(SecRVCRef rvc, SecPVCRef pvc, CFIndex certIX) {
2093 secdebug("alloc", "%p", rvc);
2094 rvc->pvc = pvc;
2095 rvc->certIX = certIX;
2096 rvc->http.queue = SecPathBuilderGetQueue(pvc->builder);
2097 rvc->http.completed = SecOCSPFetchCompleted;
2098 rvc->http.info = rvc;
2099 rvc->ocspRequest = NULL;
2100 rvc->responderIX = 0;
2101 rvc->responder = NULL;
2102 rvc->nextUpdate = 0;
2103 rvc->done = false;
2146 SecCertificateRef cert = SecPVCGetCertificateAtIndex(rvc->pvc, rvc->certIX);
2188 SecRVCRef rvc = &((SecRVCRef)pvc->rvcs)[certIX];
2189 SecRVCInit(rvc, pvc, certIX);
2190 if (rvc->done)
2193 SecCertificateRef cert = SecPVCGetCertificateAtIndex(rvc->pvc,
2194 rvc->certIX);
2197 SecCertificateRef issuer = SecPVCGetCertificateAtIndex(rvc->pvc,
2198 rvc->certIX + 1);
2200 rvc->ocspRequest = SecOCSPRequestCreate(cert, issuer);
2202 ocspResponse = SecOCSPCacheCopyMatching(rvc->ocspRequest, NULL);
2205 SecOCSPResponseCopySingleResponse(ocspResponse, rvc->ocspRequest);
2220 if (SecOCSPResponseVerify(ocspResponse, rvc)) {
2223 if (SecOCSPSingleResponseProccess(sr, rvc)) {
2226 if (rvc->nextUpdate == 0 || expTime < rvc->nextUpdate)
2227 rvc->nextUpdate = expTime;
2228 rvc->done = true;
2240 if (rvc->done || !SecPathBuilderCanAccessNetwork(pvc->builder) ||
2241 (fetch_done = SecRVCFetchNext(rvc))) {
2244 SecRVCDelete(rvc);
2771 SecRVCRef rvc = &((SecRVCRef)pvc->rvcs)[certIX];
2772 if (rvc->nextUpdate == 0) {
2779 SecPVCGetCertificateAtIndex(rvc->pvc, rvc->certIX);
2791 enu = rvc->nextUpdate;
2794 if (enu == 0 || rvc->nextUpdate < enu) {
2795 enu = rvc->nextUpdate;
2803 SecCertificateRef cert = SecPVCGetCertificateAtIndex(rvc->pvc, rvc->certIX);