01.04.2005 16:36:20Не опознается выбранный сертификат Ответов: 4
Irina
На Делфи создаю оле-объекты для подписи

MyStore := CreateOleObject(’CAPICOM.Store’);
SigData := CreateOleObject(’CAPICOM.SignedData’);
Signer := CreateOleObject(’CAPICOM.Signer’);
MyStore.Open(2, ’My’, 0);
Certificates := MyStore.Certificates;
Certificates := Certificates.Select(’Список сертификатов’, ’Выберите сертификат:’);

//-- так вот табличка с сертификатами показывается, то есть он какбы видит сертификаты на машине. Однако, когда выбираешь и нажимаешь "OK" следующая строчка выдает ошибку, говорит слова неприличные "Член группы не найден".
Sig := Certificates.Item(1).GetInfo(0);

В чем может быть ошибка, если сертификаты видны и свойства по каждому показываются, но считать данные не может
 
Ответы:
01.04.2005 17:05:05Kirill Sobolev
1. GetInfo(0) здесь явно лишний. В Signer кладется сертификат целиком, а не имя субъекта.
2. Не в курсе как присваивать в дельфи свойства по умолчанию. Мб лучше сделать Sig.Certificate = Certificates.Item(1)?
3. Certificates.Count точно больше 0?
01.04.2005 17:54:27Irina
Certificates.Count больше 0, это проверялось
а вот на строчку
Signer.Certificate = Certificates.Item(1) выдается таже ошибка
01.04.2005 18:08:33Kirill Sobolev
А на Signer.Certificate = Certificates.Item[1]?
01.04.2005 18:23:36Irina
Все равно ругается. А когда вообще выдается эта ошибка ? может там еще нужно что сформировать.
Ну вобще-то изначально такую обработку реализовывала на JavaScript, там все работает. Когда мне стало необходимо реализовать в Делфи, я просто средствами Делфи создала оле-объект и дальше стала вызывать методы соответсвующих объектов. Но почему-то на этой строчке пошла ошибка