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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline drmckay  
#1 Оставлено : 5 февраля 2019 г. 11:55:37(UTC)
drmckay

Статус: Новичок

Группы: Участники
Зарегистрирован: 20.11.2018(UTC)
Сообщений: 6
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 3 раз
Добрый день! Разрабатываю сервис для СМЭВ 2 (региональный уровень), который использует серверный КриптоПро CSP 4.0.9944 и серверный КриптоПро .NET 1.0.6893.0 для проверки и формирования подписи сообщений. Никакой логики в сервисе нет, просто проверка подписи, передача другим системам и возврат ответа с подписью. При развёртывании веб-приложения в IIS появляется следующая ошибка (при обращении к wsdl, при вызове методов сервиса):

Код:
Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401) 
 Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода. 
Сведения об исключении: System.IO.FileLoadException: Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401)
Ошибка источника: 
Необработанное исключение при выполнении текущего веб-запроса. Информацию о происхождении и месте возникновения исключения можно получить, используя следующую трассировку стека исключений.  
Трассировка стека: 
[FileLoadException: Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401)]
   System.Web.Hosting.HostingEnvironment.InitializeObjectCacheHostPrivate() +0
   System.Web.Hosting.HostingEnvironment.InitializeObjectCacheHost() +36
   System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException) +177
[HttpException (0x80004005): Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401)]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +664
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +90
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +189
Информация о версии: Платформа Microsoft .NET Framework, версия:4.0.30319; ASP.NET, версия:4.7.2053.0


Версия .NET, установленная в настройках приложения - 4.6.1, но ошибка воспроизводилась и при версиях 4.5.1, 4.7.1. ОС: Windows Server 2012 R2. Версия .NET на хосте: 4.7.02053.
На директории библиотек КриптоПро (C:\Program Files (x86)\Crypto Pro, C:\Program Files (x86)\Common Files\Crypto Pro) дал права на чтение/выполнение для 'IIS AppPool\DefaultPool' и другим пользователям, группам IIS. Для 'IIS AppPool\DefaultPool' дал права на доступ к закрытому ключу сертификата.
При установке в web.config настройки <trust level="Full" legacyCasModel="true"/> выходит та же самая ошибка.

Более подробное описание ошибок из журнала приложений windows:
Код:
1. Неисправимая ошибка при установке группы обходов в функции CryptoPro.Sharpei.NetDetours.MasterBase.GetDetouredTypes. Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401)
2. Ошибка междоменного взаимодействия.  Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401).
3. Сбой инициализации AppDomain:/LM/W3SVC/1/ROOT/smev_service
Exception: System.SystemException
Message: Сбой при создании AppDomain.
StackTrace:    в System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   в System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
InnerException: System.IO.FileLoadException
Message: Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401)
StackTrace:    в System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   в System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.TracedInvoke(MethodInfo mi, Object obj, Object[] parameters)
   в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.MakeOneAssembly(DetourDescription item, AssemblyName assemblyName)
   в CryptoPro.Sharpei.NetDetours.DomainNeutralDet.DetourAssembly(DetDescriptionList allGroups, Assembly toDet)
   в CryptoPro.Sharpei.NetDetours.CrossDomainList.DetourAssembly(Assembly toDet)
   в CryptoPro.Sharpei.NetDetours.CrossDomainList.InitOnNewDomainPolicyDefaultCreateDomain()
   в System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
   в System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
   в CryptoPro.Sharpei.NetDetours.CrossDomainList.CreateDomain(AppDomain newDomain)
   в CryptoPro.Sharpei.NetDetours.CPAppDomain.CreateDomain(String friendlyName, Evidence securityInfo, AppDomainSetup info)
   в System.AppDomain.CreateDomain(String friendlyName, Evidence securityInfo, AppDomainSetup info, PermissionSet grantSet, StrongName[] fullTrustAssemblies)
   в System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
4. Произошла ошибка при попытке запустить экземпляр встроенного приложения.
Exception: System.IO.FileLoadException
Message: Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров. (Исключение из HRESULT: 0x80131401)
StackTrace:    в System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException)
   в System.Web.HttpRuntime.InitializeHostingFeatures(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException)
   в System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
   в System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel)
   в System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel)
   в System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   в System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   в System.Web.Hosting.ApplicationManager.GetAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   в System.Web.Hosting.ApplicationManager.CreateObjectInternal(String appId, Type type, IApplicationHost appHost, Boolean failIfExists, HostingEnvironmentParameters hostingParameters)
   в System.Web.Hosting.ProcessHost.StartApplication(String appId, String appPath, Object& runtimeInterface)
5. Получено сообщение о неполадках приложения. Запрошен перезапуск рабочего процесса. Причина:ASP.NET application initialization failed.. Данные содержат сведения об ошибке.


Ранее была другая ошибка: после установки компонента 'HTTP активации' для веб-сервисов, DefaultAppPool перестал работать во встроенном режиме, только в классическом. Эта ошибка пропала после установки .NET версии 4.7. Её описание:
Код:
Имя сбойного приложения: w3wp.exe, версия: 8.5.9600.16384, метка времени: 0x52157ba0
Имя сбойного модуля: clr.dll, версия: 4.5.27.0, метка времени: 0x545ca678
Код исключения: 0xc0000005
Смещение ошибки: 0x0006ac8b
Идентификатор сбойного процесса: 0x9f8
Время запуска сбойного приложения: 0x01d4bc78aa14ac38
Путь сбойного приложения: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Путь сбойного модуля: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Идентификатор отчета: e969f3e8-286b-11e9-80e9-005056972aa1
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:

Отредактировано пользователем 5 февраля 2019 г. 11:57:21(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#2 Оставлено : 5 февраля 2019 г. 12:13:12(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,393
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 717 раз в 621 постах
Спасибо за сообщение.
Сможете выложить пример проблемного сервиса, чтобы мы могли сразу воспроизвести проблему?
Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
drmckay оставлено 08.02.2019(UTC)
Offline Артём Макаров  
#3 Оставлено : 5 февраля 2019 г. 15:27:56(UTC)
Артём Макаров

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 63 раз в 59 постах
Добрый день.

Ваш сервис посмотрели, воспроизвести не удалось, стабильно получаем метаданные от сервиса. Судя по всему дело в играх IIS с правами, а не в самом проекте.

После чего начала появляться данная ошибка? Стабильно ли воспроизводится? Воспроизводится ли на других машинах?

Попробуйте запустить apppool от имени local system, попробуйте указать корректную сборку в SMEVTextMessageEncoder (у вас указана CryptoPro.Sharpei.ServiceModel, Version=1.4.0.1, хотя для проектов с версией .net 4.5+ необходимо использовать CryptoPro.Sharpei.ServiceModel45. Полное имя типа оставить прежним).
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Артём Макаров за этот пост.
drmckay оставлено 08.02.2019(UTC)
Offline drmckay  
#4 Оставлено : 8 февраля 2019 г. 7:25:01(UTC)
drmckay

Статус: Новичок

Группы: Участники
Зарегистрирован: 20.11.2018(UTC)
Сообщений: 6
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 3 раз
Добрый день.
Смена сборки и изменение пользователя для запуска AppPool не помогли. Также пробовал найти ошибку через ProcessMonitor - не заметил ничего.

Первоначально после установки КриптоПро на сервере и установки компонента Windows 'HTTP-активации' была ошибка связанная с clr.dll (её описание в первом посте), она решилась установкой .NET Framework версии 4.7. Потом сразу появилась данная ошибка ('Загрузка данной сборки приведет к назначению другого набора прав от других экземпляров').

На рабочем хосте с Windows 10 и КриптоПро .NET клиент ошибка не повторяется.

Написал soap сервис типа HelloWorld, не использующий библиотек КриптоПро, и развернул на том же IIS-е. Выходит та же самая ошибка. После удаления КриптоПро .NET сервер этот сервис начинает работать, после повторной установки - ошибка возвращается.

Отредактировано пользователем 8 февраля 2019 г. 9:15:25(UTC)  | Причина: Не указана

Offline drmckay  
#5 Оставлено : 8 февраля 2019 г. 9:41:42(UTC)
drmckay

Статус: Новичок

Группы: Участники
Зарегистрирован: 20.11.2018(UTC)
Сообщений: 6
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 3 раз
Похоже, что указанная ошибка ушла после установки флага "UseTaskFriendlySynchronizationContext" в false в Web.Config.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.