Главная страница
    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
14-81450
MaximatorVeter
2002-06-27 22:15
2002.07.25
Нотация и семантика.


1-81246
Юрий Зотов
2002-07-14 18:10
2002.07.25
НАРОД! ПОМОГИТЕ ЧЕЛОВЕКУ!


7-81490
Glonia Zbanov
2002-05-07 13:00
2002.07.25
принтеры


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


14-81457
igorr
2002-06-27 09:31
2002.07.25
Прерывания





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