Function

tCryptography.CRLDistPoint

Module

XuDsigS

Last Modified

7/15/2014 3:26:44 PM

Visibility

Private

Owner

tCryptography

Declaration

function CRLDistPoint(pbData: pointer; cbData: integer): string;

Calls Hierarchy


tCryptography.CRLDistPoint
 └CryptDecodeObject

Called-By Hierarchy


                                            tCryptography.CRLDistPoint
                                              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
CryptDecodeObject function CryptDecodeObject(dwCertEncodingType :DWORD; lpszStructType :LPCSTR; const pbEncoded :PBYTE; cbEncoded :DWORD; dwFlags :DWORD; pvStructInfo :PVOID; pcbStructInfo :PDWORD):BOOL ; stdcall; -

Called-By

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


Source

1304  function tCryptography.CRLDistPoint(pbData: pointer; cbData: integer): string;
1305  var
1306      buff: array[0..1023] of byte;
1307      cbBuff: DWORD;
1308      pvcrl_dist_info: PCRL_DIST_POINTS_INFO;
1309      pvcrl_dist_point: PCRL_DIST_POINT;
1310      distPointName: CRL_DIST_POINT_NAME;
1311      CertAltNameInfo: CERT_ALT_NAME_INFO;
1312      CertAltNameEntry: PCERT_ALT_NAME_ENTRY;
1313      ix, j: integer;
1314      str, lcstr: string;
1315  begin
1316      pvcrl_dist_info := @buff;
1317      cbBuff := 1024;
1318      Result := '';
1319      str := '';
1320      if CryptDecodeObject(c_ENCODING_TYPE,
1321          X509_CRL_DIST_POINTS,
1322          pbData,
1323          cbData,
1324          0,
1325          pvcrl_dist_info, @cbBuff) = False then
1326          Str := SysErrorMessage(GetLastError);
1327      if Str = '' then
1328      begin
1329        j := pvCrl_dist_Info.cDistPoint;
1330        Result := 'CRL dist cnt: ' + IntToStr(j) + #9;
1331        pvcrl_dist_point := pvCrl_dist_Info.rgDistPoint;
1332        for ix := 0 to j - 1 do
1333          begin
1334            DistPointName := pvCrl_Dist_Point.DistPointName;
1335            if DistPointName.dwDistPointNameChoice = CRL_DIST_POINT_FULL_NAME then
1336              begin
1337                str := '';
1338                CertAltNameInfo := DistPointName.FullName;
1339                CertAltNameEntry := CertAltNameInfo.rgAltEntry;
1340                if CertAltNameEntry.dwAltNameChoice = CERT_ALT_NAME_URL then
1341                  begin
1342                    str := CertAltNameEntry.pwszURL;
1343                    lcstr := LowerCase(str);
1344                    //Only send http or URL's that end in .COM or .GOV for now
1345                    if (pos('http' , lcstr) = 1) or
1346                       (pos('.com/', lcstr) > 0) or
1347                       (pos('.gov/', lcstr) > 0) then
1348                                Result := Result + str + #9;
1349                  end;
1350             end;
1351             inc(pvcrl_dist_point, 1);
1352         end;
1353      end;
1354  end;