Ошибка при верификации цифровой подписи файла sap ноты

Обновлено: 01.07.2024

Каков вопрос, таков ответ. Распечатайте и несите руководителю на подпись. Ну а если серьезно, то можно предложить следующий вариант. Оператор сохраняет документ как временно сохраненный, а руководитель уже открывает все временно сохраненные и сохраняет их при соответствующем контроле.

_________________
Молодежь знает правила, старики - исключения. Не будь исключений, правила были бы невыносимы.

Ув.Ramzes. Формирование документов происходит транзакциями МВ1А,МВ1В,МВ1С.Разве его можно сохранить временно. Ув.Ramzes. Формирование документов происходит транзакциями МВ1А,МВ1В,МВ1С.Разве его можно сохранить временно.

А пускай пользователи тогда создают тр. MB21 доеумент резервирования с соответствующим в.д., а визирующий потом тр. МВ1А,МВ1В,МВ1С делает проводку со ссылкой на это резервирование

Ув.Ramzes. Формирование документов происходит транзакциями МВ1А,МВ1В,МВ1С.Разве его можно сохранить временно.

А пускай пользователи тогда создают тр. MB21 доеумент резервирования с соответствующим в.д., а визирующий потом тр. МВ1А,МВ1В,МВ1С делает проводку со ссылкой на это резервирование

Весёлая тема, тоже хочу отметиться
Интересно, как выглядит напечатанная цифровая подпись?

Кстати, Abral, попробуйте зарезервировать что-нить из особого запаса, не очень-то это получается


Кстати, Abral, попробуйте зарезервировать что-нить из особого запаса, не очень-то это получается

Да если хочется создать тр. Mb21 резервирование особого запаса ничего не получится, в лучшем случае можно зарезервировать, например списание обычного запаса на на проект в.д. 221 (без q).

Но opelt ничего не говорил, используется ли у них на проекте особые запасы или нет

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

Объясните, может я не прав.


Да понять то его не трудно, посол Крымску волость требует.
А если серьезно, то я так понимаю, необходимо сделать так, что б напечатать документ можно было только после утверждения руководителем.
У нас документы проверяются бухгалтерией, т.е. кладовщик делает документ, бухгалтер проверяет (наша транзакция) и после этого нет возможности сторнировать данный документ.
Добавили поле "Статус документа", собственная транзакция для установки статуса, с возможностью просмотра документа и условия в юзер ексит и все, делайте по это му же принципу.
Создали документ, проверка руководителем (установка статуса) и вывод на печать, только тех документов у которых, есть статус, без статуса печать не возможна, прям в программу печати условие поставить. Да,ЭЦП - это технология с закрытими и открытыми ключами,которая позволяет владельцу открытого ключа(кладовщику) идентифицировать,что некоторая информация подписана владельцом закрытого ключа(руководителем).ЭЦП является юридически действительной по законадательству.Это не какой-то флаг в таблице,который может например установить системный администратор или разработчик. opelt, а ты напиши SAP-message, может там тебе конкретнее ответят относительно ЭЦП в SAP-е.

_________________
Eritis sicut Deus, scientes bonum et malum.

Часовой пояс: UTC + 3 часа

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]

Логотип © 2006 Андрей Горшков
Поддержка: Кирилл Андреев, 2011-…

Если вы столкнулись с проблемой электронного подписания квалифицированной подписью, то вы так или иначе будете направлены в сторону Secure Store & Forward API (SSF-API) совместимых партнерских решений.

Для использования квалифицированной электронной подписи необходима сертифицированная криптография. В соответствии с ГОСТ Р 34.10-2001, криптография должна быть построена на сложности вычисления логарифма эллиптической кривой, и, раз такого алгоритма нет в стандартной поставке Sapcryptolib, то необходимо добавить недостающие алгоритмы с помощью SSF вызовов, т.к. использование SSF API является стандартным подходом к интеграции сторонней криптографии. Это более-менее известно.

Что однако неизвестно, так это то, что в стандартной поставке SAP NetWeaver есть компонент SAP Signature Control, который позволяет не только подписывать документы в веб-интерфейсе, но и делать это с использованием MS CryptoAPI. А это значит, что любая CryptoAPI-совместимая криптография будет обрабатывать вызовы этого компонента.

На практике это означает, что мы можем электронно подписывать документы в SAP GUI и в веб-приложениях с помощью сертифицированной российской криптографии. И делать это без покупки дополнительных SSF-продуктов!

Продемонстрируем это на простом примере:

1. Устанавливаем КриптоПро CSP 4.0.

/wp-content/uploads/2016/02/0_894064.jpg

/wp-content/uploads/2016/02/2_894072.jpg

/wp-content/uploads/2016/02/1_894073.jpg

5. Запускаем подписание, выбираем сертификат (сертификаты подгружаются из хранилища Microsoft Keystore)

/wp-content/uploads/2016/02/3_894108.jpg

6. Вводим пароль, если закрытый ключ доступен только по паролю

/wp-content/uploads/2016/02/4_894083.jpg

7. Результат подписания.

/wp-content/uploads/2016/02/5_894084.jpg

Документ подписан успешно (его верификация не прошла, т.к. наш сертификат не установлен на сервер, и, конечно, верификация в нашем примере не сработает для ГОСТ сертификата).

Также мы могли подписать и в SAP GUI, с помощью отчета SSFSDEMO

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

Мартин Фаулер. Рефакторинг

Новое

  • Получение инстанции cl_gui_alv_grid для SALV 11.09.2021
  • Introduction to ABAP in the Cloud 18.08.2021
  • Getting Started with FPM BOPF Integration 01.06.2021
  • 30. How to Use Authority Checks in Business Object Processing Framework 29.05.2021
  • 29. BOPF Extensibility 29.05.2021
  • 28. BOPF Enterprise Procurement Model (EPM) 29.05.2021
  • 27. BOPF Integration 29.05.2021
  • 26. BOPF Business Configuration Objects 29.05.2021
  • 25. BOPF Performance 29.05.2021
  • 24. BOPF Supportability 29.05.2021

Последние комментарии

Дмитрий 16.11.2021 в 00:39 на Введение в Debugger Scripting Делаю скрипт + точку прерывания на строку в коде Записываю данные к-е есть в этом месте программы в журнал для SAS Запускаю и скрипт и у меня каждый раз заходит в точку прерывания Как сделать чтобы скрипт отработал и записал данные в журнал - не проваливаясь каждый раз в отладчик Дмитрий 12.11.2021 в 14:07 на Secure store and forward Добрый день! подскажите, можно ли используя SSF выполнять подписание с помощью внешнего крипто провайдера, расположенного на отдельном сервере? при этом закрытая часть у пользователя на флешке, а сертификат может быть установлен предварительно на сервер. Спасибо! Николай 27.10.2021 в 15:19 на Внутренние таблицы как источник в SQL запросах Спасибо за статью. Если нужно сделать агрегацию внутренней таблицы то агрегация через передачу во временную таблицу на БД тоже будет работать медленней чем через loop/collect? Например таблица 100к записей, которая становится 5к после агрегации. Аноним 14.10.2021 в 13:50 на Декоратор (Decorator, Wrapper) Так поведение Decorator не надо будет повторно описывать повторно в других Component. Но это возможно при изменении типа mo_component, например, на object.

ssh-private-public-keys2[1]

В данной статье на примере получения и проверки ЭЦП будут рассмотрены возможности стандартных библиотек криптографии SAP, а так же внешних провайдеров. Кроме того следует упомянуть что рассматривается только ABAP стек.

Внутренние провайдеры

Внутренние провайдеры представляют собой набор библиотек расположенных на уровне сервера приложений. Компания SAP предоставляет два внутренних крипто-провайдера (ABAP стек):

  • SAPSECULIB – библиотека поддерживает DSA алгоритм и может быть использована только для формирования/проверки ЭЦП (т.к. сам алгоритм не предназначен для шифрования);
  • SAPCRYPTOLIB – поддерживает как DSA, так и RSA алгоритм, с возможностью выбора размера ключа. Используется как для формирования/проверки ЭЦП, так и для шифрования (RSA);

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

Библиотека SAPSECULIB при необходимости может быть заменена SAPCRYPTOLIB, для чего есть соответствующие ноты.

Внешние провайдеры

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

  • Через RFC вызов SSF провайдера на локальной машине
  • Через ActiveX элемент и вызов провайдера MS Crypto-API

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

Интерфейс SSF

Интерфейс к SSF предоставляет набор модулей через которые могут быть вызваны функции крипто-провайдеров, основные из них описаны далее:

version

При использовании интерфейса SSF зачастую приходится передавать множество параметров, таких как:

  • Используемый хеш-алгоритм,
  • Необходимость включения сертификата в подпись,
  • Необходимость включения данных в подпись,
  • Алгоритм кодировки и др.

Для разных приложений, данные параметры могут различаться, чтобы не хранить их как константы, можно воспользоваться специальной настройкой. Для этого, в первую очередь, необходимо создать SSF приложение, делается это через ракурс ведения (SE16) к таблице SSFAPPLIC, создадим новую запись:

ssf_app

Значение X отвечает за возможность определения параметра для приложения, если оставить значение пустым, для текущего приложения нельзя будет настроить указанный параметр. Сохраним приложение, проставив везде X.

Для его настройки необходимо перейти в транзакцию STRUST и нажать F9 (Среда -> Ведение параметров SSF), зададим следующие параметры:

ssf_app_options

Получить значения параметров можно через ФМ SSF_GET_PARAMETER. Описание большинства из них приводится во встроенной документации.

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

Формирование/проверка ЭЦП на сервере

В данном примере мы сформируем ЭЦП средствами SAPCRYPTOLIB на сервере приложений, а так же выполним её верификацию.

Прежде чем вызывать функции SSF необходимо получить пару – закрытый/открытый ключ и положить их в хранилище (PSE файл).

Для генерации пары воспользуемся OpenSSL – набор открытых инструментов для криптографии. В статье я не буду подробно останавливаться на инструменте OpenSSL, будут лишь приведены необходимые команды.


Технологическое решение разработано для встраивания в приложения SAP Web Application Server ABAP и поставляется в виде транспортного запроса, который устанавливают в SAP-систему. Для работы технологического решения обязательно наличие средства поддержки SSF-интерфейса и криптопровайдера CSP (Crypto Service Provider). Средство поддержки SSF-интерфейса и криптопровайдер CSP устанавливают либо на SAP-сервер, либо на персональные компьютеры конечных пользователей SAP-системы (в зависимости от того, где предполагается осуществлять шифрование и подписание с использованием ЭЦП).

Для работы с криптографической функциональностью используется стандартный SAP-интерфейс — SSF (Secure Store & Forward and Digital Signatures). Использование технологического решения предполагает наличие инфраструктуры открытых ключей — PKI (Public Key Infrastructure) — набора средств, служб, прикладного обеспечения и систем для управления электронными сертификатами и ключами пользователей.

DFS Data Protector прошло сертификацию SAP и получило статус Powered by SAP NetWeaver

Функциональные возможности:


Позволяет встраивать функции ЭЦП и шифрования в стандартные приложения SAP с помощью настройки.

Имеет открытый программный интерфейс (API) для встраивания функций ЭЦП и шифрования в клиентские приложения.

Использует стандартный интерфейс SAP-SSF для обращения к внешним средствам криптозащиты (например, Лисси или КриптоПро).

Позволяет подписывать как структурированные документы (карточки документов или SAP-документы), так и неструктурированные (файлы документов).

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

Это электронный объект, который помогает установить авторство и удостовериться в аутентичности и целостности цифрового документа.

В зависимости от используемого Вами вида ЭЦП, это современное средство защиты электронной информации поможет подтвердить авторство и / или проследить изменения, внесенные в документ после его подписания.

Как подписать объект с помощью ЭЦП в стандартных SAP-приложениях? Рассмотрим в качестве примера подписание бизнес-объекта из стандартной транзакции изменения основной записи материала ММ02.

Для того чтобы подписать объект с помощью ЭЦП, необходимо сначала создать или открыть на изменение Создадим новый или откроем уже имеющийся материал объект. Кликнем Щелчком по кнопке «Услуги к объекту», выберем пункт меню «Подписать»:

Электронно-цифровая подпись и шифрование документов

Откроется окно со списком объектов, которые будут подписаны. Щелкнем по кнопке «Подписать»:

Электронно-цифровая подпись и шифрование документов

Щелкнем по кнопке «Услуги к объекту», выберем пункт меню «Проверить подпись»:

Электронно-цифровая подпись и шифрование документов

Откроется окно со списком подписей:

Электронно-цифровая подпись и шифрование документов

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

Кликнем по кнопке «Услуги к объекту», выберем пункт меню «Файл-сервис» (требуется установка программного продукта DFS File Service):

Электронно-цифровая подпись и шифрование документов

Откроется список приложенных файлов:

Электронно-цифровая подпись и шифрование документов

Рекомендуется применять программный продукт DFS Signer в качестве средства поддержки SSF-интерфейса и программный комплекс «КриптоПро CSP» (ООО «КРИПТО-ПРО») — в качестве криптопровайдера CSP, поддерживающего российские стандарты ЭЦП и пригодного для формирования ключей шифрования и ключей ЭЦП, шифрования данных, обеспечения целостности и подлинности информации.

Читайте также: