Архив рубрики: Windows

Континент АП — контроль целостности не пройден

Ошибка в работе Континент АП одна из самый неприятных, так как с помощью этой программы организация осуществляет финансовые операции. Расскажу как я решил эту постоянно появляющуюся проблему после каждого обновления системы Windows.

Введение

Обслуживая государственные конторы всегда получаю больше всего сюрпризов. Только в этих конторах видишь программные продукты которые больше нигде не встретишь.

Решил рассказать о работе с такой замечательной программой как Континент АП. Программа предназначена для создания канала VPN по сертификату.

Работала эта программа без нареканий, но после того проходило обновление Windows программа стала выдавать ошибку.

Ошибка говорит о том что в файлах программы найдены изменения и она не может работать дальше. Выглядит сообщение следующим образом:

Когда ошибка стала появляться часто и пользователи стали сильно нервничать задавая вопрос: «Почему раньше работал а теперь постоянные сбои?» решил вникнуть и разобраться в сути проблемы.

Системные требования Континент АП

На одном из компьютеров установлена Windows 10 Домашняя и в одной из контор, прочитав рекомендации на сайте, сказали что проблема в версии Windows.

В свое время я сильно озадачился версиями Windows и пришел к выводу что отличия версий только в доменом управлении, некоторыми функциями и элементами внешнего вида. В организации где не планируется и не будет использован Windows Server покупать профессиональные версии нет смысла. За название «Домашняя» отдельное спасибо маркетологам Windows, так как народ действительно думает что использовать такую версию можно только дома 🙂

На странице разработчика есть системные требования которые вы можете посмотреть. Лично у меня такие требования вызывают улыбку.

Отключение антивируса

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

Временное решение проблемы

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

Исправление программы Континент АП

Исправление программы это первое что всегда приходило в голову и  помогало решить проблему. Достаточно было запустить файл установки, указать исправление и выполнив требуемые действия программа опять работала до следующего обновления Windows.

Такой вариант решения проблемы мне не подходит, хотя в большинстве случаев народ просто отключал обновления и радовался работе без ошибок дальше. К сожалению в Windows 10 отключить обновления нельзя (по крайней мере все способы что я пробовал не позволяют полностью отключить механизм обновления).

Отключение обновлений излюбленная тема тех кто не хочет разбираться в проблемах возникающих после обновлений. Чаще всего проблема с обновлениями у тех кто не любит ждать и не дождавшись окончания процедуры жестко выключает компьютер.

Никогда не отключаю обновления и никому не советую, так как без обновлений Windows шансов поймать вирус гораздо больше.

Решение проблемы

Решение оказалось немного не обычным и не логичным. Главное что это работает и как мне показалось единственное верное на данный момент решение.

Суть контроля целостности Континент АП

При установке программа в специальном файле запоминает все параметры своих файлов и файлов что использует в системе Windows. При запуске происходит сравнение параметров с этого файла и реальными файлами в системе. В случае отличия выдает грозное предупреждение «Тест контроля целостности не пройден».

Примерно так будет выглядеть контроль целостности:

Вроде все правильно и выглядит как забота о нашей безопасности от разработчиков программы. Программу выдают в отделении ФСБ а значит есть предположение что курируют её именно они.

По факту получается что программа контролирует системные файлы Windows которые система обновляет когда ей необходимо для своего улучшения. Для меня это кажется крайне не логично. Оставим на совести разработчиков такой механизм. Возможно они уже принимают меры а может нет. В любом случае они прекрасно знают что такая проблема есть. Тематические форумы завалены криками о помощи.

Моя задача сделать так чтобы программа работала и не вызывала проблем.

Выключение функции проверки

Для того что бы не видеть больше ошибки «Тест контроля целостности не пройден» и не отключать обновление Windows в версии Континент АП 3.7 необходимо изменить файл integrity.xml. Именно в этом файле занесена информация о файлах при установке.

Необходимо сделать следующее:

  1. Перейдите на диск С в папку Program Files -> Security Code -> Terminal Station;
  2. Скопировать файл integrity.xml на рабочий стол;
  3. Открыть данный файл в текстовым редакторе «Блокнот»;
  4. Привести файл к такому виду:
    <?xml version="1.0″ encoding="UTF-8″ standalone="yes"?>
    <integrity><catalog name="common"></catalog></integrity>
    

    или убрать все разделы кроме первого —> catalog name="common";

  5. Вернуть файл назад с подтверждением замены.

После выполненных действий запускайте программу и радуйтесь возможности совершать финансовые действия в организации.

Заключение

Всегда надо думать и анализировать ситуацию в каждом конкретном случае. Бездумное использование  советов что попадаются в интернете частенько не дает результата. Было желание написать разработчикам, но решил не лезть к ним со своими пожеланиями и замечаниями.

Возможно это вообще хохма реального разработчика. Такие конторы иногда являются только заказчиками программного обеспечения и не имеют отношения к разработке. Разработчики не сильно вдаваясь в задание делают так как сказано. Возможно даже видя глупость заказа выполняют его а потом тихонько хихикают.

Интересно увидеть ваши комментарии по этому поводу.

Ключевые контейнеры в реестре

Операционная система Windows умерла и нет возможности восстановить. В системе находились ключевые контейнеры записанные в реестр и на других носителях их не существует. Перенесем ключевые контейнеры со старого реестра в новую систему.

Введение

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

Ключевые контейнеры в реестре как с ними работать?

Для работы со старым реестрам нужны права на открытие необходимых данных иначе вылезет предупреждение:

Для работы со старым реестром выполним следующие действия:

  • Скачиваем программу PsTools и распаковываем в любую папку;
  • Копируем необходимый файл PsExec.exe в папку C:\Windows\System32;
  • Запускаем командную строку cmd от имени администратора;
  • Вставляем команду psexec -i -d -s c:\windows\regedit.exe и нажимаем Enter.

Вот так это должно выглядеть в cmd:

Теперь вы можем спокойно работать с реестром и не получать предупреждения о невозможности просмотра данных.

Необходимые данные в старом реестре

Файлы реестра находятся по пути Windows/system32/config файл который нас интересует называется SOFTWARE. В нашем случае он был исправен в противном случае восстановить нужные данные не получиться.

Подключаем старый реестр в новый

Для подключения необходимо выполнить следующие действия:

  • Выбрать необходимую ветку реестра HKEY_LOCAL_MACHINE;
  • Перейти в меню Файл → Загрузить куст;
  • Выбрать необходимый файл SOFTWARE;
  • Назначить имя загруженному кусту (в моем случае old).

После успешного подключение вы увидите куст с введенным ранее названием.

Серийный номер КриптоПро в реестре

Определить какая стояла версия и серийный номер можно посмотрев записи на скрине ниже (внизу указан путь где смотреть):

Где хранятся контейнеры ключей в реестре

Все контейнеры вы можете найти по пути (для 64): HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crypto Pro\Settings
\USERS\(идентификатор пользователя)\Keys\(Название контейнера)

Сохранение ключевых контейнеров

Теперь нам необходимо экспортировать раздел с ключами для выполнения необходимых изменений и загрузки в рабочий реестр. После экспортирования я получил файл с названием reestr.reg.

Добавление контейнеров в новый реестр

Перед тем как добавить в новый реестр контейнеры нам надо сменить uid пользователя и отредактировать путь убрав название загруженного куста.

Смотрим UID необходимого пользователя

В командной строке cmd вносим команду WHOAMI /USER и видим нужный sid пользователя:

Чтобы скопировать текст из командной строки Windows, необходимо нажать правой кнопкой мыши на заголовок окна консоли и в меню «Свойства» на вкладке «Общие» включить опцию «Выделение мышью». Вставляется текст по нажатию правой кнопки мыши!

Меняем данные в файле

Открываем файл в блокноте и делаем замену:

Не забудьте убрать название куда добавляли куст! Вам надо загрузить в рабочую часть реестра!

Экспортирует контейнеры в новый реестр

Выгружаем старый реестр

Не ищите возможности удаления старого куста который мы добавляли! Ненужный больше куст можно только выгрузить!

Проверка добавления ключевых контейнеров

Открываем программу Crypto Pro и смотрим что у нас есть в реестре:

Всё прошло успешно и все ключевые контейнеры присутствуют.

Перенос личных сертификатов пользователя

Добавление сертификата через Крипто ПРО

Берём открытый сертификат что нам нужен и устанавливаем его через Crypto Pro указав автоматический поиск контейнера. В случае если ставили контейнеры не вводя пароль просто жмите Ентер ( если вводили то ищите куда записали).

Все действия с ключами выполняйте через программу Crypto Pro!

Перенос всех сертификатов

Все сертификаты в системе Windows находятся по пути C:\Users\НУЖНЫЙ ПОЛЬЗОВАТЕЛЬ\AppData\Roaming\Microsoft\SystemCertificates\My. Достаточно скопировать эту папку в аналогичное место на новом компьютере и ключи будут перенесены.

Вывод

Вывод только один — храните резервные копии ключей. В моем случае мне  удалось восстановить закрытые контейнеры ключей и личные сертификаты. Стараюсь всегда или переносить ключи в реестра и хранить оригиналы, если это возможно. Не ленитесь делать резервные копии.