Самый простой способ - использовать capicom, бить по win capi api напрямую - больно.
после того, как вы зарегистрировали com-объект и создали из него свой модуль typelib ..
откройте соответствующий магазин и оттуда используйте метод Certificates ().
var
store: TStore;
certificates: ICertificates;
certificate: ICertificate2
store := TStore.Create(nil);
store.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED or CAPICOM_STORE_OPEN_INCLUDE_ARCHIVED or CAPICOM_STORE_OPEN_EXISTING_ONLY);
certificates := store.Certificates;
for i := 1 to certificates.count do
begin
certificate := IInterface(certificates.Item[i]) as ICertificate2;
// work with the cert
end;
store.close();
store.Free;
ссылка на Capicom - http://msdn.microsoft.com/en-us/library/ms995332.aspx
если вы в порядке с тратой денег, я слышал хорошие отзывы о PKIBlackbox от eldos.