Главная страница
    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.006 c
1-81307
Давид
2002-07-11 16:42
2002.07.25
Динамическое создание классов


1-81315
Den_4000
2002-07-12 15:50
2002.07.25
Панель как в Outlook


8-81387
Devid
2002-03-12 18:00
2002.07.25
Как заисать


14-81408
BKV
2002-06-26 15:08
2002.07.25
Скрыть событие предка


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский