Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.25;
Скачать: CL | DM;

Вниз

CertFindCertificateInStore && CryptApi v.2   Найти похожие ветки 

 
savva ©   (2002-05-20 14:12) [0]

Недавно столкнулся с проблемой, что функция CertFindCertificateInStore из crypt32.dll в Delphi 6 работает мягко говоря не правильно... Этот вывод был мной сделан на основе следующих соображений: код скомпилированный в С++ Builder 6

HANDLE hLib= LoadLibrary ("CRYPT32.dll");
if (hLib){
(void*)proc=GetProcAddress(hLib,"CertFindCertificateInStore");
if (proc)
if (pSignerCert=proc(hStoreHandle, MY_TYPE, 0,
CERT_FIND_SUBJECT_STR, SIGNER_NAME, NULL ))
{
printf("Сертификат найден.\n");
}
else
{
HandleError("Сертификат не найден.");
}

else printf("Error GetProcAddress");
}else printf("Error LoadLibrary");


дает указатель на сертификат pSignerCert!=NULL, в то время как код на паскале

hLib:= LoadLibrary (CRYPT32);
if hLib <>0 then begin
@proc:=GetProcAddress(hLib,"CertFindCertificateInStore");
if @proc<>nil then
pSignerCert:=proc(hStoreHandle, MY_TYPE, 0,
CERT_FIND_SUBJECT_STR, PChar(SIGNER_NAME), nil )
else Writeln("Error GetProcAddress");
end else Writeln("Error LoadLibrary");
дает указатель на сертификат равный nil


P.S. Если кого то смущает подобный код - это не от сладкой жизни... Мне надо выяснить причины столь важного различия.. Поэтому все руками приходится делать.. Может я кривой?? :)


 
savva ©   (2002-05-20 14:14) [1]

да, забыл вопрос :))
Может кто подскажет пути разрешения? или объяснение этому всему??



Страницы: 1 вся ветка

Текущий архив: 2002.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
14-81419
N A N
2002-06-21 14:23
2002.07.25
про венгерскую нотацию и правилам оформления проги на дельфи?


8-81382
McSimm
2001-12-27 15:19
2002.07.25
3DS MAX как OLE-сервер


14-81415
dimanew
2002-06-27 07:31
2002.07.25
Подскажите пожайуста где можно почитать об ОС


1-81331
kull
2002-07-12 18:19
2002.07.25
WrapText ???


1-81226
Sour
2002-07-14 12:27
2002.07.25
Отенки цвета