Ошибка при вызове pkcs7расшифровать менеджера криптографии 1с

Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.

Номер карточки: SD0011817

При возникновении ошибки «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.

Алгоритм проверки электронной подписи:

В программном продукте 1С необходимо

1. перейти в раздел «Администрирование»

2. «Обмен электронными документами»

3. «Настройка электронной подписи и шифрования»

4. На вкладке «Сертификаты» открыть используемый сертификат

5. Нажать на кнопку «Проверить»

6. Ввести пароль закрытой части ключа (при его наличии) и нажать «Проверить»

! Обращаем Ваше внимание, что программа сама увеличит количество * в поле «Пароль:» до 16 при проверке. Данное поведение является штатным и выступает дополнительной защитой конфиденциальных данных в виде количества символов в пароле. Проверка будет осуществлена на основании введенных Вами данных .

Если в ходе проверки напротив пункта «Подписание данных» возникнет сигнализирующий об ошибке красный символ, на него необходимо нажать для открытия технической информации об ошибке.

Если в технической информации об ошибке указано » «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.» это обозначает, что проверка сертификата осуществляется без ввода пароля, хотя на контейнере закрытой части ключа установлен пароль.
Рекомендации:

Уточнить у ответственных лиц организации пароль на электронную подпись.

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

! Также сообщаем, что ни техническая поддержка 1С-ЭДО, ни Удостоверяющий центр, который выдал сертификат, не располагают информацией о паролях пользователей. Данная информация является строго конфиденциальной и не подлежит разглашению. Если рекомендации Вам не помогли и пароль утрачен безвозвратно, то единственным выходом из данной ситуации будет выпуск нового сертификата.

АйТиБложик

Маленький IT блог с характером 1С.

Страницы

Поиск по блогу

пятница, 24 апреля 2015 г.

Шифрование строковых данных. Менеджер криптографии.

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

Методы шифрования:

  • Симметричное шифрование — использует один и тот же ключ и для зашифрования, и для расшифрования;
  • Асимметричное шифрование — использует два разных ключа: один для зашифрования (который также называется открытым), другой для расшифрования (называется закрытым).

Объект МенеджерКриптографии платформы 1С позволяет шифровать данные, используя симметричное шифрование, так как криптопровайдеры ОС Windows используют данный вид шифрования (RC2, RC4).

Создание временного сертификата

Так же желательно создавать сертификат с параметром -sp, который позволит задать имя криптопровайдера для сертификата, например, «Microsoft Strong Cryptographic Provider», так как для инициализации объекта МенеджерКриптографии требуется в конструкторе указывать имя криптопровайдера (имя модуля провайдера).

Пример создания временного сертификата для тестирования шифрования в 1С:
makecert.exe -r -pe -n CN=»www.example.com» -ss my -sr currentuser
-sky exchange -sp «Microsoft Strong Cryptographic Provider»

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

Реализация шифрования

Функция шифрования строковых данных:
// Функция выполняет шифрование строковых данных.
//
// Параметры
// СтроковыеДанные — Строка — данные для шифрования;
// Отпечаток — Строка — отпечаток сертификата закодированный в Base64;
// ИмяКП — Строка — имя модкля криптографии;
// ТипКП — Строка — Тип модуля криптографии.
//
// Возвращаемое значение:
// Строка — зашифрованный данные формата PKCS#7 закодированные в Base64.
//
&НаКлиенте
Функция ЗашифроватьСтроку(СтроковыеДанные, Отпечаток, ИмяКП, ТипКП)

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, «CESU-8»);
ЗаписьТекста.Записать(СтроковыеДанные);
ЗаписьТекста.Закрыть();

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, «», ТипКП);
ХранилищеСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии.ДанныеПользователяОС);
Сертификат = ХранилищеСертификатов.НайтиПоОтпечатку(Base64Значение(Отпечаток));

ЗашифрованныеДанные = МенеджерКриптографии.Зашифровать(ИмяВременногоФайла, Сертификат);

В данной функции строковые данные записываются в файл в кодировке CESU-8, т.е. UTF-8 без BOM. Инициализируется менеджер криптографии и по отпечатку происходит поиск сертификата в хранилище сертификатов текущего пользователя в ветке Личное.

Далее происходит шифрование строковых данных, используя найденный сертификат, тем самым, расшифрование сможет произвести тот пользователь, который имеет доступ к закрытому ключу этого сертификата. Результатом шифрования являются двоичные данные, которые кодируются в строку Base64. Двоичные данные имеют формат PKCS#7.

Функция расшифрования строковых данных:
// Функция выполняет расшифровку строковых данных.
//
// Параметры
// ЗашифрованныеДанные — Строка — зашифрованный данные формата PKCS#7 закодированные в Base64;
// Отпечаток — Строка — отпечаток сертификата закодированный в Base64;
// ПарольЗакрытогоКлюча — Строка — пароль к контейнеру закрытого ключа;
// ИмяКП — Строка — имя модкля криптографии;
// ТипКП — Строка — Тип модуля криптографии.
//
// Возвращаемое значение:
// Строка — расшифрованные строковые данные.
//
&НаКлиенте
Функция РасшифроватьСтроку(ЗашифрованныеДанные, Отпечаток, ПарольЗакрытогоКлюча, ИмяКП, ТипКП)

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, «», ТипКП);
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = ПарольЗакрытогоКлюча;

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
РасшифрованныеДанные.Записать(ИмяВременногоФайла);
ЧтениеТекста = Новый ЧтениеТекста(ИмяВременногоФайла, «CESU-8»);
СтрокаДанных = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();

В данной функции инициализируется менеджер криптографии и указывается пароль к контейнеру закрытого ключа. Далее происходит расшифровка зашифрованных данных. Результатом расшифрования являются двоичные данные, которые записываются в файл с кодировкой CESU-8 и считываются из него.

Скачать обработку шифрования/расшифрования строковых данных можно по этой ссылке.

Пример работы обработки:

На рисунке 4 поле «Пароль» пустое, так как при создании временного сертификата мы не указывали пароль на контейнер закрытого ключа.

МенеджерКриптографии: ошибка при подписи «ошибка интерфейса модуля криптографии: отсутствует набор ключей»

при попытке использования метода Подписать() менеджера криптографии выскакивает ошибка «ошибка интерфейса модуля криптографии: отсутствует набор ключей»

из других программ с помощью этой же ЭЦП подписывает нормально. ключик настроен через КриптоПро.
релиз 1С 8.2.15.319

в чём может быть проблема?

для (4) сторно, ЭЦП создаётся, всё-таки, обычная. подниму темку — из-за чего такое может быть?

пробовал и на 8.2.15, и на 8.2.16

Тест. Проверка операций формирования/проверки ЭЦП на сервере.
Код ошибки 114. Не удалось выполнить операции формирования/проверки ЭЦП на сервере.

Сертификат не имеет связи с закрытым ключом.
Тест. Проверка операций шифрования/расшифровки на сервере.
Код ошибки 113. Не удалось выполнить операции шифрования/расшифровки на сервере.

А с сервера (на клиенте) так:

Тест. Проверка операций шифрования/расшифровки на компьютере.
Пройден успешно.

Тест. Проверка операций формирования/проверки ЭЦП на компьютере.
Пройден успешно.

Что бы это могло значить? это сертификат для подписантов. Его что на сервер ставить низя.

Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Валидата → СКАД Сигнатура → Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений 9

1 Тема от badik 2017-10-17 16:19:16 (2017-10-17 16:20:09 отредактировано badik)

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Тема: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Разработчики нашей организации сделали попытку соединить Java c Сигнатурой
посредством своей DLL (интерфейс вроде бы spki1) .
в Java выполняется код который возвращает ЭП.

Полученные файлы не проходят проверку в АРМ КБР.
Ошибка:Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)
В АРМ КБР было выполнено преобразование файлов УФЭБС для АРМ РКС Сигнатуры.
Проверка закончилась успешно

при анализе подписи было выяснено что подпись на несколько байт длинее обычной (полученной spki1utl или PKI.VCERT)

Анализ ASN.1 показал что почему то заполнен SignedData/contentInfo/content
SignedData/contentInfo/contentType = 1.2.840.113549.1.7.1

Вопроса два:
1. Как он смог заполнится?
2. Почему АРМ РКС успешно проверил эту подпись?

2 Ответ от alart 2017-10-17 18:22:33

  • alart
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2011-07-28
  • Сообщений: 281

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

А с какими параметрами выполняется вызов VCERT_SignMem? Какие флаги указываются в структуре sign_param_t?

3 Ответ от badik 2017-10-17 20:11:22

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Со слов разработчиков, только отсоединеная и pkcs7
В протоколы АРМ РКС на правильную и эту подпись похожи.
Мне пришлось доказывать что ошибка в АРМ КБР возникла при подписании
Аналогичная ошибка была у пилотов в трех регионах.
Исходного кода промежуточной длл, где описаны прототипы у меня нет. Завтра спрошу у разработчиков.

4 Ответ от badik 2017-10-18 07:57:13 (2017-10-18 12:01:07 отредактировано badik)

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Пример ПП с ЭП без персональных данных
файл УФЭБС с ЗК закодирован в base64, ошибка подписи в АРМ КБР

data (ЗК UTF8) закодирована в base64

ЭП закодирована в base64

5 Ответ от ant 2017-10-24 12:57:09

  • ant
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2007-02-02
  • Сообщений: 322

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Добрый день, в Вашей подписи присутствуют данные

55| 6| 1| CONTEXT SPECIFIC (0) :
57| 4| 1| OCTET_STRING : ’60E5BA02′

А в случае отсоединенной подписи, данных быть не должно.

6 Ответ от badik 2017-10-26 16:25:13

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Хорошо. Свой механизм простановки подписи Разработчики исправили. АРМ КБР подписи проверяет.

Остался вопрос:
Механизмы проверки ЭП в АРМ КБР (-Н) и АРМ РКС должны быть одинаковыми.
Почему «АРМ Разбора Конфликтных Ситуаций Сигнатуры» считает эту не правильную подпись в отдельном файле корректной?

7 Ответ от ant 2017-10-27 12:46:56

  • ant
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2007-02-02
  • Сообщений: 322

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

АРМ РКС предназначен для криптографической проверки подписи и признак, выставленный в АРМ РКС (что подпись отсоединенная), имеет приоритет над признаком в файле.
Если Вам необходимо получить код возврата как в АРМ КБР используйте утилиту командной строки spki1utl.exe

8 Ответ от badik 2017-10-27 14:35:28 (2017-10-27 14:37:19 отредактировано badik)

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

В типовом договоре с ЦБ и в нашем тоже говорится об использовании в конфликтных ситуациях только АРМ РКС.

В АРМ РКС на проверку подаются ДВА файла «отдельной ЭП» и сами Данные. Первый файл ЭП содержит признак встроенной подписи. АРМ РКС игнорирует это не соответствие действительности, не отражает в протоколе
и продолжает проверку дальше.

9 Ответ от ant 2017-10-27 15:07:26

  • ant
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2007-02-02
  • Сообщений: 322

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

АРМ РКС игнорирует данные в подписи, так как ему явно указывается что данных там нет.
Согласен с Вами, в протокол добавим добавим запись о наличии данных в отсоединенной подписи.

При получении/отправке отчётных форм, сообщений или другой информации, данные поступают/передаются в зашифрованном виде. Для их расшифровки/шифрования системы криптографии, установленные на компьютере пользователя, обращаются к электронной подписи, используемой пользователем для ФГИС ЕИАС.

При возникновении проблем шифрования/расшифровки пользователю следует убедиться соответствии используемой версии модуля «ЕИАС Мониторинг» (АРМ Специалиста) типу используемой электронной подписи, а так же в корректности установки/настроки средств криптографии и сертификатов электронных подписей.

I. Алгоритм шифрования

Если модуль «ЕИАС Мониторинг» (АРМ Специалиста) выдает сообщение «Ошибка при подписании файла. Указан неправильный алгоритм», это говорит об использовании несовместимой версии модуля «ЕИАС Мониторинг» (АРМ Специалиста) с применяемой пользователем электронной подписью.

ФГИС ЕИАС в рамках модуля «ЕИАС Мониторинг» (АРМ Специалиста) обеспечивает поддержку электронных подписей, соответствующих ГОСТ Р 34.10-2001 (включительно до 31.12.2019, согласно письму ФСБ России №149/7/6-363 от 07.09.2018), а так же электронных подписей, соответствующих ГОСТ Р 34.10-2012 (на текущий момент и далее).

В системе ФГИС ЕИАС поддерживается работа электронных подписей, соответствующих ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001. Для работы с теми или иными ключами, следует использовать соответствующую версию модуля «ЕИАС Мониторинг» (АРМ Специалиста).

Дистрибутивы модуля «ЕИАС Мониторинг» (АРМ Специалиста) доступны для загрузки на сайте ФГИС ЕИАС http://eias.ru/

II. Работа систем криптографии и сертификатов электронных подписей

Если модуль «ЕИАС Мониторинг» (АРМ Специалиста) выдает сообщение «Не найден сертификат для расшифровки полученных данных», «Неправильный параметр набора ключей», «Произошла внутренняя ошибка в цепочке сертификатов», «Не удается построить цепочку сертификатов для доверенного корневого центра» и т.п., это говорит о том, что на локальном месте пользователя произведена некорректная установка ЭП, либо отсутствуют необходимые корневые сертификаты, либо имеется ограничение на уровне системы криптографии.



Для исправления ошибки необходимо проверить следующее:

1). На компьютере пользователя должен быть установлен только один криптопровайдер (CSP). Использование разных криптопровайдеров на одном рабочем месте приводит к конфликту механизмов шифрования.

Другие системные требования к рабочему месту указаны в знании #44.

2). Сертификат должен быть установлен для Пользователя, а не для локального компьютера.

При использовании КриптоПро CSP перейдите в оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты».

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

Разверните список «Сертификаты (локальный компьютер) -> Личное -> Реестр -> Сертификаты». Если в данном списке присутствует личный сертификат пользователя вашей организации — его необходимо удалить .

Личный сертификат должен храниться только в «Сертификаты — текущий пользователь -> Личное -> Реестр -> Сертификаты».

Также проверьте хранилища «Другие пользователи» для локального компьютера и текущего пользователя. Личного сертификата там также быть не должно, если он есть — удалить.

3). Убедитесь, что на локальном компьютере установлены корневые сертификаты издателя.

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

Наличие крестиков и восклицательных знаков говорит о том, что данные корневые сертификаты не установлены.

Для устранения этой ситуации необходимо отметить требуемый сертификат и нажать кнопку «Просмотр сертификата». В открывшемся окне на вкладке «Общие» нажать на кнопку «Установить сертификат» и поместить данный сертификат в хранилище «Доверенные корневые центры сертификации». В случае отсутствия кнопки установки, переключиться на вкладку «Состав» и экспортировать корневой сертификат себе на компьютер по кнопке «Копировать в файл», затем установить полученный сертификат в хранилище «Доверенные корневые центры сертификации».

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

Также необходимо убедиться, что установлены корневые сертификаты, необходимые для работы модулей и компонентов (в том числе отчетных форм) ФГИС ЕИАС. Запрос на установку корневых сертификатов выдается системой при работе, но если этого не происходит и дальнейшая работа невозможна, то следует установить их вручную, загрузив набор корневых сертификатов.

Установка набора корневых сертификатов производится в полуавтоматическом режиме — для этого следует перейти в указанную выше оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты» и перейти в хранилище «Доверенные корневые центры сертификации».

Развернуть вложенные разделы «Доверенные корневые центры сертификации -> Реестр -> Сертификаты» и кликнуть правой кнопкой мыши на последнем каталоге, выбрав из контекстного меню «Все задачи — Импорт. «

В открывшемся окне мастера установки по кнопке «Обзор» перейдите к папке, где был сохранен скачанный набор корневых сертификатов. В выпадающем списке доступных типов файлов для импорта укажите значение «Сертификаты PKCS #7 (*.spc; *.p7b)» и выберите загруженный файл trust_eias_certs.p7b

В фоновом режиме запустится установка сертификатов в хранилище доверенных корневых центров сертификации. При отсутствии на вашем ПК того или иного сертификата, система выдаст диалоговое окно с уведомление об установке, с которой необходимо согласиться по кнопке «Да».

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

Для корректной работы ФГИС ЕИАС так же требуется установка корневых сертификатов издателя электронной подписи, в частности УЦ СКБ Контур.

4). Переустановите электронную подпись на локальном компьютере через используемый криптопровайдер.

Инструкция по установке ЭП с примером приведена в знании #31.

5). Убедитесь, что номер лицензии на право инспользования крипровайдера введён корректно (знание #37).

6). В настройках модуля «ЕИАС Мониторинг» (АРМ Специалиста) убедитесь, что для каждого из подключаемых серверов указан действующий сертификат.

Обычно она появляется при попытке заверки документов на крупных торговых площадках или государственных системах к примеру, ЕГАИС, Госуслуги и т.

Мнение эксперта

1С:Эксперт по технологическим вопросам

Задавайте мне вопросы, и я помогу разобраться!

Инициализируется менеджер криптографии и по отпечатку происходит поиск сертификата в хранилище сертификатов текущего пользователя в ветке Личное. Код ошибки 100 проверьте общие настройки криптографии Обращайтесь в форму связи

Ошибка при вызове pkcs7расшифровать менеджера криптографии

При возникновении ошибки «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т. к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.

4. На вкладке «Сертификаты» открыть используемый сертификат

6. Ввести пароль закрытой части ключа (при его наличии) и нажать «Проверить»

Если в ходе проверки напротив пункта «Подписание данных» возникнет сигнализирующий об ошибке красный символ, на него необходимо нажать для открытия технической информации об ошибке.

Уточнить у ответственных лиц организации пароль на электронную подпись.

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

! Также сообщаем, что ни техническая поддержка 1С-ЭДО, ни Удостоверяющий центр, который выдал сертификат, не располагают информацией о паролях пользователей. Данная информация является строго конфиденциальной и не подлежит разглашению. Если рекомендации Вам не помогли и пароль утрачен безвозвратно, то единственным выходом из данной ситуации будет выпуск нового сертификата.

Устранение ошибки поставщика служб криптографии в Windows 10 / 8 / 7 — Учебные пособия по Windows

Создание временного сертификата

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

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, «CESU-8»);
ЗаписьТекста. Записать(СтроковыеДанные);
ЗаписьТекста. Закрыть();

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, «», ТипКП);
ХранилищеСертификатов = МенеджерКриптографии. ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии. ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии. ДанныеПользователяОС);
Сертификат = ХранилищеСертификатов. НайтиПоОтпечатку(Base64Значение(Отпечаток));

ЗашифрованныеДанные = МенеджерКриптографии. Зашифровать(ИмяВременногоФайла, Сертификат);

В данной функции строковые данные записываются в файл в кодировке CESU-8, т. е. UTF-8 без BOM. Инициализируется менеджер криптографии и по отпечатку происходит поиск сертификата в хранилище сертификатов текущего пользователя в ветке Личное.

Далее происходит шифрование строковых данных, используя найденный сертификат, тем самым, расшифрование сможет произвести тот пользователь, который имеет доступ к закрытому ключу этого сертификата. Результатом шифрования являются двоичные данные, которые кодируются в строку Base64. Двоичные данные имеют формат PKCS#7.

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, «», ТипКП);
МенеджерКриптографии. ПарольДоступаКЗакрытомуКлючу = ПарольЗакрытогоКлюча;

Какую часть дохода тратите на еду?

До 50%Больше 50%

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
РасшифрованныеДанные. Записать(ИмяВременногоФайла);
ЧтениеТекста = Новый ЧтениеТекста(ИмяВременногоФайла, «CESU-8»);
СтрокаДанных = ЧтениеТекста. Прочитать();
ЧтениеТекста. Закрыть();

В данной функции инициализируется менеджер криптографии и указывается пароль к контейнеру закрытого ключа. Далее происходит расшифровка зашифрованных данных. Результатом расшифрования являются двоичные данные, которые записываются в файл с кодировкой CESU-8 и считываются из него.

Скачать обработку шифрования/расшифрования строковых данных можно по этой ссылке.

На рисунке 4 поле «Пароль» пустое, так как при создании временного сертификата мы не указывали пароль на контейнер закрытого ключа.

Если действительно неисправен сам сертификат, то восстановить его или получить новый Вы сможете только в Удостоверяющем центре, где была приобретена ЭП.

Мнение эксперта

1С:Эксперт по технологическим вопросам

Задавайте мне вопросы, и я помогу разобраться!

На рисунке 4 поле Пароль пустое, так как при создании временного сертификата мы не указывали пароль на контейнер закрытого ключа. Ошибки при подписании файлов в веб-версии ЕИАС Мониторинг — АРМ Специалиста Обращайтесь в форму связи

Технические требования для работы с электронными подписями и алгоритм выбора электронных подписей в веб-версии программы «ЕИАС Мониторинг — АРМ Специалиста» описаны в знании #122.

При получении/отправке отчётных форм, сообщений или другой информации, данные поступают/передаются в зашифрованном виде. Для их расшифровки/шифрования системы криптографии, установленные на компьютере пользователя, обращаются к электронной подписи, используемой пользователем для ФГИС ЕИАС.

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

I. Отсутствие сертификата для выбора/ Ошибки вида «Ошибка при инициализации модуля для работы с Cades plugin» и «Нет доступных сертификатов»

Ошибки означают, что на ПК не установлена сама квалифицированная электронная подпись (установлена некорректно), либо плагин создания и проверки электронной подписи для браузера «КриптоПро ЭЦП Browser plug-in», либо расширение для данного плагина в используемом браузере.

— нужная электронная подпись корректно установлена на ПК

— на ПК установлен плагин создания и проверки электронной подписи для браузера «КриптоПро ЭЦП Browser plug-in»

— в используемом браузере установлено расширение «КриптоПро ЭЦП Browser plug-in».

Установка электронной подписи описана в знании art#31.

Установка плагина и расширения для браузера КриптоПро ЭЦП Browser plug-in в Windows описана в знании по ссылке.

Горящие товары с бесплатной доставкой

«AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

II. Ошибки работы систем криптографии и сертификатов электронных подписей

Для исправления ошибки необходимо проверить следующее:

1). На компьютере пользователя должен быть установлен только один криптопровайдер (CSP)! Использование разных криптопровайдеров на одном рабочем месте приводит к конфликту механизмов шифрования и ошибкам при подписании!

2). Сертификат должен быть установлен для Пользователя, а не для локального компьютера.

При использовании КриптоПро CSP перейдите в оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты».

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

Разверните список «Сертификаты (локальный компьютер) -> Личное -> Реестр -> Сертификаты». Если в данном списке присутствует личный сертификат пользователя вашей организации — его необходимо удалить.

Личный сертификат должен храниться только в «Сертификаты — текущий пользователь -> Личное -> Реестр -> Сертификаты».

Также проверьте хранилища «Другие пользователи» для локального компьютера и текущего пользователя. Личного сертификата там также быть не должно, если он есть — удалить.

Код ошибки 113 не удалось выполнить операции шифрования расшифровки на сервере

— Верно ли установлен сертификат для пользователя операционной системы, от имени которого которого запускается подписание документов (если для повышения прав вводится логин админа отличный от текущего, то могут быть проблемы).

Избавляемся от ошибки 0x80090016 Неправильный зарегистрированный набор ключей — ЭЦП Эксперт

Для работы с маркировкой Честный ЗНАК необходима УКЭП, обычная ЭЦП не подойдет, почему читайте в статье Какая подпись нужна для маркировки Честный ЗНАК.

Мнение эксперта

1С:Эксперт по технологическим вопросам

Задавайте мне вопросы, и я помогу разобраться!

При создании запроса на сертификат в КриптоПро CSP отсутствует биологический датчик случайных чисел и не удается сформировать контейнер закрытого ключа. Исправить ошибки поставщика службы криптографии (CSP) в Windows 10 Обращайтесь в форму связи

Fix-2 Удалите проблемный сертификат-

Вы можете удалить проблемный сертификат, с которым столкнулись. Вы должны открыть Свойства Интернета для this-

1. Нажмите Windows Key + R, чтобы открыть « Выполнить» , введите « inetcpl.cpl » и нажмите Enter, чтобы открыть окно « Свойства Интернета» .

2. Теперь вам нужно щелкнуть вкладку « Содержимое », а затем щелкнуть « Сертификаты ».

3. Теперь в окне « Сертификаты» проверьте, можете ли вы найти какой-либо сертификат на вкладке « Личные ».

4. Если не можете, щелкните вкладку « Другие люди ».

5. Теперь щелкните проблемный сертификат, а затем щелкните « Удалить ».

6. После удаления сертификата нажмите « Закрыть », чтобы закрыть окно « Сертификаты» .

Перезагрузите компьютер и после перезагрузки проверьте, сталкиваетесь ли вы с той же проблемой со службой криптографии или нет.

Рекомендации по устранению проблем при работе с электронной подписью (ЭП)

Выбрав нужный файл личного сертификата, нажмите «ОК». Если указать галочку «Найти контейнер автоматически», КриптоПРО сама сопоставит нужный контейнер и сертификат. Остается подтвердить действие после установки сертификата, нажав «Готово».

КриптоПро не видит ключ: пути решения этой и других возникающих в работе ЭЦП ошибок |

Fix-3 Удалить ключ реестра Adobe Acrobat-

Удаление раздела реестра Adobe Acrobat с вашего компьютера может решить вашу проблему. Теперь для этого выполните следующие простые шаги:

1. Что нужно сделать в первую , это нажать на « клавишу Windows + S ».

2. Теперь введите « regedit » в поле поиска и щелкните « Редактор реестра », чтобы открыть его.

3. Теперь в этом окне редактора реестра на левой панели раскройте:

4. Теперь щелкните этот ключ правой кнопкой мыши и выберите « Экспорт ». (Обратите внимание, что ключ 11.0 может отличаться в зависимости от версии acrobat)

5. Теперь выберите подходящее место для экспорта ключа реестра. Назовите ключ « backup1 » и нажмите « Сохранить ». Если что-то пойдет не так, вы можете использовать этот резервный ключ реестра.

6. Теперь щелкните правой кнопкой мыши по ключу 11.0 , а затем нажмите « Удалить ».

7. Щелкните « Да », чтобы подтвердить удаление ключа.

Перезагрузите компьютер и после перезагрузки проверьте, сталкиваетесь ли вы по-прежнему с криптографической проблемой или нет.

💥Принимайте участие в опросе и получайте бесплатную консультацию


17 мая 2019 08:48 #12252
от YFNS5611

Ошибка получения сертификата из хранилища: Объект или свойство не найдено (0х80092004)
Хотим подписать заявку на кассовый расход. Сертификат лежит на USB носителе, установлен , скрины прилагаю (на последнем попробовал в IE). По мимо этого у нас еще один есть и он все подписывает без проблем. Я так понимаю проблема с самим сертификатом ? или что-то не туда установил?!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 мая 2019 09:0517 мая 2019 09:08 #12254
от Gvinpin

YFNS5611 пишет: или что-то не туда установил?!

Или не установил.
Такая ошибка бывает, когда некорректно установлен(ы) сертификат пользователя и/или корневые сертификаты.
Сертификат новый? Установлены ли корневые сертификаты для ГОСТ-2012? При просмотре сертификата пользователя корневые без крестов?


______________________________
Лучше уже было (c)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 мая 2019 09:30 #12255
от YFNS5611

Вообще нет проблем. Может быть сам сертификат корявый? ведь другой — то подписывает без проблем на этой же машине

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 мая 2019 09:4517 мая 2019 09:49 #12256
от Alex67

Ещё раз обращаем внимание: если у вас установлен Континент АП 3.7 с криптопровайдером от Кода Безопасности следует удалить в реестре следующие строки:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyOIDEncodingType 1CryptDllImportPublicKeyInfoEx1.2.643.7.1.1.1.1
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftCryptographyOIDEncodingType 1CryptDllImportPublicKeyInfoEx1.2.643.7.1.1.1.1


«Кто людям помогает — лишь тратит время зря. Хорошими делами прославиться нельзя» (с) Шапокляк

Спасибо сказали: ranger

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 мая 2019 09:49 #12257
от Gvinpin

YFNS5611 пишет: Вообще нет проблем. Может быть сам сертификат корявый? ведь другой — то подписывает без проблем на этой же машине

Попробуйте удалить сертификат из хранилища и потом установить его заново.
Судя по скрину, сертификат прошлогодний. Раз есть подозрения на его счет, то раньше им не подписывали? Проверьте, все ли полномочия АСФК в нем есть (хотя бы сравните с другим).


______________________________
Лучше уже было (c)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


17 мая 2019 10:11 #12258
от YFNS5611

Все спасибо. Пока бунт не поднял никто мне не сказал, что им дали новый сертификат по 2012 ГОСТУ. Все работает.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


08 нояб 2021 11:27 #19455
от manager15

Извините что влезаю, но какая разница по какому ГОСТу выпущен сертификат? Я имею в виду что данная ошибка никак не связана с ГОСТом, ведь эцп по 2001 ГОСТу уже никто не выпускает…Все что требуется для решения данной проблемы — это переустановить КриптоПро CSP, предварительно удалив программу через панель управления, затем запустить утилиту удаления cspclean, которую вы можете скачать с официального сайта КриптоПро. После удаления нужно заново установить программу и попробовать снова

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


08 нояб 2021 12:18 #19459
от ranger

manager15 пишет: Извините что влезаю, но какая разница по какому ГОСТу выпущен сертификат?

Так вы этот вопрос задайте Коду Безопасности и КриптоПро

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.


09 нояб 2021 09:5409 нояб 2021 09:58 #19462
от Alex_04

manager15 пишет: Извините что влезаю…

Да не, всё путём. :) Ну если не считать один пустяк — Вы слегка запоздали (на 2,5 годика буквально) с размышлениями о ГОСТах… ;)



«Мы будем жить плохо, но недолго.» (© Черномырдин В.С.)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

1C
 
Ошибка при отправке данных в ФСС: не удалось расшифровать файл
0

Mary01

20.04.23

08:01

Всем привет!

столкнулась с такой ошибкой:

Бухгалтер в ЗУП (3.1.25.36) отправляет в ФСС данные о застрахованном лице, при этом получает ошибку: Не удалось расшифровать файл.

В журнале регистрации ошибка такая:

Электронный документооборот с контролирующими органами. Менеджер криптографии

Ошибка при вызове «PKCS7Расшифровать» менеджера криптографии.

по причине:

Ошибка вызова метода внешней компоненты

по причине:

Объект или свойство не найдено. Переустановите сертификат абонента из ключевого носителя.



Сертификат переустановили, у пользователя в настройках прописаны актуальные сертификаты. Как понять в чем ошибка и исправить?

1

Волшебник

20.04.23

09:52

1. Обновить конфу до последнего релиза.

2. Сформировать новое заявление на изменение реквизитов 1С-отчётность, где будет указан код СФР (бывший ПФР). Дождаться его принятия

3. В приложении КриптоПро CSP заново установить сертификат с токена

4. Отправить заявление на переход на ЭДО с СФР. Дождаться его принятия

2

Mary01

20.04.23

11:31

(1) п 2,3,4 — это для каждого пользователя нужно сделать?

3

Волшебник

20.04.23

11:43

(2) для юрлица и гендира

Форум КриптоПро
 » 
Общие вопросы
 » 
Общие вопросы
 » 
Авторизация СКБ Контур в фирме 1С


Offline

dzemon

 


#1
Оставлено
:

17 декабря 2018 г. 12:03:51(UTC)

dzemon

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

Группы: Участники

Зарегистрирован: 17.12.2018(UTC)
Сообщений: 2

Всем добрый день.
Я не нашел такой же темы, поэтому создал здесь, админы думаю исправят если что не так.
У нас в конторе стоит Крипто про 4 пользуемся ЭЦП для отправке отчетов в различные органы.
Так же подписывали шифровали данные для отправки отчетов в фсс по средствам 1с ЗУП 3.1, после очередного обновления отправка эта накрылась, теперь невозможно отправлять отчеты.

ОШИБКА В САМОЙ 1С СЛУДУЮЩАЯ —
«Ошибка при вызове «PKCS7ПодписатьСДаннымиИЗашифровать» менеджера криптографии.
по причине:Ошибка вызова метода внешней компоненты
по причине:Удостоверяющий центр ‘АО «ПФ «СКБ КОНТУР»‘, издавший сертификат ‘АО «************»‘ (ДАТА), на момент издания сертификата не авторизован фирмой ‘1С’.
«

Сейчас удается загрузить больничный с ФСС по средствам 1с, но при выгрузке отчета(не отправке, а именно выгрузке в файл) просто выгружается файл в формате.xml а самого зашифрованного файла нет.
Т.е. получается не удается зашифровать файл даже при выгрузке???

Вопрос в следующем,
1)как можно авторизовать СКБ Контур в фирме 1с, что бы отправлять как раньше напрямую из 1эски.
2)Если это не возможно сделать, то хотя бы как возможно выгрузить зашифрованный отчет из 1с.
3)И если я ошибаюсь в двух первых вопросах, то получается 1с выгружает лишь только файл xml , который потом отдельно нужно шифровать и отравлять???
Спасибо.


Вверх


Offline

Александр Лавник

 


#2
Оставлено
:

17 декабря 2018 г. 12:09:38(UTC)

Александр Лавник

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

Группы: Участники

Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,311
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 749 раз в 697 постах

Автор: dzemon Перейти к цитате

Всем добрый день.
Я не нашел такой же темы, поэтому создал здесь, админы думаю исправят если что не так.
У нас в конторе стоит Крипто про 4 пользуемся ЭЦП для отправке отчетов в различные органы.
Так же подписывали шифровали данные для отправки отчетов в фсс по средствам 1с ЗУП 3.1, после очередного обновления отправка эта накрылась, теперь невозможно отправлять отчеты.

ОШИБКА В САМОЙ 1С СЛУДУЮЩАЯ —
«Ошибка при вызове «PKCS7ПодписатьСДаннымиИЗашифровать» менеджера криптографии.
по причине:Ошибка вызова метода внешней компоненты
по причине:Удостоверяющий центр ‘АО «ПФ «СКБ КОНТУР»‘, издавший сертификат ‘АО «************»‘ (ДАТА), на момент издания сертификата не авторизован фирмой ‘1С’.
«

Сейчас удается загрузить больничный с ФСС по средствам 1с, но при выгрузке отчета(не отправке, а именно выгрузке в файл) просто выгружается файл в формате.xml а самого зашифрованного файла нет.
Т.е. получается не удается зашифровать файл даже при выгрузке???

Вопрос в следующем,
1)как можно авторизовать СКБ Контур в фирме 1с, что бы отправлять как раньше напрямую из 1эски.
2)Если это не возможно сделать, то хотя бы как возможно выгрузить зашифрованный отчет из 1с.
3)И если я ошибаюсь в двух первых вопросах, то получается 1с выгружает лишь только файл xml , который потом отдельно нужно шифровать и отравлять???
Спасибо.

Добрый день.

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

Техническую поддержку оказываем тут
Наша база знаний


Вверх


Offline

dzemon

 


#3
Оставлено
:

17 декабря 2018 г. 12:50:46(UTC)

dzemon

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

Группы: Участники

Зарегистрирован: 17.12.2018(UTC)
Сообщений: 2

Да, забыл указать, общался с 1с фирмой, был дан ответ, что есть список контор, которые прошли авторизацию, а все остальные вопросы задавайте фирме, которая выдала ЭЦП. Получается есть список которые авторизованы у фирмы 1с и СКБ Контур не входит в их число, поэтому хотя бы услышать ответ на первый вопрос — Каким образом сделать так, что бы ЭЦП нашей организации прошла авторизацю у фирмы 1с.Если это возможно.


Вверх


Offline

xrockx

 


#4
Оставлено
:

17 декабря 2018 г. 13:02:27(UTC)

xrockx

Статус: Активный участник

Группы: Участники

Зарегистрирован: 15.03.2013(UTC)
Сообщений: 87
Мужчина
Российская Федерация
Откуда: Санкт-Петербург

Сказал «Спасибо»: 38 раз
Поблагодарили: 10 раз в 8 постах

Опять же — Вопрос в СКБ Контур.
Разработчики Крипто-ПРО тут вообще не причём.


Вверх

Пользователи, просматривающие эту тему

Guest

Форум КриптоПро
 » 
Общие вопросы
 » 
Общие вопросы
 » 
Авторизация СКБ Контур в фирме 1С

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Решение вопроса:

Необходимо проверить Статус заявления по Отчетности. Для этого в разделе Отчетность переходим в Настройки/ Список. Если Статус заявления Одобрено, но настройка не завершена, либо статус Отправлено, необходимо по кнопке Обновить статус заявлений. После того как заявление поменяет статус на Одобрено, повторить отправку

Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.

Номер карточки: SD0011817

При возникновении ошибки «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.

Алгоритм проверки электронной подписи:

В программном продукте 1С необходимо

1. перейти в раздел «Администрирование»

2. «Обмен электронными документами»

3. «Настройка электронной подписи и шифрования»

4. На вкладке «Сертификаты» открыть используемый сертификат

5. Нажать на кнопку «Проверить»

6. Ввести пароль закрытой части ключа (при его наличии) и нажать «Проверить»

! Обращаем Ваше внимание, что программа сама увеличит количество * в поле «Пароль:» до 16 при проверке. Данное поведение является штатным и выступает дополнительной защитой конфиденциальных данных в виде количества символов в пароле. Проверка будет осуществлена на основании введенных Вами данных .

Если в ходе проверки напротив пункта «Подписание данных» возникнет сигнализирующий об ошибке красный символ, на него необходимо нажать для открытия технической информации об ошибке.

Если в технической информации об ошибке указано » «Ошибка интерфейса модуля криптографии. Модуль криптографии не может выполнить требуемое действие, т.к. контекст был получен в ограниченном режиме.» необходимо выполнить проверку электронной подписи.» это обозначает, что проверка сертификата осуществляется без ввода пароля, хотя на контейнере закрытой части ключа установлен пароль.
Рекомендации:

Уточнить у ответственных лиц организации пароль на электронную подпись.

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

! Также сообщаем, что ни техническая поддержка 1С-ЭДО, ни Удостоверяющий центр, который выдал сертификат, не располагают информацией о паролях пользователей. Данная информация является строго конфиденциальной и не подлежит разглашению. Если рекомендации Вам не помогли и пароль утрачен безвозвратно, то единственным выходом из данной ситуации будет выпуск нового сертификата.

АйТиБложик

Маленький IT блог с характером 1С.

Страницы

Поиск по блогу

пятница, 24 апреля 2015 г.

Шифрование строковых данных. Менеджер криптографии.

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

Методы шифрования:

  • Симметричное шифрование — использует один и тот же ключ и для зашифрования, и для расшифрования;
  • Асимметричное шифрование — использует два разных ключа: один для зашифрования (который также называется открытым), другой для расшифрования (называется закрытым).

Объект МенеджерКриптографии платформы 1С позволяет шифровать данные, используя симметричное шифрование, так как криптопровайдеры ОС Windows используют данный вид шифрования (RC2, RC4).

Создание временного сертификата

Так же желательно создавать сертификат с параметром -sp, который позволит задать имя криптопровайдера для сертификата, например, «Microsoft Strong Cryptographic Provider», так как для инициализации объекта МенеджерКриптографии требуется в конструкторе указывать имя криптопровайдера (имя модуля провайдера).

Пример создания временного сертификата для тестирования шифрования в 1С:
makecert.exe -r -pe -n CN=»www.example.com» -ss my -sr currentuser
-sky exchange -sp «Microsoft Strong Cryptographic Provider»

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

Реализация шифрования

Функция шифрования строковых данных:
// Функция выполняет шифрование строковых данных.
//
// Параметры
// СтроковыеДанные — Строка — данные для шифрования;
// Отпечаток — Строка — отпечаток сертификата закодированный в Base64;
// ИмяКП — Строка — имя модкля криптографии;
// ТипКП — Строка — Тип модуля криптографии.
//
// Возвращаемое значение:
// Строка — зашифрованный данные формата PKCS#7 закодированные в Base64.
//
&НаКлиенте
Функция ЗашифроватьСтроку(СтроковыеДанные, Отпечаток, ИмяКП, ТипКП)

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, «CESU-8»);
ЗаписьТекста.Записать(СтроковыеДанные);
ЗаписьТекста.Закрыть();

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, «», ТипКП);
ХранилищеСертификатов = МенеджерКриптографии.ПолучитьХранилищеСертификатов(
ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты,
РасположениеХранилищаСертификатовКриптографии.ДанныеПользователяОС);
Сертификат = ХранилищеСертификатов.НайтиПоОтпечатку(Base64Значение(Отпечаток));

ЗашифрованныеДанные = МенеджерКриптографии.Зашифровать(ИмяВременногоФайла, Сертификат);

В данной функции строковые данные записываются в файл в кодировке CESU-8, т.е. UTF-8 без BOM. Инициализируется менеджер криптографии и по отпечатку происходит поиск сертификата в хранилище сертификатов текущего пользователя в ветке Личное.

Далее происходит шифрование строковых данных, используя найденный сертификат, тем самым, расшифрование сможет произвести тот пользователь, который имеет доступ к закрытому ключу этого сертификата. Результатом шифрования являются двоичные данные, которые кодируются в строку Base64. Двоичные данные имеют формат PKCS#7.

Функция расшифрования строковых данных:
// Функция выполняет расшифровку строковых данных.
//
// Параметры
// ЗашифрованныеДанные — Строка — зашифрованный данные формата PKCS#7 закодированные в Base64;
// Отпечаток — Строка — отпечаток сертификата закодированный в Base64;
// ПарольЗакрытогоКлюча — Строка — пароль к контейнеру закрытого ключа;
// ИмяКП — Строка — имя модкля криптографии;
// ТипКП — Строка — Тип модуля криптографии.
//
// Возвращаемое значение:
// Строка — расшифрованные строковые данные.
//
&НаКлиенте
Функция РасшифроватьСтроку(ЗашифрованныеДанные, Отпечаток, ПарольЗакрытогоКлюча, ИмяКП, ТипКП)

МенеджерКриптографии = Новый МенеджерКриптографии(ИмяКП, «», ТипКП);
МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = ПарольЗакрытогоКлюча;

ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
РасшифрованныеДанные.Записать(ИмяВременногоФайла);
ЧтениеТекста = Новый ЧтениеТекста(ИмяВременногоФайла, «CESU-8»);
СтрокаДанных = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();

В данной функции инициализируется менеджер криптографии и указывается пароль к контейнеру закрытого ключа. Далее происходит расшифровка зашифрованных данных. Результатом расшифрования являются двоичные данные, которые записываются в файл с кодировкой CESU-8 и считываются из него.

Скачать обработку шифрования/расшифрования строковых данных можно по этой ссылке.

Пример работы обработки:

На рисунке 4 поле «Пароль» пустое, так как при создании временного сертификата мы не указывали пароль на контейнер закрытого ключа.

МенеджерКриптографии: ошибка при подписи «ошибка интерфейса модуля криптографии: отсутствует набор ключей»

при попытке использования метода Подписать() менеджера криптографии выскакивает ошибка «ошибка интерфейса модуля криптографии: отсутствует набор ключей»

из других программ с помощью этой же ЭЦП подписывает нормально. ключик настроен через КриптоПро.
релиз 1С 8.2.15.319

в чём может быть проблема?

для (4) сторно, ЭЦП создаётся, всё-таки, обычная. подниму темку — из-за чего такое может быть?

пробовал и на 8.2.15, и на 8.2.16

Тест. Проверка операций формирования/проверки ЭЦП на сервере.
Код ошибки 114. Не удалось выполнить операции формирования/проверки ЭЦП на сервере.

Сертификат не имеет связи с закрытым ключом.
Тест. Проверка операций шифрования/расшифровки на сервере.
Код ошибки 113. Не удалось выполнить операции шифрования/расшифровки на сервере.

А с сервера (на клиенте) так:

Тест. Проверка операций шифрования/расшифровки на компьютере.
Пройден успешно.

Тест. Проверка операций формирования/проверки ЭЦП на компьютере.
Пройден успешно.

Что бы это могло значить? это сертификат для подписантов. Его что на сервер ставить низя.

Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Валидата → СКАД Сигнатура → Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений 9

1 Тема от badik 2017-10-17 16:19:16 (2017-10-17 16:20:09 отредактировано badik)

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Тема: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Разработчики нашей организации сделали попытку соединить Java c Сигнатурой
посредством своей DLL (интерфейс вроде бы spki1) .
в Java выполняется код который возвращает ЭП.

Полученные файлы не проходят проверку в АРМ КБР.
Ошибка:Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)
В АРМ КБР было выполнено преобразование файлов УФЭБС для АРМ РКС Сигнатуры.
Проверка закончилась успешно

при анализе подписи было выяснено что подпись на несколько байт длинее обычной (полученной spki1utl или PKI.VCERT)

Анализ ASN.1 показал что почему то заполнен SignedData/contentInfo/content
SignedData/contentInfo/contentType = 1.2.840.113549.1.7.1

Вопроса два:
1. Как он смог заполнится?
2. Почему АРМ РКС успешно проверил эту подпись?

2 Ответ от alart 2017-10-17 18:22:33

  • alart
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2011-07-28
  • Сообщений: 281

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

А с какими параметрами выполняется вызов VCERT_SignMem? Какие флаги указываются в структуре sign_param_t?

3 Ответ от badik 2017-10-17 20:11:22

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Со слов разработчиков, только отсоединеная и pkcs7
В протоколы АРМ РКС на правильную и эту подпись похожи.
Мне пришлось доказывать что ошибка в АРМ КБР возникла при подписании
Аналогичная ошибка была у пилотов в трех регионах.
Исходного кода промежуточной длл, где описаны прототипы у меня нет. Завтра спрошу у разработчиков.

4 Ответ от badik 2017-10-18 07:57:13 (2017-10-18 12:01:07 отредактировано badik)

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Пример ПП с ЭП без персональных данных
файл УФЭБС с ЗК закодирован в base64, ошибка подписи в АРМ КБР

data (ЗК UTF8) закодирована в base64

ЭП закодирована в base64

5 Ответ от ant 2017-10-24 12:57:09

  • ant
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2007-02-02
  • Сообщений: 322

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Добрый день, в Вашей подписи присутствуют данные

55| 6| 1| CONTEXT SPECIFIC (0) :
57| 4| 1| OCTET_STRING : ’60E5BA02′

А в случае отсоединенной подписи, данных быть не должно.

6 Ответ от badik 2017-10-26 16:25:13

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

Хорошо. Свой механизм простановки подписи Разработчики исправили. АРМ КБР подписи проверяет.

Остался вопрос:
Механизмы проверки ЭП в АРМ КБР (-Н) и АРМ РКС должны быть одинаковыми.
Почему «АРМ Разбора Конфликтных Ситуаций Сигнатуры» считает эту не правильную подпись в отдельном файле корректной?

7 Ответ от ant 2017-10-27 12:46:56

  • ant
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2007-02-02
  • Сообщений: 322

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

АРМ РКС предназначен для криптографической проверки подписи и признак, выставленный в АРМ РКС (что подпись отсоединенная), имеет приоритет над признаком в файле.
Если Вам необходимо получить код возврата как в АРМ КБР используйте утилиту командной строки spki1utl.exe

8 Ответ от badik 2017-10-27 14:35:28 (2017-10-27 14:37:19 отредактировано badik)

  • badik
  • New member
  • Неактивен
  • Зарегистрирован: 2017-10-17
  • Сообщений: 5

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

В типовом договоре с ЦБ и в нашем тоже говорится об использовании в конфликтных ситуациях только АРМ РКС.

В АРМ РКС на проверку подаются ДВА файла «отдельной ЭП» и сами Данные. Первый файл ЭП содержит признак встроенной подписи. АРМ РКС игнорирует это не соответствие действительности, не отражает в протоколе
и продолжает проверку дальше.

9 Ответ от ant 2017-10-27 15:07:26

  • ant
  • Administrator
  • Неактивен
  • Откуда: Москва
  • Зарегистрирован: 2007-02-02
  • Сообщений: 322

Re: Неверный тип сообщения в формате PKCS#7 (код: 0xE0700022)

АРМ РКС игнорирует данные в подписи, так как ему явно указывается что данных там нет.
Согласен с Вами, в протокол добавим добавим запись о наличии данных в отсоединенной подписи.

Ошибка при вызове pkcs7расшифровать менеджера криптографии

При получении/отправке отчётных форм, сообщений или другой информации, данные поступают/передаются в зашифрованном виде. Для их расшифровки/шифрования системы криптографии, установленные на компьютере пользователя, обращаются к электронной подписи, используемой пользователем для ФГИС ЕИАС.

При возникновении проблем шифрования/расшифровки пользователю следует убедиться соответствии используемой версии модуля «ЕИАС Мониторинг» (АРМ Специалиста) типу используемой электронной подписи, а так же в корректности установки/настроки средств криптографии и сертификатов электронных подписей.

I. Алгоритм шифрования

Если модуль «ЕИАС Мониторинг» (АРМ Специалиста) выдает сообщение «Ошибка при подписании файла. Указан неправильный алгоритм», это говорит об использовании несовместимой версии модуля «ЕИАС Мониторинг» (АРМ Специалиста) с применяемой пользователем электронной подписью.

ФГИС ЕИАС в рамках модуля «ЕИАС Мониторинг» (АРМ Специалиста) обеспечивает поддержку электронных подписей, соответствующих ГОСТ Р 34.10-2001 (включительно до 31.12.2019, согласно письму ФСБ России №149/7/6-363 от 07.09.2018), а так же электронных подписей, соответствующих ГОСТ Р 34.10-2012 (на текущий момент и далее).

В системе ФГИС ЕИАС поддерживается работа электронных подписей, соответствующих ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001. Для работы с теми или иными ключами, следует использовать соответствующую версию модуля «ЕИАС Мониторинг» (АРМ Специалиста).

Дистрибутивы модуля «ЕИАС Мониторинг» (АРМ Специалиста) доступны для загрузки на сайте ФГИС ЕИАС http://eias.ru/

II. Работа систем криптографии и сертификатов электронных подписей

Если модуль «ЕИАС Мониторинг» (АРМ Специалиста) выдает сообщение «Не найден сертификат для расшифровки полученных данных», «Неправильный параметр набора ключей», «Произошла внутренняя ошибка в цепочке сертификатов», «Не удается построить цепочку сертификатов для доверенного корневого центра» и т.п., это говорит о том, что на локальном месте пользователя произведена некорректная установка ЭП, либо отсутствуют необходимые корневые сертификаты, либо имеется ограничение на уровне системы криптографии.



Для исправления ошибки необходимо проверить следующее:

1). На компьютере пользователя должен быть установлен только один криптопровайдер (CSP). Использование разных криптопровайдеров на одном рабочем месте приводит к конфликту механизмов шифрования.

Другие системные требования к рабочему месту указаны в знании #44.

2). Сертификат должен быть установлен для Пользователя, а не для локального компьютера.

При использовании КриптоПро CSP перейдите в оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты».

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

Разверните список «Сертификаты (локальный компьютер) -> Личное -> Реестр -> Сертификаты». Если в данном списке присутствует личный сертификат пользователя вашей организации — его необходимо удалить .

Личный сертификат должен храниться только в «Сертификаты — текущий пользователь -> Личное -> Реестр -> Сертификаты».

Также проверьте хранилища «Другие пользователи» для локального компьютера и текущего пользователя. Личного сертификата там также быть не должно, если он есть — удалить.

3). Убедитесь, что на локальном компьютере установлены корневые сертификаты издателя.

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

Наличие крестиков и восклицательных знаков говорит о том, что данные корневые сертификаты не установлены.

Для устранения этой ситуации необходимо отметить требуемый сертификат и нажать кнопку «Просмотр сертификата». В открывшемся окне на вкладке «Общие» нажать на кнопку «Установить сертификат» и поместить данный сертификат в хранилище «Доверенные корневые центры сертификации». В случае отсутствия кнопки установки, переключиться на вкладку «Состав» и экспортировать корневой сертификат себе на компьютер по кнопке «Копировать в файл», затем установить полученный сертификат в хранилище «Доверенные корневые центры сертификации».

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

Также необходимо убедиться, что установлены корневые сертификаты, необходимые для работы модулей и компонентов (в том числе отчетных форм) ФГИС ЕИАС. Запрос на установку корневых сертификатов выдается системой при работе, но если этого не происходит и дальнейшая работа невозможна, то следует установить их вручную, загрузив набор корневых сертификатов.

Установка набора корневых сертификатов производится в полуавтоматическом режиме — для этого следует перейти в указанную выше оснастку «Сертификаты»: Пуск -> Все рограммы -> Крипто-Про -> Сертификаты» и перейти в хранилище «Доверенные корневые центры сертификации».

Развернуть вложенные разделы «Доверенные корневые центры сертификации -> Реестр -> Сертификаты» и кликнуть правой кнопкой мыши на последнем каталоге, выбрав из контекстного меню «Все задачи — Импорт. «

В открывшемся окне мастера установки по кнопке «Обзор» перейдите к папке, где был сохранен скачанный набор корневых сертификатов. В выпадающем списке доступных типов файлов для импорта укажите значение «Сертификаты PKCS #7 (*.spc; *.p7b)» и выберите загруженный файл trust_eias_certs.p7b

В фоновом режиме запустится установка сертификатов в хранилище доверенных корневых центров сертификации. При отсутствии на вашем ПК того или иного сертификата, система выдаст диалоговое окно с уведомление об установке, с которой необходимо согласиться по кнопке «Да».

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

Для корректной работы ФГИС ЕИАС так же требуется установка корневых сертификатов издателя электронной подписи, в частности УЦ СКБ Контур.

4). Переустановите электронную подпись на локальном компьютере через используемый криптопровайдер.

Инструкция по установке ЭП с примером приведена в знании #31.

5). Убедитесь, что номер лицензии на право инспользования крипровайдера введён корректно (знание #37).

6). В настройках модуля «ЕИАС Мониторинг» (АРМ Специалиста) убедитесь, что для каждого из подключаемых серверов указан действующий сертификат.

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове конструктора сомобъект 2147221164
  • Ошибка при вызове openclipboard windows 10
  • Ошибка при вызове конструктора сомобъект 2147221005 0x800401f3
  • Ошибка при вызове openclipboard paint
  • Ошибка при вызове конструктора сертификаткриптографии