Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

4 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline Randoom  
#1 Оставлено : 26 октября 2009 г. 14:55:49(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ "АйТи"

При попытке использования библиотеки CAdESCOM из комплекта ЭЦП возникает следующая ошибка:
Assembly generation failed -- Сборка "Interop.CAdESCOM", на которую дана ссылка, не имеет строгого имени
Offline Павел Смирнов  
#2 Оставлено : 26 октября 2009 г. 16:03:04(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Randoom  
#3 Оставлено : 26 октября 2009 г. 16:26:35(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ "АйТи"

Смирнов написал:


Поправьте меня если я ошибаюсь, но подписание библиотеки - это именно Ваша задача, ибо это будет являться, т. сказать ЭЦП для этой библиотеки, т.е. характеристикой что именно Вы ее скомпилили и в ней именно Ваш код.

Отредактировано пользователем 26 октября 2009 г. 16:27:13(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#4 Оставлено : 26 октября 2009 г. 16:33:38(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Да, но только мы не поставляем в составе КриптоПро ЭЦП SDK .NET-библиотеки для CAdESCOM. Откуда тогда взялась сборка Interop.CAdESCOM?
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Randoom  
#5 Оставлено : 26 октября 2009 г. 16:46:29(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ "АйТи"

Смирнов написал:
Да, но только мы не поставляем в составе КриптоПро ЭЦП SDK .NET-библиотеки для CAdESCOM. Откуда тогда взялась сборка Interop.CAdESCOM?

После инсталляции ЭЦП SDK
в папке C:\Program Files (x86)\Common Files\Crypto Pro\Shared среди прочих появляется cadescom.dll
подписанная Crypto-Pro ‎8 ‎июня ‎2009 ‎г. 1:54:44
это не .Net сборка, но единственный способ ее использовать - это подцеплять через reference, а дальше собственно возникает проблема отсутствия строгого имени

Отредактировано пользователем 26 октября 2009 г. 16:53:57(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#6 Оставлено : 26 октября 2009 г. 17:10:17(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Не обязательно делать ссылку на ассемблю по strong name. Можно и без этого обойтись. См. http://msdn.microsoft.com/en-us/library/z6tx9dw3.aspx.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Randoom  
#7 Оставлено : 27 октября 2009 г. 11:10:36(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ "АйТи"

Смирнов написал:
Не обязательно делать ссылку на ассемблю по strong name. Можно и без этого обойтись. См. http://msdn.microsoft.com/en-us/library/z6tx9dw3.aspx.


Насколько я понял, все варианты предполагают какое либо изменение библиотеки перед использованием, т.е. в случае обновления придется проводить все эти операции снова и снова.
С учетом того что все большее количество людей начинает включать Ваши разработки в свои .Net проекты - мне кажется - было бы целесообразно просто выпускать сборку со строгим именем.
Offline Павел Смирнов  
#8 Оставлено : 27 октября 2009 г. 11:18:15(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Для обеспечения совместимости с существующими приложениями COM-интерфейс мы будем менять только путём добавления новых интерфейсов с новыми методами. Таким образом, обновление interop-ассембли потребуется только при необходимости использования новых методов. Кроме того, есть ощущение, что просто поставив ссылку на зарегистрированную в реестре библиотеку типов CAdESCOM можно добиться автоматической перегенерации interop-ассембли с изменением CAdESCOM. По крайней мере, подобное поведение несколько раз наблюдалось.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Randoom  
#9 Оставлено : 28 октября 2009 г. 10:55:18(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ "АйТи"

Смирнов написал:
Для обеспечения совместимости с существующими приложениями COM-интерфейс мы будем менять только путём добавления новых интерфейсов с новыми методами. Таким образом, обновление interop-ассембли потребуется только при необходимости использования новых методов. Кроме того, есть ощущение, что просто поставив ссылку на зарегистрированную в реестре библиотеку типов CAdESCOM можно добиться автоматической перегенерации interop-ассембли с изменением CAdESCOM. По крайней мере, подобное поведение несколько раз наблюдалось.


Убедили студию игнорировать отсутствие строго имени, подцепили, появились следующие проблемы:

Итак через reference цепляется cadescom.dll,
получаем Interop.CAdESCOM в референсах,
пробуем делать следующее :
CAdESCOM.CPSigner cpSigner = new CPSigner();

выскакивает эксепшн :

System.Runtime.InteropServices.COMException occurred
Message="Сбой при получении производства объектов класса COM для компонента с CLSID {94EBF679-1DED-48B9-9FD2-00A3949E0905} в результате следующей ошибки: 80040154."
Source="IT.Avior.Engine.Components.Objects.Library"
ErrorCode=-2147221164

Есть предположения по исправлению проблемы ?

p.s. аналогичная ситуация при подключении reference не из dll, а из списка COM установленных в системе.

Отредактировано пользователем 28 октября 2009 г. 11:13:27(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#10 Оставлено : 28 октября 2009 г. 11:02:10(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Ошибка 0x80040154 - класс не зарегистрирован. Вы случайно не 64-битный .NET-процесс пускаете?
Техническую поддержку оказываем тут.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
4 Страницы123>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.