WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Помогите по CryptoAPI

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Помогите по CryptoAPI
Rio опубликован 13-11-2001 19:26 MSK   Click Here to See the Profile for Rio   Click Here to Email Rio  
Мучаюсь с HTTPS роботом.
Пробовал и через компоненты и через WinInte

Поможите!!!
1) Дайте примеры для CertFindCertificateInStore
для поиска сертификата для CERT_FIND_ISSUER_STR или CERT_FIND_SUBJECT_STR
На С, С++

BeeHolder опубликован 14-11-2001 10:32 MSK     Click Here to See the Profile for BeeHolder  Click Here to Email BeeHolder     
PCCERT_CONTEXT GetCert(CString sOwnerName,HCRYPTPROV cpCryptProv,CString sStoreName)
{
USES_CONVERSION;
//owner name - it is certificate id
PCCERT_CONTEXT ccCert=NULL;
wchar_t *k;
DATA_BLOB blbData; //here we will store certificate
CERT_ID CertId;
CString sSubject;
static char buffer[10240];
HCERTSTORE csCertStore;
csCertStore = CertOpenSystemStore(cpCryptProv, sStoreName);
k=A2W(LPCTSTR(sOwnerName));
//put cert if into blob
Hex2Blob(sOwnerName,&blbData);
//fill CertId structure
CertId.dwIdChoice = CERT_ID_KEY_IDENTIFIER;

if(!csCertStore)
{
//....error
}
again:
ccCert = CertFindCertificateInStore(
csCertStore,
MY_TYPE,
0,
CERT_FIND_ANY,
NULL,
ccCert);
if(!ccCert)
{
//...error
}
else
{

CertNameToStr(
MY_TYPE,
&ccCert->pCertInfo->Subject,
CERT_SIMPLE_NAME_STR | CERT_NAME_STR_NO_PLUS_FLAG,
buffer,
10240);

sSubject = buffer;
//verify, that this is our cert ;)
CString sTemp = Blob2Hex(&ccCert->pCertInfo->SerialNumber) + sSubject;
if(sOwnerName != sTemp)
goto again;
}
delete[]blbData.pbData;
CertCloseStore(csCertStore,0);
return ccCert;
}

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.