28.11.2007 11:24:24Получить список Сартификатов в личном хранилище Ответов: 9
Добрый день, не подскажете ли функцию, которая возвращает список всех сертификатов в хранилище?
 
Ответы:
28.11.2007 11:50:37
или хотябы получить их количество...
28.11.2007 12:29:52cybermerlin
Set st = CreateObject("CAPICOM.Store")
Set Certificate = CreateObject("CAPICOM.Certificate")

'get user selected store name
storeName = frmStore.storeName.options(frmStore.storeName.selectedIndex).value

'open selected store
st.Open CAPICOM_CURRENT_USER_STORE, storeName, CAPICOM_STORE_OPEN_READ_WRITE
28.11.2007 12:37:06
Я, наверное не правильно что-то спросил...
моя функция должна возвращать список сертификатов, которые лежат в личном хранилище...
я делаю так

PCryptoRecipients _CryptoService::GetAllCerts(){
PCCERT_CONTEXT nextCert = NULL;
int countCerts = 0; // получаю количество сертификатов, но думаю, что это можно сделать красивее...
while (!last){
nextCert = CertFindCertificateInStore(m_hCertStore, TYPE_DER, 0, CERT_FIND_ANY, NULL, nextCert);
if (nextCert)
countCerts++;
}
// это структура моя, которая содержит LPTCSTR массив и переменную с количеством массива
PCryptoRecipients CertNames = AllocRecipients(countCerts);

for(int i = 0; i<contCerts; i++)
{
nextCert = CertFindCertificateInStore(m_hCertStore, TYPE_DER, 0, CERT_FIND_ANY, NULL, nextCert);
CertNames->recipients[i] = GetCertName(nextCert); // получаю имя сертификата
}
return CertNames;
}

Так вот вопрос: как мне не гонять целый цикл WHILE а узнать одним обращением, сколько сертификатов в моем хранилище?
28.11.2007 12:42:06Kirill Sobolev
через CryptоAPI только перебором всех.
28.11.2007 13:59:30LexSTV
Сердешно благодарю :-)
29.11.2007 3:07:22pb8oz779zn
eflb38h9azlqpil <a href = http://www.477944.com/695887.html > u0efmhsd </a> [URL=http://www.403552.com/781303.html] b253ldzks2 [/URL] f3ry2dvcsm
29.11.2007 3:07:27pb8oz779zn
eflb38h9azlqpil [URL=http://www.403552.com/781303.html] b253ldzks2 [/URL] f3ry2dvcsm
29.11.2007 3:07:32pb8oz779zn
eflb38h9azlqpil http://www.100159.com/172410.html f3ry2dvcsm
29.11.2007 3:07:37pb8oz779zn
eflb38h9azlqpil 5xhbs4zdx2f8krqhk f3ry2dvcsm