Сообщение не соответствует формату XML Encryption.
Обратитесь к разработчику программного обеспечения, на котором осуществлялось шифрование данных.
Сообщите следующую информацию: Отсутствует элемент EncryptedData class ru.ibs.cryptopro.jcp.crypt.CryptoException
Причины:
Неправильные настройки АРМ ЛПУ в части подписания;
Неправильные настройки криптопровайдера;
Истечение срока действия сертификата, закрытого ключа или лицензии КриптоПро CSP.
Что делать:
1. Выполните настройку АРМ ЛПУ
В меню Администрирование – Настройка подписей для сервисов установите флаг «Шифровать сообщение». После этого Вам необходимо указать Имя сертификата ФСС и Тип контейнера.
Данный сертификат можно скачать на сайте https://lk.fss.ru/cert.html (если Вы настраиваете сервисы для тестирования, то Вам необходимо скачать ТЕСТОВЫЙ сертификат ФСС).
После скачивания установите его на компьютер.
Обратите внимание, Сертификаты МО (должен иметь закрытый ключ) и ФСС должны быть установлены в хранилище «Личное», соответственно тип контейнера выбран «Личные». Вся цепочка вышестоящих сертификатов в папку «Доверенные корневые центры сертификации». Все сертификаты должны быть актуальными и не отозванными.
2. Проверьте настройки криптопровайдера
При использовании криптопровайдера Vipnet CSP рабочей версией является 4.4 и выше.
При использовании криптопровайдера КриптоПро CSP рабочей версией является 4.0 и выше.
Через «Панель управления» в КриптоПро CSP зайдите на вкладку «Сервис», нажмите кнопку «Удалить запомненные пароли…». В окне «Удаление запомненных паролей» выбрать «Удалить все запомненные пароли закрытых ключей: Пользователя».
Проверьте настройки на вкладке "Алгоритмы". В выпадающем списке "Выберите тип CSP" выберите GOST R 34.10-2012. Должны быть установлены следующие параметры:
"Параметры алгоритма шифрования" - ГОСТ 28147-89, параметры алгоритма шифрования TK26 Z
"Параметры алгоритма подписи" - ГОСТ 34.10-2001, параметры по умолчанию
"Параметры алгоритма Диффи-Хеллмана" - ГОСТ 34.10-2001, параметры обмена по умолчанию
Ниже приведен образец настроек в КриптоПро CSP 5.0
Если вы не можете изменить параметры на вкладке "Алгоритмы" (даже запустив КриптоПро CSP от лица администратора), необходимо сделать следующее:
В реестре Windows открыть ключ HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Cryptography\CurrentVersion\Parameters и изменть значение EnableOIDModify на 1. После чего необходимо перезагрузиться.
3. Проверьте сертификаты и лицензии
С помощью системной утилиты certmgr.msc (кнопка Пуск - Выполнить (Найти программы и файлы)) откройте ваш сертификат. Срок действия сертификата не должен быть просрочен.
Запустите КриптоПро CSP. На вкладке "Общие" проверьте срок действия лицензии криптопровайдера.
Откройте вкладку "Сервис" и нажмите кнопку "Протестировать". Выберите контейнер закрытого ключа вашего сертификата. В открывшемся окне тестирования не должно быть ошибок, сообщений об истечении срока действия ключа итп.
Для перехода в статус 'Продлен' необходимо добавить период нетрудоспособности;
Для перехода в статус 'Закрыт' необходимо заполнить поля: 'Приступить к работе с: дата' или 'Иное: код';
Для перехода в статус 'Направление на МСЭ' необходимо заполнить поле 'Дата направления в бюро МСЭ'
Причина:
1. В системе существует ЭЛН с таким же номером и такими же данными, которые Вы присылаете (дублирование данных);
2. Присылаемые данные в ЭЛН не соответствуют этапу оформления (заполнения) ЭЛН:
Что делать:
1. Запросите актуальное состояние ЭЛН из системы, тем самым Вы исключите повторную отправку тех же данных;
2. Выполните необходимую дальнейшую операцию с ЭЛН:
Причина:
Вы пытаетесь изменить ЭЛН, который ранее уже был кем-то изменен.
Что делать:
1. Запросите актуальное состояние ЭЛН из системы, тем самым Вы исключите повторную отправку тех же данных;
2. Выполните необходимую дальнейшую операцию с ЭЛН в соответствии с порядком 624н:
Причина:
Вы пытаетесь получить данные ЭЛН, который находится в статусе, ограничивающем Ваш доступ. Например, страхователь пытается получить данные ЭЛН, который еще не закрыт медицинской организацией. Согласно процессной модели, страхователь может получить данные ЭЛН для редактированиня только на статусе 030 - Закрыт. Другой пример - бюро МСЭ не может получить данные ЭЛН, который не направлен в бюро МСЭ (статус 040 - Направление на МСЭ)
Что делать:
1. Удостоверьтесь, что номер ЭЛН, данные которого вы хотите получить, введен верно.
2. Дождитесь перехода ЭЛН на статус, который позволит Вам получить данные ЭЛН.
Возможно сообщение было зашифровано на ключе, отличном от ключа уполномоченного лица ФСС.
Проверьте правильность и актуальность ключа уполномоченного лица ФСС.
Причины:
В настройках подписания и шифрования в используемом пользователем ПО, в поле «Сертификат уполномоченного лица ФСС» указан неверный сертификат;
Используется криптопровайдер Vipnet CSP определенной сборки;
Что делать:
Укажите верный сертификат уполномоченного лица ФСС:
При использовании криптопровайдера Vipnet CSP - рабочей версией является 4.4 и выше.
Ошибка шифрования сообщения для получателя. Client received SOAP Fault from server: Fault occurred while processing. Please see the log to find more detail regarding exact cause of the failure.null
Причина:
Вы указали неверный сертификат для шифрования сообщения в поле «Имя сертификата МО»: указанный сертификат может быть использован только для подписания, но не шифрования.
Что делать:
Закажите и установите сертификат, который поддерживает не только операцию подписания, но и операцию шифрования.
Возникла ошибка при попытке загрузки данных из базы данных. Сообщите администратору следующую информацию:
Unable to build entity manager factory.
Причина:
Что делать:
1. Запустите установку с правами администратора;
2. Выполните установку программы по шагам инструкции (путь, где лежит инструкция: http://lk.fss.ru/eln.html).
Если установка приложения выполнена в соответствии с инструкцией, но ошибка повторяется, необходимо проверить:
Возникла ошибка при попытке загрузки данных из базы данных.
Сообщите следующую информацию: org.hibernate.exception.SQLGrammarException: could not extract ResultSet.
Причина:
Приложение АРМ ЛПУ не может получить данные из базы данных PostgreSQL. Эта ошибка возникает чаще всего после установки обновления, когда приложение обновлено, а база данных PostgreSQL по какой либо причине не обновлена.
Что делать:
При попытке зайти в настройки подписи в ПО АРМ ЛПУ выходит ошибка "Internal error. Reason: java.lang.ExceptionInInitializerError" или
"Internal Error. Reason: java.lang.NoClassDefFoundError: Could not initialize class ru.ibs.fss.common.security.signature.COMCryptoAPIClient"
Причина:
Приложение было установлено некорректно (не зарегистрирована библиотека GostCryptography.dll).
Что делать:
1. Необходимо убедиться, что разрядность ОС совпадает с разрядностью установщика приложения.
2. Проверить, установлены ли в системе компоненты Microsoft.Net Framework версии 4 и выше (по умолчанию данные компоненты устанавливаются в C:\Windows\Microsoft.NET\Framework\ или C:\Windows\Microsoft.NET\Framework64\). Данные компоненты можно скачать с сайта microsoft.com.
3. Проверить, что в папке, куда установлено приложение, имеется файл GostCryptography.dll (по умолчанию данный файл устанавливается в C:\FssTools). Если данного файла нет, попробуйте переустановить приложение.
4. Если все верно, в командной строке выполнить:
cd C:\FssTools -- переходим в папку, в которой находится файл GostCryptography.dll
C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /registered GostCryptography.dll -- с указанием вашего адреса установки компонентов Microsoft.NET. Обратите внимание, что на ОС Windows 10 адрес установки компонентов Microsoft.NET может отличаться от приведенного в примере (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe /registered GostCryptography.dll).
5. Перезапустить приложение.
Ошибка: "Ошибка вызова сервиса передачи/получения данных. Invalid element in ru.ibs.fss.eln.ws.FileOperationsLn_wsdl.ROW - SERV1_DT1"
Причина:
Поле "SERV1_DT1" было исключено в новой спецификации 1.1 (14 версия и выше АРМ ЛПУ), изменена строка соединения.
Что делать:
Поменять строку соединения в настройках.
В меню Администрирование – Настройки сервисов ФСС – Строка соединения, укажите следующий адрес сервиса:
С шифрованием https://docs-test.fss.ru/WSLnCryptoV11/FileOperationsLnPort?WSDL
Без шифрования https://docs-test.fss.ru/WSLnV11/FileOperationsLnPort?WSDL (Обратите внимание, при отправке на сервис без шифрования в настройках электронной подписи должен быть снят флаг "Шифровать сообщение")
Причина:
Данная ошибка возникает в случае, когда в какой либо таблице БД приложения сохранены некорректные записи (например, пустое или некорректное значение номера ЭЛН, пустые обязательные поля, строки с одинаковым значением номера ЭЛН, в т.ч. записи-дубли). Если в БД АРМ ЛПУ имеются такие записи, то возможны следующие ошибки:
Что делать:
Для исправления нужно удалить из БД приложения неверную строку (такие записи можно удалить только вручную).
Необходимо подключиться к серверу базы данных PostgreSQL, найти и удалить из базы ошибочную строку. При установке АРМ ЛПУ, вместе с БД и компонентами PostgreSQL устанавливается клиент для подключения к БД. По умолчанию находится здесь: C:\postgresql\bin\pgAdmin3.exe
В интерфейсе клиента открывается сервер PostgreSQL 9.5. Затем открывается схема fss (пользователь fss, пароль fss) – Схемы – public – Таблицы.
Данные в АРМ ЛПУ хранятся в таблицах:
Выделяете и удаляете (delete) строку, которая содержит пустое значение номера ЭЛН или другие ошибки.
Как вариант, для поиска и удаления ошибочных записей возможно использование SQL запроса типа:
select id from fc_eln_data_history where ln_code is null;
delete from fc_eln_data_history where id = ваш id;
Для открытия окна SQL запросов необходимо в главном меню нажать на значок «SQL».
Обратите внимание! При удалении строки ЭЛН, если в этом ЭЛН были созданы периоды нетрудоспособности, сначала необходимо удалить их. Периоды нетрудоспособности хранятся в отдельной таблице fc_eln_periods и связаны с fc_eln_data_history по номеру ЭЛН. Просмотр и удаление периодов аналогично, описанному выше.
Установка нового сертификата ФСС описана в инструкции, которую можно скачать по ссылке
https://cabinets.fss.ru/Установка нового сертификата ФСС.docx
Причина:
ГОСТ сертификата ФСС не соответствует выбранному в настройках криптопровайдеру, либо криптопровайдер не может получить закрытый ключ из контейнера закрытого ключа для выбранного сертификата.
Что делать:
"Параметры алгоритма шифрования" - ГОСТ 28147-89, параметры алгоритма шифрования TK26 Z
"Параметры алгоритма подписи" - ГОСТ 34.10-2001, параметры по умолчанию
"Параметры алгоритма Диффи-Хеллмана" - ГОСТ 34.10-2001, параметры обмена по умолчанию
Ошибка: Ошибка дешифрования сообщения. Ошибка при попытке расшифровать сообщение. Стек: java.lang.NullPointerException org.apache.cxf.binding.soap.SoapFault: Ошибка при попытке расшифровать сообщение. Стек: java.lang.NullPointerException
Причина:
Расшифровывается запрос пользователя на сертификате ФСС, необходимо проверить настройки шифрования в настройках электронной подписи, определить причины возникновения в "Настройках электронной подписи":
В составе сертификата раздел «Использование ключа» нет атрибута «Шифрование данных»
не проставлена галка "Шифровать сообщение" (для строки соединения с ФСС, где прописано "...-crypto-v20...")
выбран тестовый сертификат ФСС для Прода (и наоборот), либо ошибка в самом сертификате
Неправильные настройки криптопровайдера
Истечение срока действия сертификата, закрытого ключа или лицензии КриптоПро CSP
Что делать:
см. п.1, п.5
Ошибка вызова сервиса передачи/получения данных. Ошибка шифрования сообщения. Ошибка при попытке зашифровать сообщение. Стек: java.lang.NullPointerException...
Причина:
Зашифровывается сообщение пользователя на сертификате МО, указанное в настройках.
Что делать:
см. п.1