Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.008 c
1-81364
Fissher
2002-07-13 21:48
2002.07.25
PageControl


3-81144
lancelot
2002-06-28 18:58
2002.07.25
UNIFY


6-81397
DKemper
2002-05-15 22:39
2002.07.25
!!!Очень!!! нужна помощь с TServerSocket.....


14-81482
lak_b
2002-06-29 13:21
2002.07.25
бесплатный хостинг


1-81233
Sergey_G
2002-07-14 14:17
2002.07.25
Доброго дня мастера! Кто разбирается в RichEdit?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский