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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline timkin_vn  
#1 Оставлено : 14 декабря 2010 г. 12:57:58(UTC)
timkin_vn

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

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 25
Откуда: Новосибирск

Здравствуйте!

Из приложения Silverlight напрямую подключаться к сборкам .NET CLR нельзя. Однако в Silverlight 4 + OOB + Elevated trust имеется возможность обращения к сборкам, зарегистрированным в GAC, через механизм COM+ Automation. Однако у меня возникла проблема при попытке обращения таким пктем к классам Sharpei, хотя сборки в GAC зарегистрированы, и кроме того, для классов стоит атрибут ComVisible (убедился в этом при помощи .NET Reflector).

Пишу примерно следующий код:

Код:
using System.Runtime.InteropServices.Automation;
...
dynamic cryptoProvider = AutomationFactory.CreateObject("CryptoPro.Sharpei.Gost3410CryptoServiceProvider");


При попытке исполнения сообщает об ошибке: Не найден объект, зарегистрированный для указанного программного идентификатора.
При создании X509Certificate такой ошибки нет.

Существует ли какая-нибудь возможность использовать средства Crypto Pro через этот механизм?

Спасибо.
Offline Челпанов А.  
#2 Оставлено : 14 декабря 2010 г. 14:22:49(UTC)
Челпанов А.

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

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Не пробовали.
До выхода КриптоПро Sharpei под Framework 4.0 работать скорее всего не будет.
С уважением, Александр.
Offline timkin_vn  
#3 Оставлено : 14 декабря 2010 г. 15:16:55(UTC)
timkin_vn

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

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 25
Откуда: Новосибирск

А при чем тут Framework 4.0? Библиотека в COM запускается в своем адресном пространстве и под управлением той версии CLR, под которую была собрана.
Я обратил внимание, что сборки зарегистрированы в GAC, однако классы из них отсутствуют в списке классов, зарегистрированных в COM, хотя для них и стоит атрибут ComVisible (наличие атрибута проверено с помощью .NET Reflector, отсутствие в COM - с помощью OLE-COM Object Viewer из комплекта Microsoft Visual Studio 2010). Это так и должно быть? Или, может, это следствие каких-то проблем при установке?
Offline D!m@n  
#4 Оставлено : 25 марта 2011 г. 21:11:09(UTC)
D!m@n

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

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

timkin_vn написал:
А при чем тут Framework 4.0? Библиотека в COM запускается в своем адресном пространстве и под управлением той версии CLR, под которую была собрана.
Я обратил внимание, что сборки зарегистрированы в GAC, однако классы из них отсутствуют в списке классов, зарегистрированных в COM, хотя для них и стоит атрибут ComVisible (наличие атрибута проверено с помощью .NET Reflector, отсутствие в COM - с помощью OLE-COM Object Viewer из комплекта Microsoft Visual Studio 2010). Это так и должно быть? Или, может, это следствие каких-то проблем при установке?

Может,
regasm имя_файла_сборки
поможет?
Offline timkin_vn  
#5 Оставлено : 30 марта 2011 г. 16:47:47(UTC)
timkin_vn

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

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 25
Откуда: Новосибирск

D!m@n написал:
Может,
regasm имя_файла_сборки
поможет?

Дык, как-то оно неправильно - делать regasm для сборки, полученной от разработчика, и установленной штатным спосбом. Впрочем, проблема уже давно (см. даты моих постов) была решена другим путем.
Offline D!m@n  
#6 Оставлено : 1 апреля 2011 г. 19:04:40(UTC)
D!m@n

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

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

timkin_vn написал:
D!m@n написал:
Может,
regasm имя_файла_сборки
поможет?

Дык, как-то оно неправильно - делать regasm для сборки, полученной от разработчика, и установленной штатным спосбом. Впрочем, проблема уже давно (см. даты моих постов) была решена другим путем.

Если не секрет, то как?..
Offline timkin_vn  
#7 Оставлено : 2 апреля 2011 г. 0:09:33(UTC)
timkin_vn

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

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 25
Откуда: Новосибирск

Вполне в русле темы, вынесенной в заголовок. Разработана dll, которая при установке регистрируется в COM+, а Silverlight к ней обращается. Библиотека выполняет все, для чего требуется обращение к КриптоПро и передает результаты в приложение Silverlight.
Offline Челпанов А.  
#8 Оставлено : 4 апреля 2011 г. 18:26:13(UTC)
Челпанов А.

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

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Большую часть классов регистрируем в COM в последних сборках. Этого не достаточно?
С уважением, Александр.
Offline timkin_vn  
#9 Оставлено : 4 апреля 2011 г. 20:08:10(UTC)
timkin_vn

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

Группы: Участники
Зарегистрирован: 14.12.2010(UTC)
Сообщений: 25
Откуда: Новосибирск

Челпанов А. написал:
Большую часть классов регистрируем в COM в последних сборках. Этого не достаточно?

В декабре такого не было. А сейчас уже и переделывать нет потребности (по крайней мере, пока :)).
Offline Челпанов А.  
#10 Оставлено : 5 апреля 2011 г. 12:07:02(UTC)
Челпанов А.

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

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
В декабре действительно не было.
Цитата:
А сейчас уже и переделывать нет потребности (по крайней мере, пока :)).

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