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)
Сообщений: 4
Российская Федерация
Откуда: Москва

Поблагодарили: 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 Лента
Пользователи, просматривающие эту тему
Guest (3)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.