| ||||
| ||||
На Делфи создаю оле-объекты для подписи 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); В чем может быть ошибка, если сертификаты видны и свойства по каждому показываются, но считать данные не может | ||||
Ответы: | ||||
| ||||
1. GetInfo(0) здесь явно лишний. В Signer кладется сертификат целиком, а не имя субъекта. 2. Не в курсе как присваивать в дельфи свойства по умолчанию. Мб лучше сделать Sig.Certificate = Certificates.Item(1)? 3. Certificates.Count точно больше 0? | ||||
| ||||
Certificates.Count больше 0, это проверялось а вот на строчку Signer.Certificate = Certificates.Item(1) выдается таже ошибка | ||||
| ||||
А на Signer.Certificate = Certificates.Item[1]? | ||||
| ||||
Все равно ругается. А когда вообще выдается эта ошибка ? может там еще нужно что сформировать. Ну вобще-то изначально такую обработку реализовывала на JavaScript, там все работает. Когда мне стало необходимо реализовать в Делфи, я просто средствами Делфи создала оле-объект и дальше стала вызывать методы соответсвующих объектов. Но почему-то на этой строчке пошла ошибка | ||||