Добрый день!. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен , который используется для подписи документов для ВТБ24 ДБО . Локально на Windows 10 все работает, а вот на серверной платформе Windows Server 2016 и 2012 R2, Криптопро не видит ключ JaCarta . Давайте разбираться в чем проблема и как ее поправить.
Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2 . На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip , подключен ключ JaCarta. Ключ в системе видится , а вот в КриптоПРО нет.
КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.
Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.
Создали новую виртуальную машину и стали ставить софт все последовательно.
Перед установкой любого программного обеспечения работающего с USB носителями на которых находятся сертификаты и закрытые ключи. Нужно ОБЯЗАТЕЛЬНО отключить токен, если воткнут локально, то отключаем его, если по сети, разрываем сессию
Единый Клиент JaCarta - это специальная утилита от компании "Аладдин", для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.
Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows , у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.
Принимаем лицензионное соглашение и нажимаем "Далее"
Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.
Если выберете "Выборочную установку", то обязательно установите галки:
Через пару секунд, Единый клиент Jacarta, успешно установлен.
Обязательно произведите перезагрузку сервера или компьютера, чтобы система увидела свежие драйвера.
После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.
https://www.cryptopro.ru/downloads
На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку "Установить корневые сертификаты" и нажимаем "Установить (Рекомендуется)"
Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.
После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через . В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.
Открыв утилиту "Единый клиент Jacarta PKI", подключенного токена обнаружено не было, значит, что-то с драйверами.
Microsoft Usbccid (WUDF) - это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.
Откройте диспетчер устройств Windows, найдите пункт "Считыватели устройств смарт-карт (Smart card readers)" щелкните по Microsoft Usbccid (WUDF) и выберите пункт "Свойства". Перейдите на вкладку "Драйвера" и нажмите удалить (Uninstall)
Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).
Вас уведомят, что для вступления изменений в силу, необходима перезагрузка системы, обязательно соглашаемся.
После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.
Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.
Если открыть единый клиент Jacarta, то вы увидите свою электронную подпись, это означает, что смарт карта нормально определилась.
Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.
ОБЯЗАТЕЛЬНО снимите галку "Не использовать устаревшие cipher suite-ы" и перезагрузитесь .
После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.
Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,
Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления , в котором так же есть виртуальная консоль.
Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты "Единый клиент Jacarta PKI" вот такое сообщение с ошибкой:
Как исправить ошибку "Не возможно подключиться к службе управления смарт-картами".
Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.
1 этап. Прохождение тестирования(взаимодействие с тестовым контуром ГИС ГМП)
#Адрес сервиса ГИС ГМП тестовый:
gisgmp.wsdlLocation=http://213.59.255.182:7777/gateway/services/SID0003663?wsdl
gisgmp.wsdlLocation.endPoint=http://213.59.255.182:7777/gateway/services/SID0003663
Этот адрес прописывается в настройках СП.Дополнительно требуется прописать в файле настроек логгирования, указав значение
После выгрузки требуется проверить статус действием "Запрос статуса обработки". После чего ЭД Сведение о платеже переходит на статус "Принят ГИС ГМП" -…
Дано:
Таблица MSG (сообщения) с большим количеством записей.
CREATETABLEmsg(idINTEGERNOTNULLPRIMARYKEY,descriptionCHAR(50)NOTNULL,
date_createDATE);
Задача:
Необходимо очистить таблицу от данных/
Решение:
Для решения данной задачи есть несколько способов. Ниже описание и пример каждого из них.
Самый простой способ (первый вариант
) - выполнение оператора удаления записи. При его выполнении вы будете видеть результат (сколько записей удалено). Удобная штука когда необходимо точно знать и понимать правильные ли данные удалены. НО имеет недостатки перед другими вариантами решения поставленной задачи.
DELETE FROMmsg;--Удалит все строки в таблице--Удалит все строки у которых дата создания "2019.02.01" DELETE FROMmsg WHEREdate_create="2019.02.01";
Второй вариант . Использование оператора
День первый
На Windows 7 x64 были совместно установлены Virtual Box (версии 4 и 5) с расширением Extension Pack и CryptoPro CSP (КриптоПро CSP 3.6 R4 для Windows).
При запуске виртуальной машины через Virtual Box система падала в синий экран. Причина в невозможности совместной работы КриптоПро CSP и Virtual Box.
Чтобы не было синего экрана при запуске виртуальной машины VirtualBox удалил КриптоПро CSP и перезагрузил компьютер. Решение временное, не сумел разобраться как подружить два продукта, а VirtualBox был нужнее, чем КриптоПро.
Помогло выйти на связь VirtualBox + КриптоПро == BSOD сообщение на форуме:
На форуме Крипто Про также есть обсуждение:
Отчёты из программы blueScreenView :
Bug Check String | SYSTEM_SERVICE_EXCEPTION |
Bug Check Code | 0x0000003b |
Parameter 1 | 00000000`c0000005 |
Parameter 2 | fffff800`032735af |
Parameter 3 | fffff880`0412eb90 |
Parameter 4 | 00000000`00000000 |
Caused By Driver | ntoskrnl.exe |
Caused By Address | ntoskrnl.exe+73c40 |
File Description | NT Kernel & System |
File Version | |
Major Version | 15 |
Minor Version | 7601 |
================
День второй
Подключил к первому монитору второй монитор, используя USB 3.0 VGA Adapter. Модель устройства - Fresco Logic FL200 USB Display Adapter. Если подключить адаптер до включения виртуальной машины, то порядок. А если подключать адаптер во время работы виртуальной машины Virtual Box, то будет снова синий экран.
Bug Check String | IRQL_NOT_LESS_OR_EQUAL |
Bug Check Code | 0x0000000a |
Parameter 1 | 00000000`00000088 |
Parameter 2 | 00000000`00000002 |
Parameter 3 | 00000000`00000001 |
Parameter 4 | fffff800`032579e6 |
Caused By Driver | ntoskrnl.exe |
Caused By Address | ntoskrnl.exe+73c00 |
File Description | NT Kernel & System |
File Version | 6.1.7601.19110 (win7sp1_gdr.151230-0600) |
Major Version | 15 |
Minor Version | 7601 |
Возможно, просто совпадение, два BSOD-а подряд. И причина BSOD в реализации драйверов для Fresco Logic FL200 USB Display Adapter.
Но есть предположение, что причина ошибок в реализации поддержки USB 2.0 / USB 3.0 в VirtualBox. А особые возможности поддержки USB появляются при установке Oracle VM VirtualBox Extension Pack.
Удалить VirtualBox не хотелось бы, иногда бывает нужен. А удалить Extension Pack могу запросто. Надеюсь, что после удаления VirtualBox Extension Pack синих экранов больше не будет. И можно будет повторно установить КриптоПро CSP 3.6 R4 для Windows и пользоваться двумя мониторами.
На днях перевел терминальный сервер(windows 2003 server x64 standard) на виртуальную машину. На терминалке бухгалтера работали со СБИС. Сертификаты для сбиса храняться на флэшке, она на виртуалку не пробрасывается. Бухи нервничают, надо что то делать:
Тут я решил позвонить в техподдержку СБИС(при слове виртуальная машина консультант впал с ступор и начал давать странные советы….). На третьем консультанте я получил ответ,что только через реестр(что мне не хотелось делать). Ну да ладно,начал делать через реестр….
И тут меня осенило,есть же возможность подключать дискету.Эврика))))
Создал дискету через HYPER-V MANAGER скинул туда сертификаты. Открыл crypro про и убедился,что сертификаты видны! Вроде на этом должно было закончится,но нет…
При подписи или «отправке получении» получаем ошибку не найден закрытый ключ шифрования…Для решения этой проблемы Идем в ПАНЕЛЬ УПРАВЛЕНИЯ
— КриптоПРО CSP
— СЕРВИС
— УДАЛИТЬ ЗАПОМНЕННЫЕ ПАРОЛИ
— УДАЛИТЬ ИНФОРМАЦИЮ ОБ ИСПОЛЬЗОВАННЫХ СЪЕМНЫХ НОСИТЕЛЯХ
(ставим галку). И наступает счастье,но не у всех…Данную процедуру надо повторить под всеми пользователями,которые пользуются crypto pro(будь то сайты гос закупок или сбис…).
P.S: вариант с реестром вполне рабочий,но не охота его было делать!
держу на ESXi 5.5 Windows 2012 R2
стоит крипто про 3.9
почему то после закрытия сбиса иногда процесс остается висеть в памяти, не сталкивались с такой проблемой?
при этом можно запустить еще раз сбис и он откроется нормально, никакие файлы не будут заблокированы предыдущей версией.
не могу понять в чем дело, отъедает память сильно если несколько копий останутся запущенные весеть..