InfoPath2003+CAPICOM*Crypto-Pro=Error
От: dogev  
Дата: 06.10.06 16:34
Оценка:
Доброго времени суток!
Такая получается ситуевина...
Присутствует простейшая форма в InfoPath 2003 (Одно поле + кнопка "Отправить") и необходимо перед отправкой этой формы на сервер подписать ее. Для этого используется CSP Крипто-Про + CAPICOM.
Вот код события отправки:

Исх.:
function XDocument::OnSubmitRequest(eventObj)
{
...

var CAPICOM_CURRENT_USER_STORE = 1;
var CAPICOM_STORE_OPEN_READ_ONLY = 0;
var CAPICOM_ENCODE_BASE64 = 0;

...

var formXML = XDocument.DOM.xml;

var MyStore = new ActiveXObject("CAPICOM.Store");
var SigData = new ActiveXObject("CAPICOM.SignedData");
var Signer = new ActiveXObject("CAPICOM.Signer");

MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);
var Certificates = MyStore.Certificates.Select("Спискок сертификатов",
"Выберите сертификат для подписи документа:");
Signer.Certificate = Certificates.Item(1);
SigData.Content = formXML;
formXML = SigData.Sign(Signer, false, CAPICOM_ENCODE_BASE64);

...

eventObj.ReturnStatus = true;
}

И на строке MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY); оно выдает:

No such interface supported

Файл:script.js
Строка:76


No such interface supported

Мож кто сталкивался и знает как сию ситуацию можно обойти. Подскажите, плиз.

P.S. Исследовав немного данную область, так и не понял, как мне убедиться что используется именно CSP Крипто-Про. Или это в сетрификате для подписки указывается?

P.P.S. Кто уже работал с Крипто-Про + CAPICOM, подскажите как с помощью этих вещей можно реализовать шифрование на ассиметричном алгоритме? Может кусочком кода подогрейте... Изучал мат.часть всего этого, а как дело дошло до практики, ничего знакомого не увидел...
Буду очень признателен!!!
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.