JwaWinCrypt.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:773k
源码类别:

Windows编程

开发平台:

Delphi

  1. begin
  2.   GetProcedureAddress(_CertVerifySubjectCertContext, crypt32, 'CertVerifySubjectCertificateContext');
  3.   asm
  4.     mov esp, ebp
  5.     pop ebp
  6.     jmp [_CertVerifySubjectCertContext]
  7.   end;
  8. end;
  9. {$ELSE}
  10. function CertVerifySubjectCertificateContext; external crypt32 name 'CertVerifySubjectCertificateContext';
  11. {$ENDIF DYNAMIC_LINK}
  12. {$IFDEF DYNAMIC_LINK}
  13. var
  14.   _CertDuplicateCertificateContext: Pointer;
  15. function CertDuplicateCertificateContext;
  16. begin
  17.   GetProcedureAddress(_CertDuplicateCertificateContext, crypt32, 'CertDuplicateCertificateContext');
  18.   asm
  19.     mov esp, ebp
  20.     pop ebp
  21.     jmp [_CertDuplicateCertificateContext]
  22.   end;
  23. end;
  24. {$ELSE}
  25. function CertDuplicateCertificateContext; external crypt32 name 'CertDuplicateCertificateContext';
  26. {$ENDIF DYNAMIC_LINK}
  27. {$IFDEF DYNAMIC_LINK}
  28. var
  29.   _CertCreateCertificateContext: Pointer;
  30. function CertCreateCertificateContext;
  31. begin
  32.   GetProcedureAddress(_CertCreateCertificateContext, crypt32, 'CertCreateCertificateContext');
  33.   asm
  34.     mov esp, ebp
  35.     pop ebp
  36.     jmp [_CertCreateCertificateContext]
  37.   end;
  38. end;
  39. {$ELSE}
  40. function CertCreateCertificateContext; external crypt32 name 'CertCreateCertificateContext';
  41. {$ENDIF DYNAMIC_LINK}
  42. {$IFDEF DYNAMIC_LINK}
  43. var
  44.   _CertFreeCertificateContext: Pointer;
  45. function CertFreeCertificateContext;
  46. begin
  47.   GetProcedureAddress(_CertFreeCertificateContext, crypt32, 'CertFreeCertificateContext');
  48.   asm
  49.     mov esp, ebp
  50.     pop ebp
  51.     jmp [_CertFreeCertificateContext]
  52.   end;
  53. end;
  54. {$ELSE}
  55. function CertFreeCertificateContext; external crypt32 name 'CertFreeCertificateContext';
  56. {$ENDIF DYNAMIC_LINK}
  57. {$IFDEF DYNAMIC_LINK}
  58. var
  59.   _CertSetCertContextProperty: Pointer;
  60. function CertSetCertificateContextProperty;
  61. begin
  62.   GetProcedureAddress(_CertSetCertContextProperty, crypt32, 'CertSetCertificateContextProperty');
  63.   asm
  64.     mov esp, ebp
  65.     pop ebp
  66.     jmp [_CertSetCertContextProperty]
  67.   end;
  68. end;
  69. {$ELSE}
  70. function CertSetCertificateContextProperty; external crypt32 name 'CertSetCertificateContextProperty';
  71. {$ENDIF DYNAMIC_LINK}
  72. {$IFDEF DYNAMIC_LINK}
  73. var
  74.   _CertGetCertContextProperty: Pointer;
  75. function CertGetCertificateContextProperty;
  76. begin
  77.   GetProcedureAddress(_CertGetCertContextProperty, crypt32, 'CertGetCertificateContextProperty');
  78.   asm
  79.     mov esp, ebp
  80.     pop ebp
  81.     jmp [_CertGetCertContextProperty]
  82.   end;
  83. end;
  84. {$ELSE}
  85. function CertGetCertificateContextProperty; external crypt32 name 'CertGetCertificateContextProperty';
  86. {$ENDIF DYNAMIC_LINK}
  87. {$IFDEF DYNAMIC_LINK}
  88. var
  89.   _CertEnumCertContextProperties: Pointer;
  90. function CertEnumCertificateContextProperties;
  91. begin
  92.   GetProcedureAddress(_CertEnumCertContextProperties, crypt32, 'CertEnumCertificateContextProperties');
  93.   asm
  94.     mov esp, ebp
  95.     pop ebp
  96.     jmp [_CertEnumCertContextProperties]
  97.   end;
  98. end;
  99. {$ELSE}
  100. function CertEnumCertificateContextProperties; external crypt32 name 'CertEnumCertificateContextProperties';
  101. {$ENDIF DYNAMIC_LINK}
  102. {$IFDEF DYNAMIC_LINK}
  103. var
  104.   _CertGetCRLFromStore: Pointer;
  105. function CertGetCRLFromStore;
  106. begin
  107.   GetProcedureAddress(_CertGetCRLFromStore, crypt32, 'CertGetCRLFromStore');
  108.   asm
  109.     mov esp, ebp
  110.     pop ebp
  111.     jmp [_CertGetCRLFromStore]
  112.   end;
  113. end;
  114. {$ELSE}
  115. function CertGetCRLFromStore; external crypt32 name 'CertGetCRLFromStore';
  116. {$ENDIF DYNAMIC_LINK}
  117. {$IFDEF DYNAMIC_LINK}
  118. var
  119.   _CertEnumCRLsInStore: Pointer;
  120. function CertEnumCRLsInStore;
  121. begin
  122.   GetProcedureAddress(_CertEnumCRLsInStore, crypt32, 'CertEnumCRLsInStore');
  123.   asm
  124.     mov esp, ebp
  125.     pop ebp
  126.     jmp [_CertEnumCRLsInStore]
  127.   end;
  128. end;
  129. {$ELSE}
  130. function CertEnumCRLsInStore; external crypt32 name 'CertEnumCRLsInStore';
  131. {$ENDIF DYNAMIC_LINK}
  132. {$IFDEF DYNAMIC_LINK}
  133. var
  134.   _CertFindCRLInStore: Pointer;
  135. function CertFindCRLInStore;
  136. begin
  137.   GetProcedureAddress(_CertFindCRLInStore, crypt32, 'CertFindCRLInStore');
  138.   asm
  139.     mov esp, ebp
  140.     pop ebp
  141.     jmp [_CertFindCRLInStore]
  142.   end;
  143. end;
  144. {$ELSE}
  145. function CertFindCRLInStore; external crypt32 name 'CertFindCRLInStore';
  146. {$ENDIF DYNAMIC_LINK}
  147. {$IFDEF DYNAMIC_LINK}
  148. var
  149.   _CertDuplicateCRLContext: Pointer;
  150. function CertDuplicateCRLContext;
  151. begin
  152.   GetProcedureAddress(_CertDuplicateCRLContext, crypt32, 'CertDuplicateCRLContext');
  153.   asm
  154.     mov esp, ebp
  155.     pop ebp
  156.     jmp [_CertDuplicateCRLContext]
  157.   end;
  158. end;
  159. {$ELSE}
  160. function CertDuplicateCRLContext; external crypt32 name 'CertDuplicateCRLContext';
  161. {$ENDIF DYNAMIC_LINK}
  162. {$IFDEF DYNAMIC_LINK}
  163. var
  164.   _CertCreateCRLContext: Pointer;
  165. function CertCreateCRLContext;
  166. begin
  167.   GetProcedureAddress(_CertCreateCRLContext, crypt32, 'CertCreateCRLContext');
  168.   asm
  169.     mov esp, ebp
  170.     pop ebp
  171.     jmp [_CertCreateCRLContext]
  172.   end;
  173. end;
  174. {$ELSE}
  175. function CertCreateCRLContext; external crypt32 name 'CertCreateCRLContext';
  176. {$ENDIF DYNAMIC_LINK}
  177. {$IFDEF DYNAMIC_LINK}
  178. var
  179.   _CertFreeCRLContext: Pointer;
  180. function CertFreeCRLContext;
  181. begin
  182.   GetProcedureAddress(_CertFreeCRLContext, crypt32, 'CertFreeCRLContext');
  183.   asm
  184.     mov esp, ebp
  185.     pop ebp
  186.     jmp [_CertFreeCRLContext]
  187.   end;
  188. end;
  189. {$ELSE}
  190. function CertFreeCRLContext; external crypt32 name 'CertFreeCRLContext';
  191. {$ENDIF DYNAMIC_LINK}
  192. {$IFDEF DYNAMIC_LINK}
  193. var
  194.   _CertSetCRLContextProperty: Pointer;
  195. function CertSetCRLContextProperty;
  196. begin
  197.   GetProcedureAddress(_CertSetCRLContextProperty, crypt32, 'CertSetCRLContextProperty');
  198.   asm
  199.     mov esp, ebp
  200.     pop ebp
  201.     jmp [_CertSetCRLContextProperty]
  202.   end;
  203. end;
  204. {$ELSE}
  205. function CertSetCRLContextProperty; external crypt32 name 'CertSetCRLContextProperty';
  206. {$ENDIF DYNAMIC_LINK}
  207. {$IFDEF DYNAMIC_LINK}
  208. var
  209.   _CertGetCRLContextProperty: Pointer;
  210. function CertGetCRLContextProperty;
  211. begin
  212.   GetProcedureAddress(_CertGetCRLContextProperty, crypt32, 'CertGetCRLContextProperty');
  213.   asm
  214.     mov esp, ebp
  215.     pop ebp
  216.     jmp [_CertGetCRLContextProperty]
  217.   end;
  218. end;
  219. {$ELSE}
  220. function CertGetCRLContextProperty; external crypt32 name 'CertGetCRLContextProperty';
  221. {$ENDIF DYNAMIC_LINK}
  222. {$IFDEF DYNAMIC_LINK}
  223. var
  224.   _CertEnumCRLContextProperties: Pointer;
  225. function CertEnumCRLContextProperties;
  226. begin
  227.   GetProcedureAddress(_CertEnumCRLContextProperties, crypt32, 'CertEnumCRLContextProperties');
  228.   asm
  229.     mov esp, ebp
  230.     pop ebp
  231.     jmp [_CertEnumCRLContextProperties]
  232.   end;
  233. end;
  234. {$ELSE}
  235. function CertEnumCRLContextProperties; external crypt32 name 'CertEnumCRLContextProperties';
  236. {$ENDIF DYNAMIC_LINK}
  237. {$IFDEF DYNAMIC_LINK}
  238. var
  239.   _CertFindCertificateInCRL: Pointer;
  240. function CertFindCertificateInCRL;
  241. begin
  242.   GetProcedureAddress(_CertFindCertificateInCRL, crypt32, 'CertFindCertificateInCRL');
  243.   asm
  244.     mov esp, ebp
  245.     pop ebp
  246.     jmp [_CertFindCertificateInCRL]
  247.   end;
  248. end;
  249. {$ELSE}
  250. function CertFindCertificateInCRL; external crypt32 name 'CertFindCertificateInCRL';
  251. {$ENDIF DYNAMIC_LINK}
  252. {$IFDEF DYNAMIC_LINK}
  253. var
  254.   _CertAddEncodedCertToStore: Pointer;
  255. function CertAddEncodedCertificateToStore;
  256. begin
  257.   GetProcedureAddress(_CertAddEncodedCertToStore, crypt32, 'CertAddEncodedCertificateToStore');
  258.   asm
  259.     mov esp, ebp
  260.     pop ebp
  261.     jmp [_CertAddEncodedCertToStore]
  262.   end;
  263. end;
  264. {$ELSE}
  265. function CertAddEncodedCertificateToStore; external crypt32 name 'CertAddEncodedCertificateToStore';
  266. {$ENDIF DYNAMIC_LINK}
  267. {$IFDEF DYNAMIC_LINK}
  268. var
  269.   _CertAddCertContextToStore: Pointer;
  270. function CertAddCertificateContextToStore;
  271. begin
  272.   GetProcedureAddress(_CertAddCertContextToStore, crypt32, 'CertAddCertificateContextToStore');
  273.   asm
  274.     mov esp, ebp
  275.     pop ebp
  276.     jmp [_CertAddCertContextToStore]
  277.   end;
  278. end;
  279. {$ELSE}
  280. function CertAddCertificateContextToStore; external crypt32 name 'CertAddCertificateContextToStore';
  281. {$ENDIF DYNAMIC_LINK}
  282. {$IFDEF DYNAMIC_LINK}
  283. var
  284.   _CertAddSerializedElementToStore: Pointer;
  285. function CertAddSerializedElementToStore;
  286. begin
  287.   GetProcedureAddress(_CertAddSerializedElementToStore, crypt32, 'CertAddSerializedElementToStore');
  288.   asm
  289.     mov esp, ebp
  290.     pop ebp
  291.     jmp [_CertAddSerializedElementToStore]
  292.   end;
  293. end;
  294. {$ELSE}
  295. function CertAddSerializedElementToStore; external crypt32 name 'CertAddSerializedElementToStore';
  296. {$ENDIF DYNAMIC_LINK}
  297. {$IFDEF DYNAMIC_LINK}
  298. var
  299.   _CertDeleteCertificateFromStore: Pointer;
  300. function CertDeleteCertificateFromStore;
  301. begin
  302.   GetProcedureAddress(_CertDeleteCertificateFromStore, crypt32, 'CertDeleteCertificateFromStore');
  303.   asm
  304.     mov esp, ebp
  305.     pop ebp
  306.     jmp [_CertDeleteCertificateFromStore]
  307.   end;
  308. end;
  309. {$ELSE}
  310. function CertDeleteCertificateFromStore; external crypt32 name 'CertDeleteCertificateFromStore';
  311. {$ENDIF DYNAMIC_LINK}
  312. {$IFDEF DYNAMIC_LINK}
  313. var
  314.   _CertAddEncodedCRLToStore: Pointer;
  315. function CertAddEncodedCRLToStore;
  316. begin
  317.   GetProcedureAddress(_CertAddEncodedCRLToStore, crypt32, 'CertAddEncodedCRLToStore');
  318.   asm
  319.     mov esp, ebp
  320.     pop ebp
  321.     jmp [_CertAddEncodedCRLToStore]
  322.   end;
  323. end;
  324. {$ELSE}
  325. function CertAddEncodedCRLToStore; external crypt32 name 'CertAddEncodedCRLToStore';
  326. {$ENDIF DYNAMIC_LINK}
  327. {$IFDEF DYNAMIC_LINK}
  328. var
  329.   _CertAddCRLContextToStore: Pointer;
  330. function CertAddCRLContextToStore;
  331. begin
  332.   GetProcedureAddress(_CertAddCRLContextToStore, crypt32, 'CertAddCRLContextToStore');
  333.   asm
  334.     mov esp, ebp
  335.     pop ebp
  336.     jmp [_CertAddCRLContextToStore]
  337.   end;
  338. end;
  339. {$ELSE}
  340. function CertAddCRLContextToStore; external crypt32 name 'CertAddCRLContextToStore';
  341. {$ENDIF DYNAMIC_LINK}
  342. {$IFDEF DYNAMIC_LINK}
  343. var
  344.   _CertDeleteCRLFromStore: Pointer;
  345. function CertDeleteCRLFromStore;
  346. begin
  347.   GetProcedureAddress(_CertDeleteCRLFromStore, crypt32, 'CertDeleteCRLFromStore');
  348.   asm
  349.     mov esp, ebp
  350.     pop ebp
  351.     jmp [_CertDeleteCRLFromStore]
  352.   end;
  353. end;
  354. {$ELSE}
  355. function CertDeleteCRLFromStore; external crypt32 name 'CertDeleteCRLFromStore';
  356. {$ENDIF DYNAMIC_LINK}
  357. {$IFDEF DYNAMIC_LINK}
  358. var
  359.   _CertSerializeCertStoreElement: Pointer;
  360. function CertSerializeCertificateStoreElement;
  361. begin
  362.   GetProcedureAddress(_CertSerializeCertStoreElement, crypt32, 'CertSerializeCertificateStoreElement');
  363.   asm
  364.     mov esp, ebp
  365.     pop ebp
  366.     jmp [_CertSerializeCertStoreElement]
  367.   end;
  368. end;
  369. {$ELSE}
  370. function CertSerializeCertificateStoreElement; external crypt32 name 'CertSerializeCertificateStoreElement';
  371. {$ENDIF DYNAMIC_LINK}
  372. {$IFDEF DYNAMIC_LINK}
  373. var
  374.   _CertSerializeCRLStoreElement: Pointer;
  375. function CertSerializeCRLStoreElement;
  376. begin
  377.   GetProcedureAddress(_CertSerializeCRLStoreElement, crypt32, 'CertSerializeCRLStoreElement');
  378.   asm
  379.     mov esp, ebp
  380.     pop ebp
  381.     jmp [_CertSerializeCRLStoreElement]
  382.   end;
  383. end;
  384. {$ELSE}
  385. function CertSerializeCRLStoreElement; external crypt32 name 'CertSerializeCRLStoreElement';
  386. {$ENDIF DYNAMIC_LINK}
  387. {$IFDEF DYNAMIC_LINK}
  388. var
  389.   _CertDuplicateCTLContext: Pointer;
  390. function CertDuplicateCTLContext;
  391. begin
  392.   GetProcedureAddress(_CertDuplicateCTLContext, crypt32, 'CertDuplicateCTLContext');
  393.   asm
  394.     mov esp, ebp
  395.     pop ebp
  396.     jmp [_CertDuplicateCTLContext]
  397.   end;
  398. end;
  399. {$ELSE}
  400. function CertDuplicateCTLContext; external crypt32 name 'CertDuplicateCTLContext';
  401. {$ENDIF DYNAMIC_LINK}
  402. {$IFDEF DYNAMIC_LINK}
  403. var
  404.   _CertCreateCTLContext: Pointer;
  405. function CertCreateCTLContext;
  406. begin
  407.   GetProcedureAddress(_CertCreateCTLContext, crypt32, 'CertCreateCTLContext');
  408.   asm
  409.     mov esp, ebp
  410.     pop ebp
  411.     jmp [_CertCreateCTLContext]
  412.   end;
  413. end;
  414. {$ELSE}
  415. function CertCreateCTLContext; external crypt32 name 'CertCreateCTLContext';
  416. {$ENDIF DYNAMIC_LINK}
  417. {$IFDEF DYNAMIC_LINK}
  418. var
  419.   _CertFreeCTLContext: Pointer;
  420. function CertFreeCTLContext;
  421. begin
  422.   GetProcedureAddress(_CertFreeCTLContext, crypt32, 'CertFreeCTLContext');
  423.   asm
  424.     mov esp, ebp
  425.     pop ebp
  426.     jmp [_CertFreeCTLContext]
  427.   end;
  428. end;
  429. {$ELSE}
  430. function CertFreeCTLContext; external crypt32 name 'CertFreeCTLContext';
  431. {$ENDIF DYNAMIC_LINK}
  432. {$IFDEF DYNAMIC_LINK}
  433. var
  434.   _CertSetCTLContextProperty: Pointer;
  435. function CertSetCTLContextProperty;
  436. begin
  437.   GetProcedureAddress(_CertSetCTLContextProperty, crypt32, 'CertSetCTLContextProperty');
  438.   asm
  439.     mov esp, ebp
  440.     pop ebp
  441.     jmp [_CertSetCTLContextProperty]
  442.   end;
  443. end;
  444. {$ELSE}
  445. function CertSetCTLContextProperty; external crypt32 name 'CertSetCTLContextProperty';
  446. {$ENDIF DYNAMIC_LINK}
  447. {$IFDEF DYNAMIC_LINK}
  448. var
  449.   _CertGetCTLContextProperty: Pointer;
  450. function CertGetCTLContextProperty;
  451. begin
  452.   GetProcedureAddress(_CertGetCTLContextProperty, crypt32, 'CertGetCTLContextProperty');
  453.   asm
  454.     mov esp, ebp
  455.     pop ebp
  456.     jmp [_CertGetCTLContextProperty]
  457.   end;
  458. end;
  459. {$ELSE}
  460. function CertGetCTLContextProperty; external crypt32 name 'CertGetCTLContextProperty';
  461. {$ENDIF DYNAMIC_LINK}
  462. {$IFDEF DYNAMIC_LINK}
  463. var
  464.   _CertEnumCTLContextProperties: Pointer;
  465. function CertEnumCTLContextProperties;
  466. begin
  467.   GetProcedureAddress(_CertEnumCTLContextProperties, crypt32, 'CertEnumCTLContextProperties');
  468.   asm
  469.     mov esp, ebp
  470.     pop ebp
  471.     jmp [_CertEnumCTLContextProperties]
  472.   end;
  473. end;
  474. {$ELSE}
  475. function CertEnumCTLContextProperties; external crypt32 name 'CertEnumCTLContextProperties';
  476. {$ENDIF DYNAMIC_LINK}
  477. {$IFDEF DYNAMIC_LINK}
  478. var
  479.   _CertEnumCTLsInStore: Pointer;
  480. function CertEnumCTLsInStore;
  481. begin
  482.   GetProcedureAddress(_CertEnumCTLsInStore, crypt32, 'CertEnumCTLsInStore');
  483.   asm
  484.     mov esp, ebp
  485.     pop ebp
  486.     jmp [_CertEnumCTLsInStore]
  487.   end;
  488. end;
  489. {$ELSE}
  490. function CertEnumCTLsInStore; external crypt32 name 'CertEnumCTLsInStore';
  491. {$ENDIF DYNAMIC_LINK}
  492. {$IFDEF DYNAMIC_LINK}
  493. var
  494.   _CertFindSubjectInCTL: Pointer;
  495. function CertFindSubjectInCTL;
  496. begin
  497.   GetProcedureAddress(_CertFindSubjectInCTL, crypt32, 'CertFindSubjectInCTL');
  498.   asm
  499.     mov esp, ebp
  500.     pop ebp
  501.     jmp [_CertFindSubjectInCTL]
  502.   end;
  503. end;
  504. {$ELSE}
  505. function CertFindSubjectInCTL; external crypt32 name 'CertFindSubjectInCTL';
  506. {$ENDIF DYNAMIC_LINK}
  507. {$IFDEF DYNAMIC_LINK}
  508. var
  509.   _CertFindCTLInStore: Pointer;
  510. function CertFindCTLInStore;
  511. begin
  512.   GetProcedureAddress(_CertFindCTLInStore, crypt32, 'CertFindCTLInStore');
  513.   asm
  514.     mov esp, ebp
  515.     pop ebp
  516.     jmp [_CertFindCTLInStore]
  517.   end;
  518. end;
  519. {$ELSE}
  520. function CertFindCTLInStore; external crypt32 name 'CertFindCTLInStore';
  521. {$ENDIF DYNAMIC_LINK}
  522. {$IFDEF DYNAMIC_LINK}
  523. var
  524.   _CertAddEncodedCTLToStore: Pointer;
  525. function CertAddEncodedCTLToStore;
  526. begin
  527.   GetProcedureAddress(_CertAddEncodedCTLToStore, crypt32, 'CertAddEncodedCTLToStore');
  528.   asm
  529.     mov esp, ebp
  530.     pop ebp
  531.     jmp [_CertAddEncodedCTLToStore]
  532.   end;
  533. end;
  534. {$ELSE}
  535. function CertAddEncodedCTLToStore; external crypt32 name 'CertAddEncodedCTLToStore';
  536. {$ENDIF DYNAMIC_LINK}
  537. {$IFDEF DYNAMIC_LINK}
  538. var
  539.   _CertAddCTLContextToStore: Pointer;
  540. function CertAddCTLContextToStore;
  541. begin
  542.   GetProcedureAddress(_CertAddCTLContextToStore, crypt32, 'CertAddCTLContextToStore');
  543.   asm
  544.     mov esp, ebp
  545.     pop ebp
  546.     jmp [_CertAddCTLContextToStore]
  547.   end;
  548. end;
  549. {$ELSE}
  550. function CertAddCTLContextToStore; external crypt32 name 'CertAddCTLContextToStore';
  551. {$ENDIF DYNAMIC_LINK}
  552. {$IFDEF DYNAMIC_LINK}
  553. var
  554.   _CertSerializeCTLStoreElement: Pointer;
  555. function CertSerializeCTLStoreElement;
  556. begin
  557.   GetProcedureAddress(_CertSerializeCTLStoreElement, crypt32, 'CertSerializeCTLStoreElement');
  558.   asm
  559.     mov esp, ebp
  560.     pop ebp
  561.     jmp [_CertSerializeCTLStoreElement]
  562.   end;
  563. end;
  564. {$ELSE}
  565. function CertSerializeCTLStoreElement; external crypt32 name 'CertSerializeCTLStoreElement';
  566. {$ENDIF DYNAMIC_LINK}
  567. {$IFDEF DYNAMIC_LINK}
  568. var
  569.   _CertDeleteCTLFromStore: Pointer;
  570. function CertDeleteCTLFromStore;
  571. begin
  572.   GetProcedureAddress(_CertDeleteCTLFromStore, crypt32, 'CertDeleteCTLFromStore');
  573.   asm
  574.     mov esp, ebp
  575.     pop ebp
  576.     jmp [_CertDeleteCTLFromStore]
  577.   end;
  578. end;
  579. {$ELSE}
  580. function CertDeleteCTLFromStore; external crypt32 name 'CertDeleteCTLFromStore';
  581. {$ENDIF DYNAMIC_LINK}
  582. {$IFDEF DYNAMIC_LINK}
  583. var
  584.   _CertAddCertificateLinkToStore: Pointer;
  585. function CertAddCertificateLinkToStore;
  586. begin
  587.   GetProcedureAddress(_CertAddCertificateLinkToStore, crypt32, 'CertAddCertificateLinkToStore');
  588.   asm
  589.     mov esp, ebp
  590.     pop ebp
  591.     jmp [_CertAddCertificateLinkToStore]
  592.   end;
  593. end;
  594. {$ELSE}
  595. function CertAddCertificateLinkToStore; external crypt32 name 'CertAddCertificateLinkToStore';
  596. {$ENDIF DYNAMIC_LINK}
  597. {$IFDEF DYNAMIC_LINK}
  598. var
  599.   _CertAddCRLLinkToStore: Pointer;
  600. function CertAddCRLLinkToStore;
  601. begin
  602.   GetProcedureAddress(_CertAddCRLLinkToStore, crypt32, 'CertAddCRLLinkToStore');
  603.   asm
  604.     mov esp, ebp
  605.     pop ebp
  606.     jmp [_CertAddCRLLinkToStore]
  607.   end;
  608. end;
  609. {$ELSE}
  610. function CertAddCRLLinkToStore; external crypt32 name 'CertAddCRLLinkToStore';
  611. {$ENDIF DYNAMIC_LINK}
  612. {$IFDEF DYNAMIC_LINK}
  613. var
  614.   _CertAddCTLLinkToStore: Pointer;
  615. function CertAddCTLLinkToStore;
  616. begin
  617.   GetProcedureAddress(_CertAddCTLLinkToStore, crypt32, 'CertAddCTLLinkToStore');
  618.   asm
  619.     mov esp, ebp
  620.     pop ebp
  621.     jmp [_CertAddCTLLinkToStore]
  622.   end;
  623. end;
  624. {$ELSE}
  625. function CertAddCTLLinkToStore; external crypt32 name 'CertAddCTLLinkToStore';
  626. {$ENDIF DYNAMIC_LINK}
  627. {$IFDEF DYNAMIC_LINK}
  628. var
  629.   _CertAddStoreToCollection: Pointer;
  630. function CertAddStoreToCollection;
  631. begin
  632.   GetProcedureAddress(_CertAddStoreToCollection, crypt32, 'CertAddStoreToCollection');
  633.   asm
  634.     mov esp, ebp
  635.     pop ebp
  636.     jmp [_CertAddStoreToCollection]
  637.   end;
  638. end;
  639. {$ELSE}
  640. function CertAddStoreToCollection; external crypt32 name 'CertAddStoreToCollection';
  641. {$ENDIF DYNAMIC_LINK}
  642. {$IFDEF DYNAMIC_LINK}
  643. var
  644.   _CertRemoveStoreFromCollection: Pointer;
  645. procedure CertRemoveStoreFromCollection;
  646. begin
  647.   GetProcedureAddress(_CertRemoveStoreFromCollection, crypt32, 'CertRemoveStoreFromCollection');
  648.   asm
  649.     mov esp, ebp
  650.     pop ebp
  651.     jmp [_CertRemoveStoreFromCollection]
  652.   end;
  653. end;
  654. {$ELSE}
  655. procedure CertRemoveStoreFromCollection; external crypt32 name 'CertRemoveStoreFromCollection';
  656. {$ENDIF DYNAMIC_LINK}
  657. {$IFDEF DYNAMIC_LINK}
  658. var
  659.   _CertControlStore: Pointer;
  660. function CertControlStore;
  661. begin
  662.   GetProcedureAddress(_CertControlStore, crypt32, 'CertControlStore');
  663.   asm
  664.     mov esp, ebp
  665.     pop ebp
  666.     jmp [_CertControlStore]
  667.   end;
  668. end;
  669. {$ELSE}
  670. function CertControlStore; external crypt32 name 'CertControlStore';
  671. {$ENDIF DYNAMIC_LINK}
  672. {$IFDEF DYNAMIC_LINK}
  673. var
  674.   _CertSetStoreProperty: Pointer;
  675. function CertSetStoreProperty;
  676. begin
  677.   GetProcedureAddress(_CertSetStoreProperty, crypt32, 'CertSetStoreProperty');
  678.   asm
  679.     mov esp, ebp
  680.     pop ebp
  681.     jmp [_CertSetStoreProperty]
  682.   end;
  683. end;
  684. {$ELSE}
  685. function CertSetStoreProperty; external crypt32 name 'CertSetStoreProperty';
  686. {$ENDIF DYNAMIC_LINK}
  687. {$IFDEF DYNAMIC_LINK}
  688. var
  689.   _CertGetStoreProperty: Pointer;
  690. function CertGetStoreProperty;
  691. begin
  692.   GetProcedureAddress(_CertGetStoreProperty, crypt32, 'CertGetStoreProperty');
  693.   asm
  694.     mov esp, ebp
  695.     pop ebp
  696.     jmp [_CertGetStoreProperty]
  697.   end;
  698. end;
  699. {$ELSE}
  700. function CertGetStoreProperty; external crypt32 name 'CertGetStoreProperty';
  701. {$ENDIF DYNAMIC_LINK}
  702. {$IFDEF DYNAMIC_LINK}
  703. var
  704.   _CertCreateContext: Pointer;
  705. function CertCreateContext;
  706. begin
  707.   GetProcedureAddress(_CertCreateContext, crypt32, 'CertCreateContext');
  708.   asm
  709.     mov esp, ebp
  710.     pop ebp
  711.     jmp [_CertCreateContext]
  712.   end;
  713. end;
  714. {$ELSE}
  715. function CertCreateContext; external crypt32 name 'CertCreateContext';
  716. {$ENDIF DYNAMIC_LINK}
  717. {$IFDEF DYNAMIC_LINK}
  718. var
  719.   _CertRegisterSystemStore: Pointer;
  720. function CertRegisterSystemStore;
  721. begin
  722.   GetProcedureAddress(_CertRegisterSystemStore, crypt32, 'CertRegisterSystemStore');
  723.   asm
  724.     mov esp, ebp
  725.     pop ebp
  726.     jmp [_CertRegisterSystemStore]
  727.   end;
  728. end;
  729. {$ELSE}
  730. function CertRegisterSystemStore; external crypt32 name 'CertRegisterSystemStore';
  731. {$ENDIF DYNAMIC_LINK}
  732. {$IFDEF DYNAMIC_LINK}
  733. var
  734.   _CertRegisterPhysicalStore: Pointer;
  735. function CertRegisterPhysicalStore;
  736. begin
  737.   GetProcedureAddress(_CertRegisterPhysicalStore, crypt32, 'CertRegisterPhysicalStore');
  738.   asm
  739.     mov esp, ebp
  740.     pop ebp
  741.     jmp [_CertRegisterPhysicalStore]
  742.   end;
  743. end;
  744. {$ELSE}
  745. function CertRegisterPhysicalStore; external crypt32 name 'CertRegisterPhysicalStore';
  746. {$ENDIF DYNAMIC_LINK}
  747. {$IFDEF DYNAMIC_LINK}
  748. var
  749.   _CertUnregisterSystemStore: Pointer;
  750. function CertUnregisterSystemStore;
  751. begin
  752.   GetProcedureAddress(_CertUnregisterSystemStore, crypt32, 'CertUnregisterSystemStore');
  753.   asm
  754.     mov esp, ebp
  755.     pop ebp
  756.     jmp [_CertUnregisterSystemStore]
  757.   end;
  758. end;
  759. {$ELSE}
  760. function CertUnregisterSystemStore; external crypt32 name 'CertUnregisterSystemStore';
  761. {$ENDIF DYNAMIC_LINK}
  762. {$IFDEF DYNAMIC_LINK}
  763. var
  764.   _CertUnregisterPhysicalStore: Pointer;
  765. function CertUnregisterPhysicalStore;
  766. begin
  767.   GetProcedureAddress(_CertUnregisterPhysicalStore, crypt32, 'CertUnregisterPhysicalStore');
  768.   asm
  769.     mov esp, ebp
  770.     pop ebp
  771.     jmp [_CertUnregisterPhysicalStore]
  772.   end;
  773. end;
  774. {$ELSE}
  775. function CertUnregisterPhysicalStore; external crypt32 name 'CertUnregisterPhysicalStore';
  776. {$ENDIF DYNAMIC_LINK}
  777. {$IFDEF DYNAMIC_LINK}
  778. var
  779.   _CertEnumSystemStoreLocation: Pointer;
  780. function CertEnumSystemStoreLocation;
  781. begin
  782.   GetProcedureAddress(_CertEnumSystemStoreLocation, crypt32, 'CertEnumSystemStoreLocation');
  783.   asm
  784.     mov esp, ebp
  785.     pop ebp
  786.     jmp [_CertEnumSystemStoreLocation]
  787.   end;
  788. end;
  789. {$ELSE}
  790. function CertEnumSystemStoreLocation; external crypt32 name 'CertEnumSystemStoreLocation';
  791. {$ENDIF DYNAMIC_LINK}
  792. {$IFDEF DYNAMIC_LINK}
  793. var
  794.   _CertEnumSystemStore: Pointer;
  795. function CertEnumSystemStore;
  796. begin
  797.   GetProcedureAddress(_CertEnumSystemStore, crypt32, 'CertEnumSystemStore');
  798.   asm
  799.     mov esp, ebp
  800.     pop ebp
  801.     jmp [_CertEnumSystemStore]
  802.   end;
  803. end;
  804. {$ELSE}
  805. function CertEnumSystemStore; external crypt32 name 'CertEnumSystemStore';
  806. {$ENDIF DYNAMIC_LINK}
  807. {$IFDEF DYNAMIC_LINK}
  808. var
  809.   _CertEnumPhysicalStore: Pointer;
  810. function CertEnumPhysicalStore;
  811. begin
  812.   GetProcedureAddress(_CertEnumPhysicalStore, crypt32, 'CertEnumPhysicalStore');
  813.   asm
  814.     mov esp, ebp
  815.     pop ebp
  816.     jmp [_CertEnumPhysicalStore]
  817.   end;
  818. end;
  819. {$ELSE}
  820. function CertEnumPhysicalStore; external crypt32 name 'CertEnumPhysicalStore';
  821. {$ENDIF DYNAMIC_LINK}
  822. {$IFDEF DYNAMIC_LINK}
  823. var
  824.   _CertGetEnhancedKeyUsage: Pointer;
  825. function CertGetEnhancedKeyUsage;
  826. begin
  827.   GetProcedureAddress(_CertGetEnhancedKeyUsage, crypt32, 'CertGetEnhancedKeyUsage');
  828.   asm
  829.     mov esp, ebp
  830.     pop ebp
  831.     jmp [_CertGetEnhancedKeyUsage]
  832.   end;
  833. end;
  834. {$ELSE}
  835. function CertGetEnhancedKeyUsage; external crypt32 name 'CertGetEnhancedKeyUsage';
  836. {$ENDIF DYNAMIC_LINK}
  837. {$IFDEF DYNAMIC_LINK}
  838. var
  839.   _CertSetEnhancedKeyUsage: Pointer;
  840. function CertSetEnhancedKeyUsage;
  841. begin
  842.   GetProcedureAddress(_CertSetEnhancedKeyUsage, crypt32, 'CertSetEnhancedKeyUsage');
  843.   asm
  844.     mov esp, ebp
  845.     pop ebp
  846.     jmp [_CertSetEnhancedKeyUsage]
  847.   end;
  848. end;
  849. {$ELSE}
  850. function CertSetEnhancedKeyUsage; external crypt32 name 'CertSetEnhancedKeyUsage';
  851. {$ENDIF DYNAMIC_LINK}
  852. {$IFDEF DYNAMIC_LINK}
  853. var
  854.   _CertAddEnhKeyUsageIdentifier: Pointer;
  855. function CertAddEnhancedKeyUsageIdentifier;
  856. begin
  857.   GetProcedureAddress(_CertAddEnhKeyUsageIdentifier, crypt32, 'CertAddEnhancedKeyUsageIdentifier');
  858.   asm
  859.     mov esp, ebp
  860.     pop ebp
  861.     jmp [_CertAddEnhKeyUsageIdentifier]
  862.   end;
  863. end;
  864. {$ELSE}
  865. function CertAddEnhancedKeyUsageIdentifier; external crypt32 name 'CertAddEnhancedKeyUsageIdentifier';
  866. {$ENDIF DYNAMIC_LINK}
  867. {$IFDEF DYNAMIC_LINK}
  868. var
  869.   _CertRemoveEnhKeyUsageIdent: Pointer;
  870. function CertRemoveEnhancedKeyUsageIdentifier;
  871. begin
  872.   GetProcedureAddress(_CertRemoveEnhKeyUsageIdent, crypt32, 'CertRemoveEnhancedKeyUsageIdentifier');
  873.   asm
  874.     mov esp, ebp
  875.     pop ebp
  876.     jmp [_CertRemoveEnhKeyUsageIdent]
  877.   end;
  878. end;
  879. {$ELSE}
  880. function CertRemoveEnhancedKeyUsageIdentifier; external crypt32 name 'CertRemoveEnhancedKeyUsageIdentifier';
  881. {$ENDIF DYNAMIC_LINK}
  882. {$IFDEF DYNAMIC_LINK}
  883. var
  884.   _CertGetValidUsages: Pointer;
  885. function CertGetValidUsages;
  886. begin
  887.   GetProcedureAddress(_CertGetValidUsages, crypt32, 'CertGetValidUsages');
  888.   asm
  889.     mov esp, ebp
  890.     pop ebp
  891.     jmp [_CertGetValidUsages]
  892.   end;
  893. end;
  894. {$ELSE}
  895. function CertGetValidUsages; external crypt32 name 'CertGetValidUsages';
  896. {$ENDIF DYNAMIC_LINK}
  897. {$IFDEF DYNAMIC_LINK}
  898. var
  899.   _CryptMsgGetAndVerifySigner: Pointer;
  900. function CryptMsgGetAndVerifySigner;
  901. begin
  902.   GetProcedureAddress(_CryptMsgGetAndVerifySigner, crypt32, 'CryptMsgGetAndVerifySigner');
  903.   asm
  904.     mov esp, ebp
  905.     pop ebp
  906.     jmp [_CryptMsgGetAndVerifySigner]
  907.   end;
  908. end;
  909. {$ELSE}
  910. function CryptMsgGetAndVerifySigner; external crypt32 name 'CryptMsgGetAndVerifySigner';
  911. {$ENDIF DYNAMIC_LINK}
  912. {$IFDEF DYNAMIC_LINK}
  913. var
  914.   _CryptMsgSignCTL: Pointer;
  915. function CryptMsgSignCTL;
  916. begin
  917.   GetProcedureAddress(_CryptMsgSignCTL, crypt32, 'CryptMsgSignCTL');
  918.   asm
  919.     mov esp, ebp
  920.     pop ebp
  921.     jmp [_CryptMsgSignCTL]
  922.   end;
  923. end;
  924. {$ELSE}
  925. function CryptMsgSignCTL; external crypt32 name 'CryptMsgSignCTL';
  926. {$ENDIF DYNAMIC_LINK}
  927. {$IFDEF DYNAMIC_LINK}
  928. var
  929.   _CryptMsgEncodeAndSignCTL: Pointer;
  930. function CryptMsgEncodeAndSignCTL;
  931. begin
  932.   GetProcedureAddress(_CryptMsgEncodeAndSignCTL, crypt32, 'CryptMsgEncodeAndSignCTL');
  933.   asm
  934.     mov esp, ebp
  935.     pop ebp
  936.     jmp [_CryptMsgEncodeAndSignCTL]
  937.   end;
  938. end;
  939. {$ELSE}
  940. function CryptMsgEncodeAndSignCTL; external crypt32 name 'CryptMsgEncodeAndSignCTL';
  941. {$ENDIF DYNAMIC_LINK}
  942. {$IFDEF DYNAMIC_LINK}
  943. var
  944.   _CertFindSubjectInSortedCTL: Pointer;
  945. function CertFindSubjectInSortedCTL;
  946. begin
  947.   GetProcedureAddress(_CertFindSubjectInSortedCTL, crypt32, 'CertFindSubjectInSortedCTL');
  948.   asm
  949.     mov esp, ebp
  950.     pop ebp
  951.     jmp [_CertFindSubjectInSortedCTL]
  952.   end;
  953. end;
  954. {$ELSE}
  955. function CertFindSubjectInSortedCTL; external crypt32 name 'CertFindSubjectInSortedCTL';
  956. {$ENDIF DYNAMIC_LINK}
  957. {$IFDEF DYNAMIC_LINK}
  958. var
  959.   _CertEnumSubjectInSortedCTL: Pointer;
  960. function CertEnumSubjectInSortedCTL;
  961. begin
  962.   GetProcedureAddress(_CertEnumSubjectInSortedCTL, crypt32, 'CertEnumSubjectInSortedCTL');
  963.   asm
  964.     mov esp, ebp
  965.     pop ebp
  966.     jmp [_CertEnumSubjectInSortedCTL]
  967.   end;
  968. end;
  969. {$ELSE}
  970. function CertEnumSubjectInSortedCTL; external crypt32 name 'CertEnumSubjectInSortedCTL';
  971. {$ENDIF DYNAMIC_LINK}
  972. {$IFDEF DYNAMIC_LINK}
  973. var
  974.   _CertVerifyCTLUsage: Pointer;
  975. function CertVerifyCTLUsage;
  976. begin
  977.   GetProcedureAddress(_CertVerifyCTLUsage, crypt32, 'CertVerifyCTLUsage');
  978.   asm
  979.     mov esp, ebp
  980.     pop ebp
  981.     jmp [_CertVerifyCTLUsage]
  982.   end;
  983. end;
  984. {$ELSE}
  985. function CertVerifyCTLUsage; external crypt32 name 'CertVerifyCTLUsage';
  986. {$ENDIF DYNAMIC_LINK}
  987. {$IFDEF DYNAMIC_LINK}
  988. var
  989.   _CertVerifyRevocation: Pointer;
  990. function CertVerifyRevocation;
  991. begin
  992.   GetProcedureAddress(_CertVerifyRevocation, crypt32, 'CertVerifyRevocation');
  993.   asm
  994.     mov esp, ebp
  995.     pop ebp
  996.     jmp [_CertVerifyRevocation]
  997.   end;
  998. end;
  999. {$ELSE}
  1000. function CertVerifyRevocation; external crypt32 name 'CertVerifyRevocation';
  1001. {$ENDIF DYNAMIC_LINK}
  1002. {$IFDEF DYNAMIC_LINK}
  1003. var
  1004.   _CertCompareIntegerBlob: Pointer;
  1005. function CertCompareIntegerBlob;
  1006. begin
  1007.   GetProcedureAddress(_CertCompareIntegerBlob, crypt32, 'CertCompareIntegerBlob');
  1008.   asm
  1009.     mov esp, ebp
  1010.     pop ebp
  1011.     jmp [_CertCompareIntegerBlob]
  1012.   end;
  1013. end;
  1014. {$ELSE}
  1015. function CertCompareIntegerBlob; external crypt32 name 'CertCompareIntegerBlob';
  1016. {$ENDIF DYNAMIC_LINK}
  1017. {$IFDEF DYNAMIC_LINK}
  1018. var
  1019.   _CertCompareCertificate: Pointer;
  1020. function CertCompareCertificate;
  1021. begin
  1022.   GetProcedureAddress(_CertCompareCertificate, crypt32, 'CertCompareCertificate');
  1023.   asm
  1024.     mov esp, ebp
  1025.     pop ebp
  1026.     jmp [_CertCompareCertificate]
  1027.   end;
  1028. end;
  1029. {$ELSE}
  1030. function CertCompareCertificate; external crypt32 name 'CertCompareCertificate';
  1031. {$ENDIF DYNAMIC_LINK}
  1032. {$IFDEF DYNAMIC_LINK}
  1033. var
  1034.   _CertCompareCertificateName: Pointer;
  1035. function CertCompareCertificateName;
  1036. begin
  1037.   GetProcedureAddress(_CertCompareCertificateName, crypt32, 'CertCompareCertificateName');
  1038.   asm
  1039.     mov esp, ebp
  1040.     pop ebp
  1041.     jmp [_CertCompareCertificateName]
  1042.   end;
  1043. end;
  1044. {$ELSE}
  1045. function CertCompareCertificateName; external crypt32 name 'CertCompareCertificateName';
  1046. {$ENDIF DYNAMIC_LINK}
  1047. {$IFDEF DYNAMIC_LINK}
  1048. var
  1049.   _CertIsRDNAttrsInCertificateName: Pointer;
  1050. function CertIsRDNAttrsInCertificateName;
  1051. begin
  1052.   GetProcedureAddress(_CertIsRDNAttrsInCertificateName, crypt32, 'CertIsRDNAttrsInCertificateName');
  1053.   asm
  1054.     mov esp, ebp
  1055.     pop ebp
  1056.     jmp [_CertIsRDNAttrsInCertificateName]
  1057.   end;
  1058. end;
  1059. {$ELSE}
  1060. function CertIsRDNAttrsInCertificateName; external crypt32 name 'CertIsRDNAttrsInCertificateName';
  1061. {$ENDIF DYNAMIC_LINK}
  1062. {$IFDEF DYNAMIC_LINK}
  1063. var
  1064.   _CertComparePublicKeyInfo: Pointer;
  1065. function CertComparePublicKeyInfo;
  1066. begin
  1067.   GetProcedureAddress(_CertComparePublicKeyInfo, crypt32, 'CertComparePublicKeyInfo');
  1068.   asm
  1069.     mov esp, ebp
  1070.     pop ebp
  1071.     jmp [_CertComparePublicKeyInfo]
  1072.   end;
  1073. end;
  1074. {$ELSE}
  1075. function CertComparePublicKeyInfo; external crypt32 name 'CertComparePublicKeyInfo';
  1076. {$ENDIF DYNAMIC_LINK}
  1077. {$IFDEF DYNAMIC_LINK}
  1078. var
  1079.   _CertGetPublicKeyLength: Pointer;
  1080. function CertGetPublicKeyLength;
  1081. begin
  1082.   GetProcedureAddress(_CertGetPublicKeyLength, crypt32, 'CertGetPublicKeyLength');
  1083.   asm
  1084.     mov esp, ebp
  1085.     pop ebp
  1086.     jmp [_CertGetPublicKeyLength]
  1087.   end;
  1088. end;
  1089. {$ELSE}
  1090. function CertGetPublicKeyLength; external crypt32 name 'CertGetPublicKeyLength';
  1091. {$ENDIF DYNAMIC_LINK}
  1092. {$IFDEF DYNAMIC_LINK}
  1093. var
  1094.   _CryptVerifyCertificateSignature: Pointer;
  1095. function CryptVerifyCertificateSignature;
  1096. begin
  1097.   GetProcedureAddress(_CryptVerifyCertificateSignature, crypt32, 'CryptVerifyCertificateSignature');
  1098.   asm
  1099.     mov esp, ebp
  1100.     pop ebp
  1101.     jmp [_CryptVerifyCertificateSignature]
  1102.   end;
  1103. end;
  1104. {$ELSE}
  1105. function CryptVerifyCertificateSignature; external crypt32 name 'CryptVerifyCertificateSignature';
  1106. {$ENDIF DYNAMIC_LINK}
  1107. {$IFDEF DYNAMIC_LINK}
  1108. var
  1109.   _CryptVerifyCertSignatureEx: Pointer;
  1110. function CryptVerifyCertificateSignatureEx;
  1111. begin
  1112.   GetProcedureAddress(_CryptVerifyCertSignatureEx, crypt32, 'CryptVerifyCertificateSignatureEx');
  1113.   asm
  1114.     mov esp, ebp
  1115.     pop ebp
  1116.     jmp [_CryptVerifyCertSignatureEx]
  1117.   end;
  1118. end;
  1119. {$ELSE}
  1120. function CryptVerifyCertificateSignatureEx; external crypt32 name 'CryptVerifyCertificateSignatureEx';
  1121. {$ENDIF DYNAMIC_LINK}
  1122. {$IFDEF DYNAMIC_LINK}
  1123. var
  1124.   _CryptHashToBeSigned: Pointer;
  1125. function CryptHashToBeSigned;
  1126. begin
  1127.   GetProcedureAddress(_CryptHashToBeSigned, crypt32, 'CryptHashToBeSigned');
  1128.   asm
  1129.     mov esp, ebp
  1130.     pop ebp
  1131.     jmp [_CryptHashToBeSigned]
  1132.   end;
  1133. end;
  1134. {$ELSE}
  1135. function CryptHashToBeSigned; external crypt32 name 'CryptHashToBeSigned';
  1136. {$ENDIF DYNAMIC_LINK}
  1137. {$IFDEF DYNAMIC_LINK}
  1138. var
  1139.   _CryptHashCertificate: Pointer;
  1140. function CryptHashCertificate;
  1141. begin
  1142.   GetProcedureAddress(_CryptHashCertificate, crypt32, 'CryptHashCertificate');
  1143.   asm
  1144.     mov esp, ebp
  1145.     pop ebp
  1146.     jmp [_CryptHashCertificate]
  1147.   end;
  1148. end;
  1149. {$ELSE}
  1150. function CryptHashCertificate; external crypt32 name 'CryptHashCertificate';
  1151. {$ENDIF DYNAMIC_LINK}
  1152. {$IFDEF DYNAMIC_LINK}
  1153. var
  1154.   _CryptSignCertificate: Pointer;
  1155. function CryptSignCertificate;
  1156. begin
  1157.   GetProcedureAddress(_CryptSignCertificate, crypt32, 'CryptSignCertificate');
  1158.   asm
  1159.     mov esp, ebp
  1160.     pop ebp
  1161.     jmp [_CryptSignCertificate]
  1162.   end;
  1163. end;
  1164. {$ELSE}
  1165. function CryptSignCertificate; external crypt32 name 'CryptSignCertificate';
  1166. {$ENDIF DYNAMIC_LINK}
  1167. {$IFDEF DYNAMIC_LINK}
  1168. var
  1169.   _CryptSignAndEncodeCertificate: Pointer;
  1170. function CryptSignAndEncodeCertificate;
  1171. begin
  1172.   GetProcedureAddress(_CryptSignAndEncodeCertificate, crypt32, 'CryptSignAndEncodeCertificate');
  1173.   asm
  1174.     mov esp, ebp
  1175.     pop ebp
  1176.     jmp [_CryptSignAndEncodeCertificate]
  1177.   end;
  1178. end;
  1179. {$ELSE}
  1180. function CryptSignAndEncodeCertificate; external crypt32 name 'CryptSignAndEncodeCertificate';
  1181. {$ENDIF DYNAMIC_LINK}
  1182. {$IFDEF DYNAMIC_LINK}
  1183. var
  1184.   _CertVerifyTimeValidity: Pointer;
  1185. function CertVerifyTimeValidity;
  1186. begin
  1187.   GetProcedureAddress(_CertVerifyTimeValidity, crypt32, 'CertVerifyTimeValidity');
  1188.   asm
  1189.     mov esp, ebp
  1190.     pop ebp
  1191.     jmp [_CertVerifyTimeValidity]
  1192.   end;
  1193. end;
  1194. {$ELSE}
  1195. function CertVerifyTimeValidity; external crypt32 name 'CertVerifyTimeValidity';
  1196. {$ENDIF DYNAMIC_LINK}
  1197. {$IFDEF DYNAMIC_LINK}
  1198. var
  1199.   _CertVerifyCRLTimeValidity: Pointer;
  1200. function CertVerifyCRLTimeValidity;
  1201. begin
  1202.   GetProcedureAddress(_CertVerifyCRLTimeValidity, crypt32, 'CertVerifyCRLTimeValidity');
  1203.   asm
  1204.     mov esp, ebp
  1205.     pop ebp
  1206.     jmp [_CertVerifyCRLTimeValidity]
  1207.   end;
  1208. end;
  1209. {$ELSE}
  1210. function CertVerifyCRLTimeValidity; external crypt32 name 'CertVerifyCRLTimeValidity';
  1211. {$ENDIF DYNAMIC_LINK}
  1212. {$IFDEF DYNAMIC_LINK}
  1213. var
  1214.   _CertVerifyValidityNesting: Pointer;
  1215. function CertVerifyValidityNesting;
  1216. begin
  1217.   GetProcedureAddress(_CertVerifyValidityNesting, crypt32, 'CertVerifyValidityNesting');
  1218.   asm
  1219.     mov esp, ebp
  1220.     pop ebp
  1221.     jmp [_CertVerifyValidityNesting]
  1222.   end;
  1223. end;
  1224. {$ELSE}
  1225. function CertVerifyValidityNesting; external crypt32 name 'CertVerifyValidityNesting';
  1226. {$ENDIF DYNAMIC_LINK}
  1227. {$IFDEF DYNAMIC_LINK}
  1228. var
  1229.   _CertVerifyCRLRevocation: Pointer;
  1230. function CertVerifyCRLRevocation;
  1231. begin
  1232.   GetProcedureAddress(_CertVerifyCRLRevocation, crypt32, 'CertVerifyCRLRevocation');
  1233.   asm
  1234.     mov esp, ebp
  1235.     pop ebp
  1236.     jmp [_CertVerifyCRLRevocation]
  1237.   end;
  1238. end;
  1239. {$ELSE}
  1240. function CertVerifyCRLRevocation; external crypt32 name 'CertVerifyCRLRevocation';
  1241. {$ENDIF DYNAMIC_LINK}
  1242. {$IFDEF DYNAMIC_LINK}
  1243. var
  1244.   _CertAlgIdToOID: Pointer;
  1245. function CertAlgIdToOID;
  1246. begin
  1247.   GetProcedureAddress(_CertAlgIdToOID, crypt32, 'CertAlgIdToOID');
  1248.   asm
  1249.     mov esp, ebp
  1250.     pop ebp
  1251.     jmp [_CertAlgIdToOID]
  1252.   end;
  1253. end;
  1254. {$ELSE}
  1255. function CertAlgIdToOID; external crypt32 name 'CertAlgIdToOID';
  1256. {$ENDIF DYNAMIC_LINK}
  1257. {$IFDEF DYNAMIC_LINK}
  1258. var
  1259.   _CertOIDToAlgId: Pointer;
  1260. function CertOIDToAlgId;
  1261. begin
  1262.   GetProcedureAddress(_CertOIDToAlgId, crypt32, 'CertOIDToAlgId');
  1263.   asm
  1264.     mov esp, ebp
  1265.     pop ebp
  1266.     jmp [_CertOIDToAlgId]
  1267.   end;
  1268. end;
  1269. {$ELSE}
  1270. function CertOIDToAlgId; external crypt32 name 'CertOIDToAlgId';
  1271. {$ENDIF DYNAMIC_LINK}
  1272. {$IFDEF DYNAMIC_LINK}
  1273. var
  1274.   _CertFindExtension: Pointer;
  1275. function CertFindExtension;
  1276. begin
  1277.   GetProcedureAddress(_CertFindExtension, crypt32, 'CertFindExtension');
  1278.   asm
  1279.     mov esp, ebp
  1280.     pop ebp
  1281.     jmp [_CertFindExtension]
  1282.   end;
  1283. end;
  1284. {$ELSE}
  1285. function CertFindExtension; external crypt32 name 'CertFindExtension';
  1286. {$ENDIF DYNAMIC_LINK}
  1287. {$IFDEF DYNAMIC_LINK}
  1288. var
  1289.   _CertFindAttribute: Pointer;
  1290. function CertFindAttribute;
  1291. begin
  1292.   GetProcedureAddress(_CertFindAttribute, crypt32, 'CertFindAttribute');
  1293.   asm
  1294.     mov esp, ebp
  1295.     pop ebp
  1296.     jmp [_CertFindAttribute]
  1297.   end;
  1298. end;
  1299. {$ELSE}
  1300. function CertFindAttribute; external crypt32 name 'CertFindAttribute';
  1301. {$ENDIF DYNAMIC_LINK}
  1302. {$IFDEF DYNAMIC_LINK}
  1303. var
  1304.   _CertFindRDNAttr: Pointer;
  1305. function CertFindRDNAttr;
  1306. begin
  1307.   GetProcedureAddress(_CertFindRDNAttr, crypt32, 'CertFindRDNAttr');
  1308.   asm
  1309.     mov esp, ebp
  1310.     pop ebp
  1311.     jmp [_CertFindRDNAttr]
  1312.   end;
  1313. end;
  1314. {$ELSE}
  1315. function CertFindRDNAttr; external crypt32 name 'CertFindRDNAttr';
  1316. {$ENDIF DYNAMIC_LINK}
  1317. {$IFDEF DYNAMIC_LINK}
  1318. var
  1319.   _CertGetIntendedKeyUsage: Pointer;
  1320. function CertGetIntendedKeyUsage;
  1321. begin
  1322.   GetProcedureAddress(_CertGetIntendedKeyUsage, crypt32, 'CertGetIntendedKeyUsage');
  1323.   asm
  1324.     mov esp, ebp
  1325.     pop ebp
  1326.     jmp [_CertGetIntendedKeyUsage]
  1327.   end;
  1328. end;
  1329. {$ELSE}
  1330. function CertGetIntendedKeyUsage; external crypt32 name 'CertGetIntendedKeyUsage';
  1331. {$ENDIF DYNAMIC_LINK}
  1332. {$IFDEF DYNAMIC_LINK}
  1333. var
  1334.   _CryptInstallDefaultContext: Pointer;
  1335. function CryptInstallDefaultContext;
  1336. begin
  1337.   GetProcedureAddress(_CryptInstallDefaultContext, crypt32, 'CryptInstallDefaultContext');
  1338.   asm
  1339.     mov esp, ebp
  1340.     pop ebp
  1341.     jmp [_CryptInstallDefaultContext]
  1342.   end;
  1343. end;
  1344. {$ELSE}
  1345. function CryptInstallDefaultContext; external crypt32 name 'CryptInstallDefaultContext';
  1346. {$ENDIF DYNAMIC_LINK}
  1347. {$IFDEF DYNAMIC_LINK}
  1348. var
  1349.   _CryptUninstallDefaultContext: Pointer;
  1350. function CryptUninstallDefaultContext;
  1351. begin
  1352.   GetProcedureAddress(_CryptUninstallDefaultContext, crypt32, 'CryptUninstallDefaultContext');
  1353.   asm
  1354.     mov esp, ebp
  1355.     pop ebp
  1356.     jmp [_CryptUninstallDefaultContext]
  1357.   end;
  1358. end;
  1359. {$ELSE}
  1360. function CryptUninstallDefaultContext; external crypt32 name 'CryptUninstallDefaultContext';
  1361. {$ENDIF DYNAMIC_LINK}
  1362. {$IFDEF DYNAMIC_LINK}
  1363. var
  1364.   _CryptExportPublicKeyInfo: Pointer;
  1365. function CryptExportPublicKeyInfo;
  1366. begin
  1367.   GetProcedureAddress(_CryptExportPublicKeyInfo, crypt32, 'CryptExportPublicKeyInfo');
  1368.   asm
  1369.     mov esp, ebp
  1370.     pop ebp
  1371.     jmp [_CryptExportPublicKeyInfo]
  1372.   end;
  1373. end;
  1374. {$ELSE}
  1375. function CryptExportPublicKeyInfo; external crypt32 name 'CryptExportPublicKeyInfo';
  1376. {$ENDIF DYNAMIC_LINK}
  1377. {$IFDEF DYNAMIC_LINK}
  1378. var
  1379.   _CryptExportPublicKeyInfoEx: Pointer;
  1380. function CryptExportPublicKeyInfoEx;
  1381. begin
  1382.   GetProcedureAddress(_CryptExportPublicKeyInfoEx, crypt32, 'CryptExportPublicKeyInfoEx');
  1383.   asm
  1384.     mov esp, ebp
  1385.     pop ebp
  1386.     jmp [_CryptExportPublicKeyInfoEx]
  1387.   end;
  1388. end;
  1389. {$ELSE}
  1390. function CryptExportPublicKeyInfoEx; external crypt32 name 'CryptExportPublicKeyInfoEx';
  1391. {$ENDIF DYNAMIC_LINK}
  1392. {$IFDEF DYNAMIC_LINK}
  1393. var
  1394.   _CryptImportPublicKeyInfo: Pointer;
  1395. function CryptImportPublicKeyInfo;
  1396. begin
  1397.   GetProcedureAddress(_CryptImportPublicKeyInfo, crypt32, 'CryptImportPublicKeyInfo');
  1398.   asm
  1399.     mov esp, ebp
  1400.     pop ebp
  1401.     jmp [_CryptImportPublicKeyInfo]
  1402.   end;
  1403. end;
  1404. {$ELSE}
  1405. function CryptImportPublicKeyInfo; external crypt32 name 'CryptImportPublicKeyInfo';
  1406. {$ENDIF DYNAMIC_LINK}
  1407. {$IFDEF DYNAMIC_LINK}
  1408. var
  1409.   _CryptImportPublicKeyInfoEx: Pointer;
  1410. function CryptImportPublicKeyInfoEx;
  1411. begin
  1412.   GetProcedureAddress(_CryptImportPublicKeyInfoEx, crypt32, 'CryptImportPublicKeyInfoEx');
  1413.   asm
  1414.     mov esp, ebp
  1415.     pop ebp
  1416.     jmp [_CryptImportPublicKeyInfoEx]
  1417.   end;
  1418. end;
  1419. {$ELSE}
  1420. function CryptImportPublicKeyInfoEx; external crypt32 name 'CryptImportPublicKeyInfoEx';
  1421. {$ENDIF DYNAMIC_LINK}
  1422. {$IFDEF DYNAMIC_LINK}
  1423. var
  1424.   _CryptAcquireCertPrivateKey: Pointer;
  1425. function CryptAcquireCertificatePrivateKey;
  1426. begin
  1427.   GetProcedureAddress(_CryptAcquireCertPrivateKey, crypt32, 'CryptAcquireCertificatePrivateKey');
  1428.   asm
  1429.     mov esp, ebp
  1430.     pop ebp
  1431.     jmp [_CryptAcquireCertPrivateKey]
  1432.   end;
  1433. end;
  1434. {$ELSE}
  1435. function CryptAcquireCertificatePrivateKey; external crypt32 name 'CryptAcquireCertificatePrivateKey';
  1436. {$ENDIF DYNAMIC_LINK}
  1437. {$IFDEF DYNAMIC_LINK}
  1438. var
  1439.   _CryptFindCertificateKeyProvInfo: Pointer;
  1440. function CryptFindCertificateKeyProvInfo;
  1441. begin
  1442.   GetProcedureAddress(_CryptFindCertificateKeyProvInfo, crypt32, 'CryptFindCertificateKeyProvInfo');
  1443.   asm
  1444.     mov esp, ebp
  1445.     pop ebp
  1446.     jmp [_CryptFindCertificateKeyProvInfo]
  1447.   end;
  1448. end;
  1449. {$ELSE}
  1450. function CryptFindCertificateKeyProvInfo; external crypt32 name 'CryptFindCertificateKeyProvInfo';
  1451. {$ENDIF DYNAMIC_LINK}
  1452. {$IFDEF DYNAMIC_LINK}
  1453. var
  1454.   _CryptImportPKCS8: Pointer;
  1455. function CryptImportPKCS8;
  1456. begin
  1457.   GetProcedureAddress(_CryptImportPKCS8, crypt32, 'CryptImportPKCS8');
  1458.   asm
  1459.     mov esp, ebp
  1460.     pop ebp
  1461.     jmp [_CryptImportPKCS8]
  1462.   end;
  1463. end;
  1464. {$ELSE}
  1465. function CryptImportPKCS8; external crypt32 name 'CryptImportPKCS8';
  1466. {$ENDIF DYNAMIC_LINK}
  1467. {$IFDEF DYNAMIC_LINK}
  1468. var
  1469.   _CryptExportPKCS8: Pointer;
  1470. function CryptExportPKCS8;
  1471. begin
  1472.   GetProcedureAddress(_CryptExportPKCS8, crypt32, 'CryptExportPKCS8');
  1473.   asm
  1474.     mov esp, ebp
  1475.     pop ebp
  1476.     jmp [_CryptExportPKCS8]
  1477.   end;
  1478. end;
  1479. {$ELSE}
  1480. function CryptExportPKCS8; external crypt32 name 'CryptExportPKCS8';
  1481. {$ENDIF DYNAMIC_LINK}
  1482. {$IFDEF DYNAMIC_LINK}
  1483. var
  1484.   _CryptExportPKCS8Ex: Pointer;
  1485. function CryptExportPKCS8Ex;
  1486. begin
  1487.   GetProcedureAddress(_CryptExportPKCS8Ex, crypt32, 'CryptExportPKCS8Ex');
  1488.   asm
  1489.     mov esp, ebp
  1490.     pop ebp
  1491.     jmp [_CryptExportPKCS8Ex]
  1492.   end;
  1493. end;
  1494. {$ELSE}
  1495. function CryptExportPKCS8Ex; external crypt32 name 'CryptExportPKCS8Ex';
  1496. {$ENDIF DYNAMIC_LINK}
  1497. {$IFDEF DYNAMIC_LINK}
  1498. var
  1499.   _CryptHashPublicKeyInfo: Pointer;
  1500. function CryptHashPublicKeyInfo;
  1501. begin
  1502.   GetProcedureAddress(_CryptHashPublicKeyInfo, crypt32, 'CryptHashPublicKeyInfo');
  1503.   asm
  1504.     mov esp, ebp
  1505.     pop ebp
  1506.     jmp [_CryptHashPublicKeyInfo]
  1507.   end;
  1508. end;
  1509. {$ELSE}
  1510. function CryptHashPublicKeyInfo; external crypt32 name 'CryptHashPublicKeyInfo';
  1511. {$ENDIF DYNAMIC_LINK}
  1512. {$IFDEF DYNAMIC_LINK}
  1513. var
  1514.   _CertRDNValueToStrA: Pointer;
  1515. function CertRDNValueToStrA;
  1516. begin
  1517.   GetProcedureAddress(_CertRDNValueToStrA, crypt32, 'CertRDNValueToStrA');
  1518.   asm
  1519.     mov esp, ebp
  1520.     pop ebp
  1521.     jmp [_CertRDNValueToStrA]
  1522.   end;
  1523. end;
  1524. {$ELSE}
  1525. function CertRDNValueToStrA; external crypt32 name 'CertRDNValueToStrA';
  1526. {$ENDIF DYNAMIC_LINK}
  1527. {$IFDEF DYNAMIC_LINK}
  1528. var
  1529.   _CertRDNValueToStrW: Pointer;
  1530. function CertRDNValueToStrW;
  1531. begin
  1532.   GetProcedureAddress(_CertRDNValueToStrW, crypt32, 'CertRDNValueToStrW');
  1533.   asm
  1534.     mov esp, ebp
  1535.     pop ebp
  1536.     jmp [_CertRDNValueToStrW]
  1537.   end;
  1538. end;
  1539. {$ELSE}
  1540. function CertRDNValueToStrW; external crypt32 name 'CertRDNValueToStrW';
  1541. {$ENDIF DYNAMIC_LINK}
  1542. {$IFDEF UNICODE}
  1543. {$IFDEF DYNAMIC_LINK}
  1544. var
  1545.   _CertRDNValueToStr: Pointer;
  1546. function CertRDNValueToStr;
  1547. begin
  1548.   GetProcedureAddress(_CertRDNValueToStr, crypt32, 'CertRDNValueToStrW');
  1549.   asm
  1550.     mov esp, ebp
  1551.     pop ebp
  1552.     jmp [_CertRDNValueToStr]
  1553.   end;
  1554. end;
  1555. {$ELSE}
  1556. function CertRDNValueToStr; external crypt32 name 'CertRDNValueToStrW';
  1557. {$ENDIF DYNAMIC_LINK}
  1558. {$ELSE}
  1559. {$IFDEF DYNAMIC_LINK}
  1560. var
  1561.   _CertRDNValueToStr: Pointer;
  1562. function CertRDNValueToStr;
  1563. begin
  1564.   GetProcedureAddress(_CertRDNValueToStr, crypt32, 'CertRDNValueToStrA');
  1565.   asm
  1566.     mov esp, ebp
  1567.     pop ebp
  1568.     jmp [_CertRDNValueToStr]
  1569.   end;
  1570. end;
  1571. {$ELSE}
  1572. function CertRDNValueToStr; external crypt32 name 'CertRDNValueToStrA';
  1573. {$ENDIF DYNAMIC_LINK}
  1574. {$ENDIF}
  1575. {$IFDEF DYNAMIC_LINK}
  1576. var
  1577.   _CertNameToStrA: Pointer;
  1578. function CertNameToStrA;
  1579. begin
  1580.   GetProcedureAddress(_CertNameToStrA, crypt32, 'CertNameToStrA');
  1581.   asm
  1582.     mov esp, ebp
  1583.     pop ebp
  1584.     jmp [_CertNameToStrA]
  1585.   end;
  1586. end;
  1587. {$ELSE}
  1588. function CertNameToStrA; external crypt32 name 'CertNameToStrA';
  1589. {$ENDIF DYNAMIC_LINK}
  1590. {$IFDEF DYNAMIC_LINK}
  1591. var
  1592.   _CertNameToStrW: Pointer;
  1593. function CertNameToStrW;
  1594. begin
  1595.   GetProcedureAddress(_CertNameToStrW, crypt32, 'CertNameToStrW');
  1596.   asm
  1597.     mov esp, ebp
  1598.     pop ebp
  1599.     jmp [_CertNameToStrW]
  1600.   end;
  1601. end;
  1602. {$ELSE}
  1603. function CertNameToStrW; external crypt32 name 'CertNameToStrW';
  1604. {$ENDIF DYNAMIC_LINK}
  1605. {$IFDEF UNICODE}
  1606. {$IFDEF DYNAMIC_LINK}
  1607. var
  1608.   _CertNameToStr: Pointer;
  1609. function CertNameToStr;
  1610. begin
  1611.   GetProcedureAddress(_CertNameToStr, crypt32, 'CertNameToStrW');
  1612.   asm
  1613.     mov esp, ebp
  1614.     pop ebp
  1615.     jmp [_CertNameToStr]
  1616.   end;
  1617. end;
  1618. {$ELSE}
  1619. function CertNameToStr; external crypt32 name 'CertNameToStrW';
  1620. {$ENDIF DYNAMIC_LINK}
  1621. {$ELSE}
  1622. {$IFDEF DYNAMIC_LINK}
  1623. var
  1624.   _CertNameToStr: Pointer;
  1625. function CertNameToStr;
  1626. begin
  1627.   GetProcedureAddress(_CertNameToStr, crypt32, 'CertNameToStrA');
  1628.   asm
  1629.     mov esp, ebp
  1630.     pop ebp
  1631.     jmp [_CertNameToStr]
  1632.   end;
  1633. end;
  1634. {$ELSE}
  1635. function CertNameToStr; external crypt32 name 'CertNameToStrA';
  1636. {$ENDIF DYNAMIC_LINK}
  1637. {$ENDIF}
  1638. {$IFDEF DYNAMIC_LINK}
  1639. var
  1640.   _CertStrToNameA: Pointer;
  1641. function CertStrToNameA;
  1642. begin
  1643.   GetProcedureAddress(_CertStrToNameA, crypt32, 'CertStrToNameA');
  1644.   asm
  1645.     mov esp, ebp
  1646.     pop ebp
  1647.     jmp [_CertStrToNameA]
  1648.   end;
  1649. end;
  1650. {$ELSE}
  1651. function CertStrToNameA; external crypt32 name 'CertStrToNameA';
  1652. {$ENDIF DYNAMIC_LINK}
  1653. {$IFDEF DYNAMIC_LINK}
  1654. var
  1655.   _CertStrToNameW: Pointer;
  1656. function CertStrToNameW;
  1657. begin
  1658.   GetProcedureAddress(_CertStrToNameW, crypt32, 'CertStrToNameW');
  1659.   asm
  1660.     mov esp, ebp
  1661.     pop ebp
  1662.     jmp [_CertStrToNameW]
  1663.   end;
  1664. end;
  1665. {$ELSE}
  1666. function CertStrToNameW; external crypt32 name 'CertStrToNameW';
  1667. {$ENDIF DYNAMIC_LINK}
  1668. {$IFDEF UNICODE}
  1669. {$IFDEF DYNAMIC_LINK}
  1670. var
  1671.   _CertStrToName: Pointer;
  1672. function CertStrToName;
  1673. begin
  1674.   GetProcedureAddress(_CertStrToName, crypt32, 'CertStrToNameW');
  1675.   asm
  1676.     mov esp, ebp
  1677.     pop ebp
  1678.     jmp [_CertStrToName]
  1679.   end;
  1680. end;
  1681. {$ELSE}
  1682. function CertStrToName; external crypt32 name 'CertStrToNameW';
  1683. {$ENDIF DYNAMIC_LINK}
  1684. {$ELSE}
  1685. {$IFDEF DYNAMIC_LINK}
  1686. var
  1687.   _CertStrToName: Pointer;
  1688. function CertStrToName;
  1689. begin
  1690.   GetProcedureAddress(_CertStrToName, crypt32, 'CertStrToNameA');
  1691.   asm
  1692.     mov esp, ebp
  1693.     pop ebp
  1694.     jmp [_CertStrToName]
  1695.   end;
  1696. end;
  1697. {$ELSE}
  1698. function CertStrToName; external crypt32 name 'CertStrToNameA';
  1699. {$ENDIF DYNAMIC_LINK}
  1700. {$ENDIF}
  1701. {$IFDEF DYNAMIC_LINK}
  1702. var
  1703.   _CertGetNameStringA: Pointer;
  1704. function CertGetNameStringA;
  1705. begin
  1706.   GetProcedureAddress(_CertGetNameStringA, crypt32, 'CertGetNameStringA');
  1707.   asm
  1708.     mov esp, ebp
  1709.     pop ebp
  1710.     jmp [_CertGetNameStringA]
  1711.   end;
  1712. end;
  1713. {$ELSE}
  1714. function CertGetNameStringA; external crypt32 name 'CertGetNameStringA';
  1715. {$ENDIF DYNAMIC_LINK}
  1716. {$IFDEF DYNAMIC_LINK}
  1717. var
  1718.   _CertGetNameStringW: Pointer;
  1719. function CertGetNameStringW;
  1720. begin
  1721.   GetProcedureAddress(_CertGetNameStringW, crypt32, 'CertGetNameStringW');
  1722.   asm
  1723.     mov esp, ebp
  1724.     pop ebp
  1725.     jmp [_CertGetNameStringW]
  1726.   end;
  1727. end;
  1728. {$ELSE}
  1729. function CertGetNameStringW; external crypt32 name 'CertGetNameStringW';
  1730. {$ENDIF DYNAMIC_LINK}
  1731. {$IFDEF UNICODE}
  1732. {$IFDEF DYNAMIC_LINK}
  1733. var
  1734.   _CertGetNameString: Pointer;
  1735. function CertGetNameString;
  1736. begin
  1737.   GetProcedureAddress(_CertGetNameString, crypt32, 'CertGetNameStringW');
  1738.   asm
  1739.     mov esp, ebp
  1740.     pop ebp
  1741.     jmp [_CertGetNameString]
  1742.   end;
  1743. end;
  1744. {$ELSE}
  1745. function CertGetNameString; external crypt32 name 'CertGetNameStringW';
  1746. {$ENDIF DYNAMIC_LINK}
  1747. {$ELSE}
  1748. {$IFDEF DYNAMIC_LINK}
  1749. var
  1750.   _CertGetNameString: Pointer;
  1751. function CertGetNameString;
  1752. begin
  1753.   GetProcedureAddress(_CertGetNameString, crypt32, 'CertGetNameStringA');
  1754.   asm
  1755.     mov esp, ebp
  1756.     pop ebp
  1757.     jmp [_CertGetNameString]
  1758.   end;
  1759. end;
  1760. {$ELSE}
  1761. function CertGetNameString; external crypt32 name 'CertGetNameStringA';
  1762. {$ENDIF DYNAMIC_LINK}
  1763. {$ENDIF}
  1764. {$IFDEF DYNAMIC_LINK}
  1765. var
  1766.   _CryptSignMessage: Pointer;
  1767. function CryptSignMessage;
  1768. begin
  1769.   GetProcedureAddress(_CryptSignMessage, crypt32, 'CryptSignMessage');
  1770.   asm
  1771.     mov esp, ebp
  1772.     pop ebp
  1773.     jmp [_CryptSignMessage]
  1774.   end;
  1775. end;
  1776. {$ELSE}
  1777. function CryptSignMessage; external crypt32 name 'CryptSignMessage';
  1778. {$ENDIF DYNAMIC_LINK}
  1779. {$IFDEF DYNAMIC_LINK}
  1780. var
  1781.   _CryptVerifyMessageSignature: Pointer;
  1782. function CryptVerifyMessageSignature;
  1783. begin
  1784.   GetProcedureAddress(_CryptVerifyMessageSignature, crypt32, 'CryptVerifyMessageSignature');
  1785.   asm
  1786.     mov esp, ebp
  1787.     pop ebp
  1788.     jmp [_CryptVerifyMessageSignature]
  1789.   end;
  1790. end;
  1791. {$ELSE}
  1792. function CryptVerifyMessageSignature; external crypt32 name 'CryptVerifyMessageSignature';
  1793. {$ENDIF DYNAMIC_LINK}
  1794. {$IFDEF DYNAMIC_LINK}
  1795. var
  1796.   _CryptGetMessageSignerCount: Pointer;
  1797. function CryptGetMessageSignerCount;
  1798. begin
  1799.   GetProcedureAddress(_CryptGetMessageSignerCount, crypt32, 'CryptGetMessageSignerCount');
  1800.   asm
  1801.     mov esp, ebp
  1802.     pop ebp
  1803.     jmp [_CryptGetMessageSignerCount]
  1804.   end;
  1805. end;
  1806. {$ELSE}
  1807. function CryptGetMessageSignerCount; external crypt32 name 'CryptGetMessageSignerCount';
  1808. {$ENDIF DYNAMIC_LINK}
  1809. {$IFDEF DYNAMIC_LINK}
  1810. var
  1811.   _CryptGetMessageCertificates: Pointer;
  1812. function CryptGetMessageCertificates;
  1813. begin
  1814.   GetProcedureAddress(_CryptGetMessageCertificates, crypt32, 'CryptGetMessageCertificates');
  1815.   asm
  1816.     mov esp, ebp
  1817.     pop ebp
  1818.     jmp [_CryptGetMessageCertificates]
  1819.   end;
  1820. end;
  1821. {$ELSE}
  1822. function CryptGetMessageCertificates; external crypt32 name 'CryptGetMessageCertificates';
  1823. {$ENDIF DYNAMIC_LINK}
  1824. {$IFDEF DYNAMIC_LINK}
  1825. var
  1826.   _CryptVerDetachedMsgSignature: Pointer;
  1827. function CryptVerifyDetachedMessageSignature;
  1828. begin
  1829.   GetProcedureAddress(_CryptVerDetachedMsgSignature, crypt32, 'CryptVerifyDetachedMessageSignature');
  1830.   asm
  1831.     mov esp, ebp
  1832.     pop ebp
  1833.     jmp [_CryptVerDetachedMsgSignature]
  1834.   end;
  1835. end;
  1836. {$ELSE}
  1837. function CryptVerifyDetachedMessageSignature; external crypt32 name 'CryptVerifyDetachedMessageSignature';
  1838. {$ENDIF DYNAMIC_LINK}
  1839. {$IFDEF DYNAMIC_LINK}
  1840. var
  1841.   _CryptEncryptMessage: Pointer;
  1842. function CryptEncryptMessage;
  1843. begin
  1844.   GetProcedureAddress(_CryptEncryptMessage, crypt32, 'CryptEncryptMessage');
  1845.   asm
  1846.     mov esp, ebp
  1847.     pop ebp
  1848.     jmp [_CryptEncryptMessage]
  1849.   end;
  1850. end;
  1851. {$ELSE}
  1852. function CryptEncryptMessage; external crypt32 name 'CryptEncryptMessage';
  1853. {$ENDIF DYNAMIC_LINK}
  1854. {$IFDEF DYNAMIC_LINK}
  1855. var
  1856.   _CryptDecryptMessage: Pointer;
  1857. function CryptDecryptMessage;
  1858. begin
  1859.   GetProcedureAddress(_CryptDecryptMessage, crypt32, 'CryptDecryptMessage');
  1860.   asm
  1861.     mov esp, ebp
  1862.     pop ebp
  1863.     jmp [_CryptDecryptMessage]
  1864.   end;
  1865. end;
  1866. {$ELSE}
  1867. function CryptDecryptMessage; external crypt32 name 'CryptDecryptMessage';
  1868. {$ENDIF DYNAMIC_LINK}
  1869. {$IFDEF DYNAMIC_LINK}
  1870. var
  1871.   _CryptSignAndEncryptMessage: Pointer;
  1872. function CryptSignAndEncryptMessage;
  1873. begin
  1874.   GetProcedureAddress(_CryptSignAndEncryptMessage, crypt32, 'CryptSignAndEncryptMessage');
  1875.   asm
  1876.     mov esp, ebp
  1877.     pop ebp
  1878.     jmp [_CryptSignAndEncryptMessage]
  1879.   end;
  1880. end;
  1881. {$ELSE}
  1882. function CryptSignAndEncryptMessage; external crypt32 name 'CryptSignAndEncryptMessage';
  1883. {$ENDIF DYNAMIC_LINK}
  1884. {$IFDEF DYNAMIC_LINK}
  1885. var
  1886.   _CryptDecryptAndVerMsgSig: Pointer;
  1887. function CryptDecryptAndVerifyMessageSignature;
  1888. begin
  1889.   GetProcedureAddress(_CryptDecryptAndVerMsgSig, crypt32, 'CryptDecryptAndVerifyMessageSignature');
  1890.   asm
  1891.     mov esp, ebp
  1892.     pop ebp
  1893.     jmp [_CryptDecryptAndVerMsgSig]
  1894.   end;
  1895. end;
  1896. {$ELSE}
  1897. function CryptDecryptAndVerifyMessageSignature; external crypt32 name 'CryptDecryptAndVerifyMessageSignature';
  1898. {$ENDIF DYNAMIC_LINK}
  1899. {$IFDEF DYNAMIC_LINK}
  1900. var
  1901.   _CryptDecodeMessage: Pointer;
  1902. function CryptDecodeMessage;
  1903. begin
  1904.   GetProcedureAddress(_CryptDecodeMessage, crypt32, 'CryptDecodeMessage');
  1905.   asm
  1906.     mov esp, ebp
  1907.     pop ebp
  1908.     jmp [_CryptDecodeMessage]
  1909.   end;
  1910. end;
  1911. {$ELSE}
  1912. function CryptDecodeMessage; external crypt32 name 'CryptDecodeMessage';
  1913. {$ENDIF DYNAMIC_LINK}
  1914. {$IFDEF DYNAMIC_LINK}
  1915. var
  1916.   _CryptHashMessage: Pointer;
  1917. function CryptHashMessage;
  1918. begin
  1919.   GetProcedureAddress(_CryptHashMessage, crypt32, 'CryptHashMessage');
  1920.   asm
  1921.     mov esp, ebp
  1922.     pop ebp
  1923.     jmp [_CryptHashMessage]
  1924.   end;
  1925. end;
  1926. {$ELSE}
  1927. function CryptHashMessage; external crypt32 name 'CryptHashMessage';
  1928. {$ENDIF DYNAMIC_LINK}
  1929. {$IFDEF DYNAMIC_LINK}
  1930. var
  1931.   _CryptVerifyMessageHash: Pointer;
  1932. function CryptVerifyMessageHash;
  1933. begin
  1934.   GetProcedureAddress(_CryptVerifyMessageHash, crypt32, 'CryptVerifyMessageHash');
  1935.   asm
  1936.     mov esp, ebp
  1937.     pop ebp
  1938.     jmp [_CryptVerifyMessageHash]
  1939.   end;
  1940. end;
  1941. {$ELSE}
  1942. function CryptVerifyMessageHash; external crypt32 name 'CryptVerifyMessageHash';
  1943. {$ENDIF DYNAMIC_LINK}
  1944. {$IFDEF DYNAMIC_LINK}
  1945. var
  1946.   _CryptVerifyDetachedMessageHash: Pointer;
  1947. function CryptVerifyDetachedMessageHash;
  1948. begin
  1949.   GetProcedureAddress(_CryptVerifyDetachedMessageHash, crypt32, 'CryptVerifyDetachedMessageHash');
  1950.   asm
  1951.     mov esp, ebp
  1952.     pop ebp
  1953.     jmp [_CryptVerifyDetachedMessageHash]
  1954.   end;
  1955. end;
  1956. {$ELSE}
  1957. function CryptVerifyDetachedMessageHash; external crypt32 name 'CryptVerifyDetachedMessageHash';
  1958. {$ENDIF DYNAMIC_LINK}
  1959. {$IFDEF DYNAMIC_LINK}
  1960. var
  1961.   _CryptSignMessageWithKey: Pointer;
  1962. function CryptSignMessageWithKey;
  1963. begin
  1964.   GetProcedureAddress(_CryptSignMessageWithKey, crypt32, 'CryptSignMessageWithKey');
  1965.   asm
  1966.     mov esp, ebp
  1967.     pop ebp
  1968.     jmp [_CryptSignMessageWithKey]
  1969.   end;
  1970. end;
  1971. {$ELSE}
  1972. function CryptSignMessageWithKey; external crypt32 name 'CryptSignMessageWithKey';
  1973. {$ENDIF DYNAMIC_LINK}
  1974. {$IFDEF DYNAMIC_LINK}
  1975. var
  1976.   _CryptVerifyMsgSigWithKey: Pointer;
  1977. function CryptVerifyMessageSignatureWithKey;
  1978. begin
  1979.   GetProcedureAddress(_CryptVerifyMsgSigWithKey, crypt32, 'CryptVerifyMessageSignatureWithKey');
  1980.   asm
  1981.     mov esp, ebp
  1982.     pop ebp
  1983.     jmp [_CryptVerifyMsgSigWithKey]
  1984.   end;
  1985. end;
  1986. {$ELSE}
  1987. function CryptVerifyMessageSignatureWithKey; external crypt32 name 'CryptVerifyMessageSignatureWithKey';
  1988. {$ENDIF DYNAMIC_LINK}
  1989. {$IFDEF DYNAMIC_LINK}
  1990. var
  1991.   _CertOpenSystemStoreA: Pointer;
  1992. function CertOpenSystemStoreA;
  1993. begin
  1994.   GetProcedureAddress(_CertOpenSystemStoreA, crypt32, 'CertOpenSystemStoreA');
  1995.   asm
  1996.     mov esp, ebp
  1997.     pop ebp
  1998.     jmp [_CertOpenSystemStoreA]
  1999.   end;
  2000. end;
  2001. {$ELSE}
  2002. function CertOpenSystemStoreA; external crypt32 name 'CertOpenSystemStoreA';
  2003. {$ENDIF DYNAMIC_LINK}
  2004. {$IFDEF DYNAMIC_LINK}
  2005. var
  2006.   _CertOpenSystemStoreW: Pointer;
  2007. function CertOpenSystemStoreW;
  2008. begin
  2009.   GetProcedureAddress(_CertOpenSystemStoreW, crypt32, 'CertOpenSystemStoreW');
  2010.   asm
  2011.     mov esp, ebp
  2012.     pop ebp
  2013.     jmp [_CertOpenSystemStoreW]
  2014.   end;
  2015. end;
  2016. {$ELSE}
  2017. function CertOpenSystemStoreW; external crypt32 name 'CertOpenSystemStoreW';
  2018. {$ENDIF DYNAMIC_LINK}
  2019. {$IFDEF UNICODE}
  2020. {$IFDEF DYNAMIC_LINK}
  2021. var
  2022.   _CertOpenSystemStore: Pointer;
  2023. function CertOpenSystemStore;
  2024. begin
  2025.   GetProcedureAddress(_CertOpenSystemStore, crypt32, 'CertOpenSystemStoreW');
  2026.   asm
  2027.     mov esp, ebp
  2028.     pop ebp
  2029.     jmp [_CertOpenSystemStore]
  2030.   end;
  2031. end;
  2032. {$ELSE}
  2033. function CertOpenSystemStore; external crypt32 name 'CertOpenSystemStoreW';
  2034. {$ENDIF DYNAMIC_LINK}
  2035. {$ELSE}
  2036. {$IFDEF DYNAMIC_LINK}
  2037. var
  2038.   _CertOpenSystemStore: Pointer;
  2039. function CertOpenSystemStore;
  2040. begin
  2041.   GetProcedureAddress(_CertOpenSystemStore, crypt32, 'CertOpenSystemStoreA');
  2042.   asm
  2043.     mov esp, ebp
  2044.     pop ebp
  2045.     jmp [_CertOpenSystemStore]
  2046.   end;
  2047. end;
  2048. {$ELSE}
  2049. function CertOpenSystemStore; external crypt32 name 'CertOpenSystemStoreA';
  2050. {$ENDIF DYNAMIC_LINK}
  2051. {$ENDIF}
  2052. {$IFDEF DYNAMIC_LINK}
  2053. var
  2054.   _CertAddEncodedCertToSysStoreA: Pointer;
  2055. function CertAddEncodedCertificateToSystemStoreA;
  2056. begin
  2057.   GetProcedureAddress(_CertAddEncodedCertToSysStoreA, crypt32, 'CertAddEncodedCertificateToSystemStoreA');
  2058.   asm
  2059.     mov esp, ebp
  2060.     pop ebp
  2061.     jmp [_CertAddEncodedCertToSysStoreA]
  2062.   end;
  2063. end;
  2064. {$ELSE}
  2065. function CertAddEncodedCertificateToSystemStoreA; external crypt32 name 'CertAddEncodedCertificateToSystemStoreA';
  2066. {$ENDIF DYNAMIC_LINK}
  2067. {$IFDEF DYNAMIC_LINK}
  2068. var
  2069.   _CertAddEncodedCertToSysStoreW: Pointer;
  2070. function CertAddEncodedCertificateToSystemStoreW;
  2071. begin
  2072.   GetProcedureAddress(_CertAddEncodedCertToSysStoreW, crypt32, 'CertAddEncodedCertificateToSystemStoreW');
  2073.   asm
  2074.     mov esp, ebp
  2075.     pop ebp
  2076.     jmp [_CertAddEncodedCertToSysStoreW]
  2077.   end;
  2078. end;
  2079. {$ELSE}
  2080. function CertAddEncodedCertificateToSystemStoreW; external crypt32 name 'CertAddEncodedCertificateToSystemStoreW';
  2081. {$ENDIF DYNAMIC_LINK}
  2082. {$IFDEF UNICODE}
  2083. {$IFDEF DYNAMIC_LINK}
  2084. var
  2085.   _CertAddEncodedCertToSysStore: Pointer;
  2086. function CertAddEncodedCertificateToSystemStore;
  2087. begin
  2088.   GetProcedureAddress(_CertAddEncodedCertToSysStore, crypt32, 'CertAddEncodedCertificateToSystemStoreW');
  2089.   asm
  2090.     mov esp, ebp
  2091.     pop ebp
  2092.     jmp [_CertAddEncodedCertToSysStore]
  2093.   end;
  2094. end;
  2095. {$ELSE}
  2096. function CertAddEncodedCertificateToSystemStore; external crypt32 name 'CertAddEncodedCertificateToSystemStoreW';
  2097. {$ENDIF DYNAMIC_LINK}
  2098. {$ELSE}
  2099. {$IFDEF DYNAMIC_LINK}
  2100. var
  2101.   _CertAddEncodedCertToSysStore: Pointer;
  2102. function CertAddEncodedCertificateToSystemStore;
  2103. begin
  2104.   GetProcedureAddress(_CertAddEncodedCertToSysStore, crypt32, 'CertAddEncodedCertificateToSystemStoreA');
  2105.   asm
  2106.     mov esp, ebp
  2107.     pop ebp
  2108.     jmp [_CertAddEncodedCertToSysStore]
  2109.   end;
  2110. end;
  2111. {$ELSE}
  2112. function CertAddEncodedCertificateToSystemStore; external crypt32 name 'CertAddEncodedCertificateToSystemStoreA';
  2113. {$ENDIF DYNAMIC_LINK}
  2114. {$ENDIF}
  2115. {$IFDEF DYNAMIC_LINK}
  2116. var
  2117.   _FindCertsByIssuer: Pointer;
  2118. function FindCertsByIssuer;
  2119. begin
  2120.   GetProcedureAddress(_FindCertsByIssuer, softpub, 'FindCertsByIssuer');
  2121.   asm
  2122.     mov esp, ebp
  2123.     pop ebp
  2124.     jmp [_FindCertsByIssuer]
  2125.   end;
  2126. end;
  2127. {$ELSE}
  2128. function FindCertsByIssuer; external softpub name 'FindCertsByIssuer';
  2129. {$ENDIF DYNAMIC_LINK}
  2130. {$IFDEF DYNAMIC_LINK}
  2131. var
  2132.   _CryptQueryObject: Pointer;
  2133. function CryptQueryObject;
  2134. begin
  2135.   GetProcedureAddress(_CryptQueryObject, crypt32, 'CryptQueryObject');
  2136.   asm
  2137.     mov esp, ebp
  2138.     pop ebp
  2139.     jmp [_CryptQueryObject]
  2140.   end;
  2141. end;
  2142. {$ELSE}
  2143. function CryptQueryObject; external crypt32 name 'CryptQueryObject';
  2144. {$ENDIF DYNAMIC_LINK}
  2145. {$IFDEF DYNAMIC_LINK}
  2146. var
  2147.   _CryptMemAlloc: Pointer;
  2148. function CryptMemAlloc;
  2149. begin
  2150.   GetProcedureAddress(_CryptMemAlloc, crypt32, 'CryptMemAlloc');
  2151.   asm
  2152.     mov esp, ebp
  2153.     pop ebp
  2154.     jmp [_CryptMemAlloc]
  2155.   end;
  2156. end;
  2157. {$ELSE}
  2158. function CryptMemAlloc; external crypt32 name 'CryptMemAlloc';
  2159. {$ENDIF DYNAMIC_LINK}
  2160. {$IFDEF DYNAMIC_LINK}
  2161. var
  2162.   _CryptMemRealloc: Pointer;
  2163. function CryptMemRealloc;
  2164. begin
  2165.   GetProcedureAddress(_CryptMemRealloc, crypt32, 'CryptMemRealloc');
  2166.   asm
  2167.     mov esp, ebp
  2168.     pop ebp
  2169.     jmp [_CryptMemRealloc]
  2170.   end;
  2171. end;
  2172. {$ELSE}
  2173. function CryptMemRealloc; external crypt32 name 'CryptMemRealloc';
  2174. {$ENDIF DYNAMIC_LINK}
  2175. {$IFDEF DYNAMIC_LINK}
  2176. var
  2177.   _CryptMemFree: Pointer;
  2178. procedure CryptMemFree;
  2179. begin
  2180.   GetProcedureAddress(_CryptMemFree, crypt32, 'CryptMemFree');
  2181.   asm
  2182.     mov esp, ebp
  2183.     pop ebp
  2184.     jmp [_CryptMemFree]
  2185.   end;
  2186. end;
  2187. {$ELSE}
  2188. procedure CryptMemFree; external crypt32 name 'CryptMemFree';
  2189. {$ENDIF DYNAMIC_LINK}
  2190. {$IFDEF DYNAMIC_LINK}
  2191. var
  2192.   _CryptCreateAsyncHandle: Pointer;
  2193. function CryptCreateAsyncHandle;
  2194. begin
  2195.   GetProcedureAddress(_CryptCreateAsyncHandle, crypt32, 'CryptCreateAsyncHandle');
  2196.   asm
  2197.     mov esp, ebp
  2198.     pop ebp
  2199.     jmp [_CryptCreateAsyncHandle]
  2200.   end;
  2201. end;
  2202. {$ELSE}
  2203. function CryptCreateAsyncHandle; external crypt32 name 'CryptCreateAsyncHandle';
  2204. {$ENDIF DYNAMIC_LINK}
  2205. {$IFDEF DYNAMIC_LINK}
  2206. var
  2207.   _CryptSetAsyncParam: Pointer;
  2208. function CryptSetAsyncParam;
  2209. begin
  2210.   GetProcedureAddress(_CryptSetAsyncParam, crypt32, 'CryptSetAsyncParam');
  2211.   asm
  2212.     mov esp, ebp
  2213.     pop ebp
  2214.     jmp [_CryptSetAsyncParam]
  2215.   end;
  2216. end;
  2217. {$ELSE}
  2218. function CryptSetAsyncParam; external crypt32 name 'CryptSetAsyncParam';
  2219. {$ENDIF DYNAMIC_LINK}
  2220. {$IFDEF DYNAMIC_LINK}
  2221. var
  2222.   _CryptGetAsyncParam: Pointer;
  2223. function CryptGetAsyncParam;
  2224. begin
  2225.   GetProcedureAddress(_CryptGetAsyncParam, crypt32, 'CryptGetAsyncParam');
  2226.   asm
  2227.     mov esp, ebp
  2228.     pop ebp
  2229.     jmp [_CryptGetAsyncParam]
  2230.   end;
  2231. end;
  2232. {$ELSE}
  2233. function CryptGetAsyncParam; external crypt32 name 'CryptGetAsyncParam';
  2234. {$ENDIF DYNAMIC_LINK}
  2235. {$IFDEF DYNAMIC_LINK}
  2236. var
  2237.   _CryptCloseAsyncHandle: Pointer;
  2238. function CryptCloseAsyncHandle;
  2239. begin
  2240.   GetProcedureAddress(_CryptCloseAsyncHandle, crypt32, 'CryptCloseAsyncHandle');
  2241.   asm
  2242.     mov esp, ebp
  2243.     pop ebp
  2244.     jmp [_CryptCloseAsyncHandle]
  2245.   end;
  2246. end;
  2247. {$ELSE}
  2248. function CryptCloseAsyncHandle; external crypt32 name 'CryptCloseAsyncHandle';
  2249. {$ENDIF DYNAMIC_LINK}
  2250. {$IFDEF DYNAMIC_LINK}
  2251. var
  2252.   _CryptRetrieveObjectByUrlA: Pointer;
  2253. function CryptRetrieveObjectByUrlA;
  2254. begin
  2255.   GetProcedureAddress(_CryptRetrieveObjectByUrlA, crypt32, 'CryptRetrieveObjectByUrlA');
  2256.   asm
  2257.     mov esp, ebp
  2258.     pop ebp
  2259.     jmp [_CryptRetrieveObjectByUrlA]
  2260.   end;
  2261. end;
  2262. {$ELSE}
  2263. function CryptRetrieveObjectByUrlA; external crypt32 name 'CryptRetrieveObjectByUrlA';
  2264. {$ENDIF DYNAMIC_LINK}
  2265. {$IFDEF DYNAMIC_LINK}
  2266. var
  2267.   _CryptRetrieveObjectByUrlW: Pointer;
  2268. function CryptRetrieveObjectByUrlW;
  2269. begin
  2270.   GetProcedureAddress(_CryptRetrieveObjectByUrlW, crypt32, 'CryptRetrieveObjectByUrlW');
  2271.   asm
  2272.     mov esp, ebp
  2273.     pop ebp
  2274.     jmp [_CryptRetrieveObjectByUrlW]
  2275.   end;
  2276. end;
  2277. {$ELSE}
  2278. function CryptRetrieveObjectByUrlW; external crypt32 name 'CryptRetrieveObjectByUrlW';
  2279. {$ENDIF DYNAMIC_LINK}
  2280. {$IFDEF UNICODE}
  2281. {$IFDEF DYNAMIC_LINK}
  2282. var
  2283.   _CryptRetrieveObjectByUrl: Pointer;
  2284. function CryptRetrieveObjectByUrl;
  2285. begin
  2286.   GetProcedureAddress(_CryptRetrieveObjectByUrl, crypt32, 'CryptRetrieveObjectByUrlW');
  2287.   asm
  2288.     mov esp, ebp
  2289.     pop ebp
  2290.     jmp [_CryptRetrieveObjectByUrl]
  2291.   end;
  2292. end;
  2293. {$ELSE}
  2294. function CryptRetrieveObjectByUrl; external crypt32 name 'CryptRetrieveObjectByUrlW';
  2295. {$ENDIF DYNAMIC_LINK}
  2296. {$ELSE}
  2297. {$IFDEF DYNAMIC_LINK}
  2298. var
  2299.   _CryptRetrieveObjectByUrl: Pointer;
  2300. function CryptRetrieveObjectByUrl;
  2301. begin
  2302.   GetProcedureAddress(_CryptRetrieveObjectByUrl, crypt32, 'CryptRetrieveObjectByUrlA');
  2303.   asm
  2304.     mov esp, ebp
  2305.     pop ebp
  2306.     jmp [_CryptRetrieveObjectByUrl]
  2307.   end;
  2308. end;
  2309. {$ELSE}
  2310. function CryptRetrieveObjectByUrl; external crypt32 name 'CryptRetrieveObjectByUrlA';
  2311. {$ENDIF DYNAMIC_LINK}
  2312. {$ENDIF}
  2313. {$IFDEF DYNAMIC_LINK}
  2314. var
  2315.   _CryptInstallCancelRetrieval: Pointer;
  2316. function CryptInstallCancelRetrieval;
  2317. begin
  2318.   GetProcedureAddress(_CryptInstallCancelRetrieval, crypt32, 'CryptInstallCancelRetrieval');
  2319.   asm
  2320.     mov esp, ebp
  2321.     pop ebp
  2322.     jmp [_CryptInstallCancelRetrieval]
  2323.   end;
  2324. end;
  2325. {$ELSE}
  2326. function CryptInstallCancelRetrieval; external crypt32 name 'CryptInstallCancelRetrieval';
  2327. {$ENDIF DYNAMIC_LINK}
  2328. {$IFDEF DYNAMIC_LINK}
  2329. var
  2330.   _CryptUninstallCancelRetrieval: Pointer;
  2331. function CryptUninstallCancelRetrieval;
  2332. begin
  2333.   GetProcedureAddress(_CryptUninstallCancelRetrieval, crypt32, 'CryptUninstallCancelRetrieval');
  2334.   asm
  2335.     mov esp, ebp
  2336.     pop ebp
  2337.     jmp [_CryptUninstallCancelRetrieval]
  2338.   end;
  2339. end;
  2340. {$ELSE}
  2341. function CryptUninstallCancelRetrieval; external crypt32 name 'CryptUninstallCancelRetrieval';
  2342. {$ENDIF DYNAMIC_LINK}
  2343. {$IFDEF DYNAMIC_LINK}
  2344. var
  2345.   _CryptCancelAsyncRetrieval: Pointer;
  2346. function CryptCancelAsyncRetrieval;
  2347. begin
  2348.   GetProcedureAddress(_CryptCancelAsyncRetrieval, crypt32, 'CryptCancelAsyncRetrieval');
  2349.   asm
  2350.     mov esp, ebp
  2351.     pop ebp
  2352.     jmp [_CryptCancelAsyncRetrieval]
  2353.   end;
  2354. end;
  2355. {$ELSE}
  2356. function CryptCancelAsyncRetrieval; external crypt32 name 'CryptCancelAsyncRetrieval';
  2357. {$ENDIF DYNAMIC_LINK}
  2358. {$IFDEF DYNAMIC_LINK}
  2359. var
  2360.   _CryptGetObjectUrl: Pointer;
  2361. function CryptGetObjectUrl;
  2362. begin
  2363.   GetProcedureAddress(_CryptGetObjectUrl, crypt32, 'CryptGetObjectUrl');
  2364.   asm
  2365.     mov esp, ebp
  2366.     pop ebp
  2367.     jmp [_CryptGetObjectUrl]
  2368.   end;
  2369. end;
  2370. {$ELSE}
  2371. function CryptGetObjectUrl; external crypt32 name 'CryptGetObjectUrl';
  2372. {$ENDIF DYNAMIC_LINK}
  2373. {$IFDEF DYNAMIC_LINK}
  2374. var
  2375.   _CryptGetTimeValidObject: Pointer;
  2376. function CryptGetTimeValidObject;
  2377. begin
  2378.   GetProcedureAddress(_CryptGetTimeValidObject, crypt32, 'CryptGetTimeValidObject');
  2379.   asm
  2380.     mov esp, ebp
  2381.     pop ebp
  2382.     jmp [_CryptGetTimeValidObject]
  2383.   end;
  2384. end;
  2385. {$ELSE}
  2386. function CryptGetTimeValidObject; external crypt32 name 'CryptGetTimeValidObject';
  2387. {$ENDIF DYNAMIC_LINK}
  2388. {$IFDEF DYNAMIC_LINK}
  2389. var
  2390.   _CryptFlushTimeValidObject: Pointer;
  2391. function CryptFlushTimeValidObject;
  2392. begin
  2393.   GetProcedureAddress(_CryptFlushTimeValidObject, crypt32, 'CryptFlushTimeValidObject');
  2394.   asm
  2395.     mov esp, ebp
  2396.     pop ebp
  2397.     jmp [_CryptFlushTimeValidObject]
  2398.   end;
  2399. end;
  2400. {$ELSE}
  2401. function CryptFlushTimeValidObject; external crypt32 name 'CryptFlushTimeValidObject';
  2402. {$ENDIF DYNAMIC_LINK}
  2403. {$IFDEF DYNAMIC_LINK}
  2404. var
  2405.   _CryptProtectData: Pointer;
  2406. function CryptProtectData;
  2407. begin
  2408.   GetProcedureAddress(_CryptProtectData, crypt32, 'CryptProtectData');
  2409.   asm
  2410.     mov esp, ebp
  2411.     pop ebp
  2412.     jmp [_CryptProtectData]
  2413.   end;
  2414. end;
  2415. {$ELSE}
  2416. function CryptProtectData; external crypt32 name 'CryptProtectData';
  2417. {$ENDIF DYNAMIC_LINK}
  2418. {$IFDEF DYNAMIC_LINK}
  2419. var
  2420.   _CryptUnprotectData: Pointer;
  2421. function CryptUnprotectData;
  2422. begin
  2423.   GetProcedureAddress(_CryptUnprotectData, crypt32, 'CryptUnprotectData');
  2424.   asm
  2425.     mov esp, ebp
  2426.     pop ebp
  2427.     jmp [_CryptUnprotectData]
  2428.   end;
  2429. end;
  2430. {$ELSE}
  2431. function CryptUnprotectData; external crypt32 name 'CryptUnprotectData';
  2432. {$ENDIF DYNAMIC_LINK}
  2433. {$IFDEF DYNAMIC_LINK}
  2434. var
  2435.   _CertCreateSelfSignCertificate: Pointer;
  2436. function CertCreateSelfSignCertificate;
  2437. begin
  2438.   GetProcedureAddress(_CertCreateSelfSignCertificate, crypt32, 'CertCreateSelfSignCertificate');
  2439.   asm
  2440.     mov esp, ebp
  2441.     pop ebp
  2442.     jmp [_CertCreateSelfSignCertificate]
  2443.   end;
  2444. end;
  2445. {$ELSE}
  2446. function CertCreateSelfSignCertificate; external crypt32 name 'CertCreateSelfSignCertificate';
  2447. {$ENDIF DYNAMIC_LINK}
  2448. {$IFDEF DYNAMIC_LINK}
  2449. var
  2450.   _CryptGetKeyIdentifierProperty: Pointer;
  2451. function CryptGetKeyIdentifierProperty;
  2452. begin
  2453.   GetProcedureAddress(_CryptGetKeyIdentifierProperty, crypt32, 'CryptGetKeyIdentifierProperty');
  2454.   asm
  2455.     mov esp, ebp
  2456.     pop ebp
  2457.     jmp [_CryptGetKeyIdentifierProperty]
  2458.   end;
  2459. end;
  2460. {$ELSE}
  2461. function CryptGetKeyIdentifierProperty; external crypt32 name 'CryptGetKeyIdentifierProperty';
  2462. {$ENDIF DYNAMIC_LINK}
  2463. {$IFDEF DYNAMIC_LINK}
  2464. var
  2465.   _CryptSetKeyIdentifierProperty: Pointer;
  2466. function CryptSetKeyIdentifierProperty;
  2467. begin
  2468.   GetProcedureAddress(_CryptSetKeyIdentifierProperty, crypt32, 'CryptSetKeyIdentifierProperty');
  2469.   asm
  2470.     mov esp, ebp
  2471.     pop ebp
  2472.     jmp [_CryptSetKeyIdentifierProperty]
  2473.   end;
  2474. end;
  2475. {$ELSE}
  2476. function CryptSetKeyIdentifierProperty; external crypt32 name 'CryptSetKeyIdentifierProperty';
  2477. {$ENDIF DYNAMIC_LINK}
  2478. {$IFDEF DYNAMIC_LINK}
  2479. var
  2480.   _CryptEnumKeyIdentProperties: Pointer;
  2481. function CryptEnumKeyIdentifierProperties;
  2482. begin
  2483.   GetProcedureAddress(_CryptEnumKeyIdentProperties, crypt32, 'CryptEnumKeyIdentifierProperties');
  2484.   asm
  2485.     mov esp, ebp
  2486.     pop ebp
  2487.     jmp [_CryptEnumKeyIdentProperties]
  2488.   end;
  2489. end;
  2490. {$ELSE}
  2491. function CryptEnumKeyIdentifierProperties; external crypt32 name 'CryptEnumKeyIdentifierProperties';
  2492. {$ENDIF DYNAMIC_LINK}
  2493. {$IFDEF DYNAMIC_LINK}
  2494. var
  2495.   _CryptCreateKeyIdentifierFromCSP: Pointer;
  2496. function CryptCreateKeyIdentifierFromCSP;
  2497. begin
  2498.   GetProcedureAddress(_CryptCreateKeyIdentifierFromCSP, crypt32, 'CryptCreateKeyIdentifierFromCSP');
  2499.   asm
  2500.     mov esp, ebp
  2501.     pop ebp
  2502.     jmp [_CryptCreateKeyIdentifierFromCSP]
  2503.   end;
  2504. end;
  2505. {$ELSE}
  2506. function CryptCreateKeyIdentifierFromCSP; external crypt32 name 'CryptCreateKeyIdentifierFromCSP';
  2507. {$ENDIF DYNAMIC_LINK}
  2508. {$IFDEF DYNAMIC_LINK}
  2509. var
  2510.   _CertCreateCertChainEngine: Pointer;
  2511. function CertCreateCertificateChainEngine;
  2512. begin
  2513.   GetProcedureAddress(_CertCreateCertChainEngine, crypt32, 'CertCreateCertificateChainEngine');
  2514.   asm
  2515.     mov esp, ebp
  2516.     pop ebp
  2517.     jmp [_CertCreateCertChainEngine]
  2518.   end;
  2519. end;
  2520. {$ELSE}
  2521. function CertCreateCertificateChainEngine; external crypt32 name 'CertCreateCertificateChainEngine';
  2522. {$ENDIF DYNAMIC_LINK}
  2523. {$IFDEF DYNAMIC_LINK}
  2524. var
  2525.   _CertFreeCertificateChainEngine: Pointer;
  2526. procedure CertFreeCertificateChainEngine;
  2527. begin
  2528.   GetProcedureAddress(_CertFreeCertificateChainEngine, crypt32, 'CertFreeCertificateChainEngine');
  2529.   asm
  2530.     mov esp, ebp
  2531.     pop ebp
  2532.     jmp [_CertFreeCertificateChainEngine]
  2533.   end;
  2534. end;
  2535. {$ELSE}
  2536. procedure CertFreeCertificateChainEngine; external crypt32 name 'CertFreeCertificateChainEngine';
  2537. {$ENDIF DYNAMIC_LINK}
  2538. {$IFDEF DYNAMIC_LINK}
  2539. var
  2540.   _CertResyncCertChainEngine: Pointer;
  2541. function CertResyncCertificateChainEngine;
  2542. begin
  2543.   GetProcedureAddress(_CertResyncCertChainEngine, crypt32, 'CertResyncCertificateChainEngine');
  2544.   asm
  2545.     mov esp, ebp
  2546.     pop ebp
  2547.     jmp [_CertResyncCertChainEngine]
  2548.   end;
  2549. end;
  2550. {$ELSE}
  2551. function CertResyncCertificateChainEngine; external crypt32 name 'CertResyncCertificateChainEngine';
  2552. {$ENDIF DYNAMIC_LINK}
  2553. {$IFDEF DYNAMIC_LINK}
  2554. var
  2555.   _CertGetCertificateChain: Pointer;
  2556. function CertGetCertificateChain;
  2557. begin
  2558.   GetProcedureAddress(_CertGetCertificateChain, crypt32, 'CertGetCertificateChain');
  2559.   asm
  2560.     mov esp, ebp
  2561.     pop ebp
  2562.     jmp [_CertGetCertificateChain]
  2563.   end;
  2564. end;
  2565. {$ELSE}
  2566. function CertGetCertificateChain; external crypt32 name 'CertGetCertificateChain';
  2567. {$ENDIF DYNAMIC_LINK}
  2568. {$IFDEF DYNAMIC_LINK}
  2569. var
  2570.   _CertFreeCertificateChain: Pointer;
  2571. procedure CertFreeCertificateChain;
  2572. begin
  2573.   GetProcedureAddress(_CertFreeCertificateChain, crypt32, 'CertFreeCertificateChain');
  2574.   asm
  2575.     mov esp, ebp
  2576.     pop ebp
  2577.     jmp [_CertFreeCertificateChain]
  2578.   end;
  2579. end;
  2580. {$ELSE}
  2581. procedure CertFreeCertificateChain; external crypt32 name 'CertFreeCertificateChain';
  2582. {$ENDIF DYNAMIC_LINK}
  2583. {$IFDEF DYNAMIC_LINK}
  2584. var
  2585.   _CertDuplicateCertificateChain: Pointer;
  2586. function CertDuplicateCertificateChain;
  2587. begin
  2588.   GetProcedureAddress(_CertDuplicateCertificateChain, crypt32, 'CertDuplicateCertificateChain');
  2589.   asm
  2590.     mov esp, ebp
  2591.     pop ebp
  2592.     jmp [_CertDuplicateCertificateChain]
  2593.   end;
  2594. end;
  2595. {$ELSE}
  2596. function CertDuplicateCertificateChain; external crypt32 name 'CertDuplicateCertificateChain';
  2597. {$ENDIF DYNAMIC_LINK}
  2598. {$IFDEF DYNAMIC_LINK}
  2599. var
  2600.   _CertFindChainInStore: Pointer;
  2601. function CertFindChainInStore;
  2602. begin
  2603.   GetProcedureAddress(_CertFindChainInStore, crypt32, 'CertFindChainInStore');
  2604.   asm
  2605.     mov esp, ebp
  2606.     pop ebp
  2607.     jmp [_CertFindChainInStore]
  2608.   end;
  2609. end;
  2610. {$ELSE}
  2611. function CertFindChainInStore; external crypt32 name 'CertFindChainInStore';
  2612. {$ENDIF DYNAMIC_LINK}
  2613. {$IFDEF DYNAMIC_LINK}
  2614. var
  2615.   _CertVerifyCertChainPolicy: Pointer;
  2616. function CertVerifyCertificateChainPolicy;
  2617. begin
  2618.   GetProcedureAddress(_CertVerifyCertChainPolicy, crypt32, 'CertVerifyCertificateChainPolicy');
  2619.   asm
  2620.     mov esp, ebp
  2621.     pop ebp
  2622.     jmp [_CertVerifyCertChainPolicy]
  2623.   end;
  2624. end;
  2625. {$ELSE}
  2626. function CertVerifyCertificateChainPolicy; external crypt32 name 'CertVerifyCertificateChainPolicy';
  2627. {$ENDIF DYNAMIC_LINK}
  2628. end.