Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123 Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
Добрый день! Опишу ситуацию. Мы получаем сертификат следующим образом: Код:
var oStore = cadesplugin.CreateObject("CAPICOM.Store");
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var oCerts = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, sertId);
oStore.Close();
var selectedCertificate = oCerts.Item(1);
Затем создаем подпись Код:
var signer = cadesplugin.CreateObject("CAdESCOM.CPSigner");
signer.Options = CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;
signer.Certificate = selectedCertificate;
Все как обычно. Этот код работает уже несколько лет. Сейчас на некоторых машинах с IE стала возникать следующая ситуация при подписи через плагин - в последней строчке Код:
signer.Certificate = selectedCertificate;
Валится ошибка "Интерфейс не поддерживается (80004002)" Причем в другом браузере на "проблемном компе" через асинхронный код (Chrome) все работает. Сравнил на работающем c IE компе - есть различие в том какой объект выдает oCerts.Item(1) На неработающем это ICertificate2. На работающем это ICPCertificate. Плагин ставили и новый и старый, но результат один и тот же. Ошибка стала появляться буквально в мае, но уже на 3м компьютере. Подскажите, как это можно побороть? Отредактировано пользователем 30 мая 2018 г. 14:00:59(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123 Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
Коллеги, нет мыслей куда все таки копать? Количество проблемных рабочих мест растет. А работать с IE нужно, не везде возможно использовать chrome
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 95 Откуда: Москва Сказал(а) «Спасибо»: 4 раз Поблагодарили: 29 раз в 20 постах
|
Добрый день! Проверьте, есть ли на неработающем ПК ветки HKCR\Classes\CLSID\{B04C8637-10BD-484E-B0DA-B8A039F60024}\InprocServer32 HKCR\WOW6432Node\Classes\CLSID\{B04C8637-10BD-484E-B0DA-B8A039F60024}\InprocServer32 Если есть, попробуйте их удалить.
|
2 пользователей поблагодарили Ситдиков Денис за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 17.09.2014(UTC) Сообщений: 123 Сказал «Спасибо»: 5 раз Поблагодарили: 2 раз в 2 постах
|
Огромное спасибо! Помогло) Правда ключ нашелся немного не там. Искал по GUID в реестре, нашлось вот это http://take.ms/qRJGM - на скрине я его уже переименовал в LocalServer321. После переименования и запуска подписи по новой - все заработало. Были еще совпадения по GUID, но они были совсем в непохожих ветках. Подскажите, что это за ключ и, самое главное, откуда он может браться?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close