Function

CertVerifyRevocation

Directives

External
Name
Stdcall

Module

wcrypt2

Last Modified

7/15/2014 3:26:44 PM

Comments

+-------------------------------------------------------------------------
  Verifies the array of contexts for revocation. The dwRevType parameter
  indicates the type of the context data structure passed in rgpvContext.
  Currently only the revocation of certificates is defined.
  If the CERT_VERIFY_REV_CHAIN_FLAG flag is set, then, CertVerifyRevocation
  is verifying a chain of certs where, rgpvContext[i + 1] is the issuer
  of rgpvContext[i]. Otherwise, CertVerifyRevocation makes no assumptions
  about the order of the contexts.
  To assist in finding the issuer, the pRevPara may optionally be set. See
  the CERT_REVOCATION_PARA data structure for details.
  The contexts must contain enough information to allow the
  installable or registered revocation DLLs to find the revocation server. For
  certificates, this information would normally be conveyed in an
  extension such as the IETF's AuthorityInfoAccess extension.
  CertVerifyRevocation returns TRUE if all of the contexts were successfully
  checked and none were revoked. Otherwise, returns FALSE and updates the
  returned pRevStatus data structure as follows:
    dwIndex
      Index of the first context that was revoked or unable to
      be checked for revocation
    dwError
      Error status. LastError is also set to this error status.
      dwError can be set to one of the following error codes defined
      in winerror.h:
        ERROR_SUCCESS - good context
        CRYPT_E_REVOKED - context was revoked. dwReason contains the
           reason for revocation
        CRYPT_E_REVOCATION_OFFLINE - unable to connect to the
           revocation server
        CRYPT_E_NOT_IN_REVOCATION_DATABASE - the context to be checked
           was not found in the revocation server's database.
        CRYPT_E_NO_REVOCATION_CHECK - the called revocation function
           wasn't able to do a revocation check on the context
        CRYPT_E_NO_REVOCATION_DLL - no installed or registered Dll was
           found to verify revocation
    dwReason
      The dwReason is currently only set for CRYPT_E_REVOKED and contains
      the reason why the context was revoked. May be one of the following
      CRL reasons defined by the CRL Reason Code extension ("2.5.29.21")
          CRL_REASON_UNSPECIFIED              0
          CRL_REASON_KEY_COMPROMISE           1
          CRL_REASON_CA_COMPROMISE            2
          CRL_REASON_AFFILIATION_CHANGED      3
          CRL_REASON_SUPERSEDED               4
          CRL_REASON_CESSATION_OF_OPERATION   5
          CRL_REASON_CERTIFICATE_HOLD         6
  For each entry in rgpvContext, CertVerifyRevocation iterates
  through the CRYPT_OID_VERIFY_REVOCATION_FUNC
  function set's list of installed DEFAULT functions.
  CryptGetDefaultOIDFunctionAddress is called with pwszDll = NULL. If no
  installed functions are found capable of doing the revocation verification,
  CryptVerifyRevocation iterates through CRYPT_OID_VERIFY_REVOCATION_FUNC's
  list of registered DEFAULT Dlls. CryptGetDefaultOIDDllList is called to
  get the list. CryptGetDefaultOIDFunctionAddress is called to load the Dll.
  The called functions have the same signature as CertVerifyRevocation. A
  called function returns TRUE if it was able to successfully check all of
  the contexts and none were revoked. Otherwise, the called function returns
  FALSE and updates pRevStatus. dwIndex is set to the index of
  the first context that was found to be revoked or unable to be checked.
  dwError and LastError are updated. For CRYPT_E_REVOKED, dwReason
  is updated. Upon input to the called function, dwIndex, dwError and
  dwReason have been zero'ed. cbSize has been checked to be >=
  sizeof(CERT_REVOCATION_STATUS).
  If the called function returns FALSE, and dwError isn't set to
  CRYPT_E_REVOKED, then, CertVerifyRevocation either continues on to the
  next DLL in the list for a returned dwIndex of 0 or for a returned
  dwIndex > 0, restarts the process of finding a verify function by
  advancing the start of the context array to the returned dwIndex and
  decrementing the count of remaining contexts.
--------------------------------------------------------------------------

The next was a "array of PVOID" changed to a PPVOID; *RWF

Scope

Interfaced

Declaration

function CertVerifyRevocation(dwEncodingType :DWORD;
                              dwRevType :DWORD;
                              cContext :DWORD;
                              //The next was a "array of PVOID" changed to a PPVOID; *RWF
                              rgpvContext: PPVOID;   //Pointer to an array of PVOID's
                              dwFlags :DWORD;
                              pRevPara :PCERT_REVOCATION_PARA;
                              pRevStatus :PCERT_REVOCATION_STATUS
                              ):BOOL ; stdcall;

Called-By Hierarchy


                                                    CertVerifyRevocation
                                                                 Revco┘ 
                                              tCryptography.FindCert┘   
                                            tCryptography.SignData┤     
                                                    getSANFromCard┘     
                                                          SetSAN┘       
                           TfrmFrame.DigitalSigningSetup1Click┤         
                                             ExecuteSignOrders┤         
                                  TfrmOrders.mnuActSignClick┘ │         
                                         TfrmReview.cmdOKClick┘         
                                               ReviewChanges┘           
                           TfrmFrame.AllowContextChangeAll┤             
                                TfrmFrame.FormCloseQuery┤ │             
                              TfrmFrame.mnuFileNextClick┤ │             
                            TfrmFrame.mnuFileOpenClick┤ │ │             
                                TfrmFrame.UMInitiate┤ │ │ │             
                       TfrmFrame.mnuFileNextClick...┤ │ │ │             
                       TfrmFrame.mnuFileRefreshClick┤ │ │ │             
                       TfrmOrders.CheckOrderStatus┤ │ │ │ │             
                   TfrmOrders.mnuActChgEvntClick┤ │ │ │ │ │             
                      TfrmOrders.mnuActHoldClick┤ │ │ │ │ │             
                    TfrmOrders.mnuActUnholdClick┤ │ │ │ │ │             
                     TfrmOrders.mnuActRenewClick┤ │ │ │ │ │             
                    TfrmOrders.mnuActChangeClick┤ │ │ │ │ │             
                      TfrmOrders.mnuActCopyClick┘ │ │ │ │ │             
                            TfrmMeds.mnuActDCClick┤ │ │ │ │             
                           TfrmMeds.CheckMedStatus┘ │ │ │ │             
                        TfrmMeds.mnuActHoldClick┤   │ │ │ │             
                       TfrmMeds.mnuActRenewClick┤   │ │ │ │             
                      TfrmMeds.mnuActUnholdClick┤   │ │ │ │             
                      TfrmMeds.mnuActChangeClick┤   │ │ │ │             
                        TfrmMeds.mnuActCopyClick┤   │ │ │ │             
                      TfrmMeds.mnuActRefillClick┘   │ │ │ │             
                                  TfrmFrame.ViewInfo┘ │ │ │             
                               TfrmDCSumm.ViewInfo┤   │ │ │             
                             TfrmConsults.ViewInfo┤   │ │ │             
                     TfrmFrame.pnlRemindersMouseUp┤   │ │ │             
                      TfrmFrame.RemindersChanged┘ │   │ │ │             
                          TfrmFrame.FormCreate┘   │   │ │ │             
                            TfrmFrame.pnlCIRNClick┤   │ │ │             
                      TfrmFrame.pnlVistaWebClick┤ │   │ │ │             
                           TfrmFrame.FormKeyDown┘ │   │ │ │             
                         TfrmFrame.pnlPatientClick┤   │ │ │             
                           TfrmFrame.pnlVisitClick┤   │ │ │             
                     TfrmFrame.pnlPrimaryCareClick┤   │ │ │             
                       TfrmFrame.pnlRemindersClick┤   │ │ │             
                        TfrmFrame.pnlPostingsClick┤   │ │ │             
                            TfrmFrame.pnlFlagClick┤   │ │ │             
                              TfrmFrame.laMHVClick┤   │ │ │             
                             TfrmFrame.laVAA2Click┤   │ │ │             
                               TfrmOrders.ViewInfo┤   │ │ │             
                                 TfrmMeds.ViewInfo┤   │ │ │             
                              TfrmSurgery.ViewInfo┤   │ │ │             
                                TfrmNotes.ViewInfo┤   │ │ │             
                             TfrmProblems.ViewInfo┘   │ │ │             
                     TfrmFrame.mnuFileNotifRemoveClick┤ │ │             
                             TfrmFrame.NextButtonClick┘ │ │             
                           TfrmFrame.SetUpNextButton┘   │ │             
                     TfrmFrame.mnuFileOpenClick...┤     │ │             
                              TfrmFrame.FormResize┘     │ │             
                            TfrmFrame.ChangeFont┘       │ │             
                    TfrmFrame.LoadSizesForUser┤         │ │             
               TfrmFrame.LoadUserPreferences┘ │         │ │             
                      TfrmFrame.UMInitiate┘   │         │ │             
                    TfrmFrame.mnuFontSizeClick┘         │ │             
                           TfrmFrame.mnuFileOpenClick...┤ │             
                           TfrmFrame.ctxContextorPending┤ │             
                          TfrmFrame.StartCCOWContextor┘ │ │             
                                TfrmFrame.FormCreate┘   │ │             
                         TfrmFrame.ctxContextorCommitted┤ │             
                       TfrmFrame.StartCCOWContextor...┘ │ │             
                  TfrmFrame.mnuFileResumeContextGetClick┤ │             
                  TfrmFrame.mnuFileResumeContextSetClick┘ │             
                                  TfrmFrame.FormCloseQuery┤             
                              TfrmFrame.mnuFileReviewClick┤             
                                           UpdateEncounter┘             
                         TfrmFrame.mnuFileEncounterClick┤               
                                 TfrmFrame.ViewInfo...┤ │               
                    TfrmODMedIV.SetValuesFromResponses┤ │               
                             TfrmODMedIV.SetupDialog┤ │ │               
                   TfrmODMedIV.cboSolutionMouseClick┘ │ │               
                       TfrmODMedIV.cboSolutionExit┘   │ │               
                  TfrmODMedIV.cboSolutionMouseClick...┤ │               
                     TfrmODMedIV.cboAdditiveMouseClick┤ │               
                         TfrmODMedIV.cboAdditiveExit┘ │ │               
                                TfrmODAuto.SetupDialog┤ │               
                                   ActivateOrderDialog┤ │               
                           TfrmRemDlg.btnFinishClick┤ │ │               
           TfrmConsults.mnuActNewConsultRequestClick┤ │ │               
                   TfrmConsults.cmdNewConsultClick┘ │ │ │               
                TfrmConsults.mnuActNewProcedureClick┤ │ │               
                      TfrmConsults.cmdNewProcClick┘ │ │ │               
                                        ChangeOrders┤ │ │               
                      TfrmOrders.mnuActChangeClick┤ │ │ │               
                        TfrmMeds.mnuActChangeClick┘ │ │ │               
                                     ChangeOrdersEvt┤ │ │               
                                          CopyOrders┤ │ │               
                        TfrmOrders.mnuActCopyClick┤ │ │ │               
                          TfrmMeds.mnuActCopyClick┤ │ │ │               
                           TfrmODActive.btnOKClick┘ │ │ │               
                                      TransferOrders┤ │ │               
                        TfrmOrders.mnuActCopyClick┤ │ │ │               
                          TfrmMeds.mnuActCopyClick┤ │ │ │               
                           TfrmODActive.btnOKClick┘ │ │ │               
                            TfrmOrders.lstWriteClick┤ │ │               
               TfrmOrders.PlaceOrderForDefaultDialog┤ │ │               
                  TfrmOrders.DisplayDefaultDlgList┤ │ │ │               
                       TfrmOrders.ResetOrderPage┘ │ │ │ │               
               TfrmOrders.btnDelayedOrderClick┘   │ │ │ │               
                                 DisplayEvntDialog┤ │ │ │               
                             SetDelayEventForMed┘ │ │ │ │               
                      TfrmMeds.mnuActCopyClick┘   │ │ │ │               
                                 DisplayEvntDialog┤ │ │ │               
                                  SetViewForCopy┘ │ │ │ │               
                    TfrmOrders.mnuActCopyClick┘   │ │ │ │               
                                 DisplayEvntDialog┘ │ │ │               
                                ExecuteChangeEvt┘   │ │ │               
                 TfrmOrders.mnuActChgEvntClick┘     │ │ │               
                             TfrmMeds.mnuActNewClick┤ │ │               
                           TfrmOMNavA.ActivateDialog┤ │ │               
                         TfrmOMNavA.grdMenuKeyDown┤ │ │ │               
                         TfrmOMNavA.grdMenuMouseUp┘ │ │ │               
                                TfrmOMSet.DoNextItem┘ │ │               
                              TfrmOMSet.InsertList┤   │ │               
                               ActivateOrderList┘ │   │ │               
                     TfrmRemDlg.btnFinishClick┤   │   │ │               
                             ActivateOrderHTML┤   │   │ │               
                    TfrmOrders.lstWriteClick┤ │   │   │ │               
    TfrmOrders.PlaceOrderForDefaultDialog...┘ │   │   │ │               
                              ActivateOrderSet┤   │   │ │               
                   TfrmRemDlg.btnFinishClick┤ │   │   │ │               
TfrmConsults.mnuActNewConsultRequestClick...┤ │   │   │ │               
     TfrmConsults.mnuActNewProcedureClick...┤ │   │   │ │               
                    TfrmOrders.lstWriteClick┤ │   │   │ │               
    TfrmOrders.PlaceOrderForDefaultDialog...┤ │   │   │ │               
                     TfrmMeds.mnuActNewClick┤ │   │   │ │               
                TfrmOMNavA.ActivateDialog...┤ │   │   │ │               
                     TfrmOMSet.DoNextItem...┘ │   │   │ │               
                       TfrmOMNavA.DoSelectList┘   │   │ │               
                     TfrmOMNavA.grdMenuKeyUp┤     │   │ │               
                   TfrmOMNavA.grdMenuMouseUp┘     │   │ │               
                                        SkipToNext┤   │ │               
                         TfrmOMSet.DoNextItem...┘ │   │ │               
                            TfrmOMSet.UMDelayEvent┘   │ │               
                               TfrmOMSet.InsertList...┤ │               
                                TfrmODMeds.SetupDialog┤ │               
                             TfrmODMeds.btnSelectClick┤ │               
                             TfrmODMeds.UMDelayClick┘ │ │               
                                    ExecuteRenewOrders┘ │               
                         TfrmOrders.mnuActRenewClick┤   │               
                           TfrmMeds.mnuActRenewClick┘   │               
                                        EncounterPresent┤               
                                      ReadyForNewOrder┤ │               
                           TfrmRemDlg.btnFinishClick┤ │ │               
        TfrmConsults.mnuActNewConsultRequestClick...┤ │ │               
             TfrmConsults.mnuActNewProcedureClick...┤ │ │               
                                     ChangeOrders...┤ │ │               
                                     ChangeOrdersEvt┤ │ │               
                                       CopyOrders...┤ │ │               
                                   TransferOrders...┤ │ │               
                            TfrmOrders.lstWriteClick┤ │ │               
                             TfrmMeds.mnuActNewClick┘ │ │               
                                     ReadyForNewOrder1┤ │               
            TfrmOrders.PlaceOrderForDefaultDialog...┘ │ │               
                              TfrmOrders.mnuActDCClick┤ │               
                             TfrmOrders.mnuActRelClick┤ │               
                            TfrmOrders.mnuActHoldClick┤ │               
                          TfrmOrders.mnuActUnholdClick┤ │               
                           TfrmOrders.mnuActRenewClick┤ │               
                         TfrmOrders.mnuActReleaseClick┤ │               
                         TfrmOrders.mnuActOnChartClick┤ │               
                            TfrmOrders.mnuActSignClick┤ │               
                                TfrmMeds.mnuActDCClick┤ │               
                              TfrmMeds.mnuActHoldClick┤ │               
                             TfrmMeds.mnuActRenewClick┤ │               
                            TfrmMeds.mnuActUnholdClick┤ │               
                              TfrmMeds.mnuActCopyClick┤ │               
                            TfrmMeds.mnuActRefillClick┘ │               
                                     EncounterPresentEDO┤               
                                   ReadyForNewOrder...┤ │               
                         TfrmOrders.mnuActChgEvntClick┤ │               
                          TfrmOrders.mnuActChangeClick┤ │               
                            TfrmOrders.mnuActCopyClick┤ │               
                       TfrmOrders.btnDelayedOrderClick┤ │               
                            TfrmMeds.mnuActChangeClick┤ │               
                              TfrmMeds.mnuActCopyClick┘ │               
                                             UpdateVisit┤               
                                           EditPCEData┤ │               
                             TfrmSurgery.cmdPCEClick┤ │ │               
                                 UpdateEncounterInfo┘ │ │               
                             TfrmNotes.cmdPCEClick┘   │ │               
                        TfrmVitals.btnEnterVitalsClick┘ │               
                                             UpdateVisit┤               
                                        EncounterPresent┘               
                         TfrmProblems.lstProbActsClick┘                 
                     TfrmProblems.wgProbDataDblClick┤                   
                           TfrmProblems.lstViewClick┘                   
                   TfrmProblems.HighlightDuplicate┘                     
                         TfrmProblems.AddProblem┤                       
              TfrmProblems.lstProbActsClick...┤ │                       
                 TfrmProblems.lstProbPickClick┤ │                       
              TfrmProblems.lstProbPickDblClick┤ │                       
              TfrmProblems.edProbEntKeyPress┘ │ │                       
                      TfrmProblems.UMPLLexicon┘ │                       
                   TfrmdlgProb.bbChangeProbClick┘                       

Called-By

Name Declaration Comments
Revco function Revco(): boolean; -


Source