Function

Revco

Module

XuDsigS

Last Modified

7/15/2014 3:26:44 PM

Scope

Local

Local subprogram to

FindCert

Declaration

function Revco(): boolean;

Calls Hierarchy


Revco
 └CertVerifyRevocation

Called-By Hierarchy


                                                                 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┘                     

Calls

Name Declaration Comments
CertVerifyRevocation function CertVerifyRevocation(dwEncodingType :DWORD; dwRevType :DWORD; cContext :DWORD; -

Called-By

Name Declaration Comments
tCryptography.FindCert function FindCert: boolean; -


Source

491   function Revco(): boolean;
492   var
493     //var's for Revocation checking
494     RevStatus: CERT_REVOCATION_STATUS;
495     pRevStatus: PCERT_REVOCATION_STATUS;
496     RevPara: CERT_REVOCATION_PARA;
497     rgpvContext: array[0..3] of pointer;
498     i: integer;
499     cContext: DWORD;
500   begin
501      //This takes a long time
502      RevPara.cbSize := sizeof(RevPara);
503      RevStatus.cbSize := sizeof(RevStatus);
504      RevStatus.dwIndex := 0;
505      RevStatus.dwError := 0;
506      pRevStatus := @RevStatus;
507      for i := 0 to 3 do
508        rgpvContext[i] := nil;
509      rgpvContext[0] := pCertContext;
510      cContext := 1;
511      prgp := @(rgpvContext[0]);
512      Result := CertVerifyRevocation( c_ENCODING_TYPE,
513                              CERT_CONTEXT_REVOCATION_TYPE,
514                              cContext,
515                              prgp,
516                              CERT_VERIFY_REV_SERVER_OCSP_FLAG,  // was CERT_VERIFY_REV_CHAIN_FLAG,
517                              nil,
518                              pRevStatus);
519      //Now to check the status
520      if Result = false then
521      begin
522        LastErr := GetLastError;
523        str2 := SysErrorMessage(LastErr);
524        RevocationReason := 'Revocation failed - error: '+IntToStr(LastErr)+' - '+Str2;
525        TrackingMsg.Add('  '+RevocationReason);
526      end;  //if
527   end;  //nested function
528