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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Ivan Migalev  
#1 Оставлено : 28 января 2021 г. 16:32:44(UTC)
Ivan Migalev

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

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

Добрый день. Я являюсь разработчиком из компании JetBrains.

К нам иногда обращаются пользователи наших продуктов, у которых возникают проблемы с ними при совместном использовании с КриптоПро .NET:

КриптоПро .NET инъектирует свои библиотеки достаточно рано в процессе жизненного цикла процессов, и этим ломает функциональность наших продуктов (в dotMemory не работает профилирование, в Rider ломается отладка модульных тестов).

На данный момент мы советуем пользователям отключать инъекцию CProDspr.dll через реестр, но очевидно, что это может негативно сказаться на основной функциональности КриптоПро. В итоге получается, что пользователь вынужден выбирать между работой с некоторыми нашими инструментами и работающим КриптоПро, что не подходит пользователям, которые разрабатывают или исследуют быстродействие своих программ, требующих КриптоПро.

В связи с этим — пара вопросов:
  1. Возможно ли рассмотреть добавление в КриптоПро каких-то исключений для наших процессов (что бы решило проблему с Rider), или вообще пользовательского фильтра (чтобы пользователи могли отфильтровать и свои процессы тоже — во всяком случае, те, в которых не нужна функциональность КриптоПро)?
  2. Возможно ли решить проблему так, чтобы не ломать наши инструменты? Техническая информация приведена в нашем багтрекере: на текущий момент мы подозреваем, что вся проблема состоит в том, что КриптоПро .NET выделяет память для управляемых объектов в потоке с preemptive GC, и этим ломает некоторые API, используемые для профилирования и отладки.
Offline Максим Коллегин  
#2 Оставлено : 28 января 2021 г. 17:33:48(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 17 раз
Поблагодарили: 606 раз в 541 постах
Иван, добрый день, спасибо за ваше сообщение.
1. Исключать процессы можно через ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\CProExclude, Название подключа любое. FileName - название исполняемого файла процесса.
2. Мы постараемся решить проблему, но нам очень бы помогла простая пошаговая инструкция или тестовый проект, который поможет локализовать несовместимость.
Знания в базе знаний, поддержка в техподдержке
Offline two_oceans  
#3 Оставлено : 2 февраля 2021 г. 6:25:05(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,342
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 90 раз
Поблагодарили: 313 раз в 295 постах
Добрый день.
Кажется, был еще какой-то обход для профилировщиков.
Offline Максим Коллегин  
#4 Оставлено : 2 февраля 2021 г. 9:42:51(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 17 раз
Поблагодарили: 606 раз в 541 постах
Речь про эту https://github.com/lucasg/Dependencies?
Или про ключи профилировки у depends?
Если второе, то оно скорее всего делает то же, что и наши перехватчики - подменяет точку входа библиотеки. Вместе существовать они не смогут, думаю.

Отредактировано пользователем 2 февраля 2021 г. 9:45:22(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline Ivan Migalev  
#5 Оставлено : 5 февраля 2021 г. 10:53:19(UTC)
Ivan Migalev

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

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

Максим, добрый день. Спасибо за ваш ответ!

На данный момент мы снова подняли исследование по этому вопросу, и в Rider пока что проблему не воспроизвели. Есть предположение, что новая версия Rider или КриптоПро стали работать по-другому, и поэтому теперь всё в порядке.

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