logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline bazooka  
#1 Оставлено : 30 мая 2018 г. 10:59:24(UTC)
bazooka

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 121
Мужчина

Сказал «Спасибо»: 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 г. 11:00:59(UTC)  | Причина: Не указана

Offline bazooka  
#2 Оставлено : 6 июня 2018 г. 7:45:43(UTC)
bazooka

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 121
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Коллеги, нет мыслей куда все таки копать?
Количество проблемных рабочих мест растет. А работать с IE нужно, не везде возможно использовать chrome
Offline Ситдиков Денис  
#3 Оставлено : 7 июня 2018 г. 14:54:58(UTC)
Ситдиков Денис

Статус: Участник

Группы: Участники
Зарегистрирован: 01.03.2017(UTC)
Сообщений: 14
Российская Федерация
Откуда: Москва

Поблагодарили: 2 раз в 2 постах
Добрый день!
Проверьте, есть ли на неработающем ПК ветки
HKCR\Classes\CLSID\{B04C8637-10BD-484E-B0DA-B8A039F60024}\InprocServer32
HKCR\WOW6432Node\Classes\CLSID\{B04C8637-10BD-484E-B0DA-B8A039F60024}\InprocServer32
Если есть, попробуйте их удалить.
thanks 1 пользователь поблагодарил Ситдиков Денис за этот пост.
bazooka оставлено 14.06.2018(UTC)
Offline bazooka  
#4 Оставлено : 14 июня 2018 г. 13:47:47(UTC)
bazooka

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.09.2014(UTC)
Сообщений: 121
Мужчина

Сказал «Спасибо»: 5 раз
Поблагодарили: 2 раз в 2 постах
Огромное спасибо! Помогло)
Правда ключ нашелся немного не там.
Искал по GUID в реестре, нашлось вот это
http://take.ms/qRJGM - на скрине я его уже переименовал в LocalServer321.
После переименования и запуска подписи по новой - все заработало.
Были еще совпадения по GUID, но они были совсем в непохожих ветках.

Подскажите, что это за ключ и, самое главное, откуда он может браться?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.