Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо реализовать формирование XML Digital Signatures (https://www.xml.com/pub/a/2001/08/08/xmldsig.html) на C++

Входные данные:

xml-документ в виде строки (необходимо подписать корневой элемент)

сертификат ЭЦП (файл p12 в виде base64 строки от двоичных данных)

пароль к сертификату (строка)

CanonicalizationMethod - алгоритм, применяемый для каноникализации xml ("http://www.w3.org/TR/2001/REC-xml-c14n-20010315")

DigestMethod - алгоритм вычисления хэша ("sha256")

SignatureMethod - алогоритм, используемый для генерирования и валидации подписи ("rsa-sha256")

На выходе должны получить подписанный xml-документ в виде строки

Пример на python с использованием библиотек OpenSSL, signxml, lxml

from OpenSSL import crypto

from signxml import XMLSigner, methods

from lxml import etree

data_to_sign = 'XML СТРОКА'

p12 = crypto.load_pkcs12(file("ФАЙЛ СЕРТИФИКАТА ЭЦП", 'rb').read(), "ПАРОЛЬ К СЕРТИФИКАТУ")

key = crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey())

cert = crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate())

root = etree.fromstring(data_to_sign)

signed_root = XMLSigner(methods.enveloped, signature_algorithm=u'rsa-sha256', digest_algorithm=u'sha256',

c14n_algorithm=u'http://www.w3.org/TR/2001/REC-xml-c14n-20010315').sign(root,

key=key, cert=cert)

output = etree.tostring(signed_root, encoding='utf8', method='xml')

Дополнительно необходимо все это оформить в виде внешней компоненты 1С

методика создания и пример https://its.1c.ru/db/metod8dev#content:3221:hdoc

5 лет назад
Profi_Soft
41 годКазахстан
5 лет в сервисе
Был
5 лет назад
  • Похожие заказы
  • Интересует готовое ПО или разработка, ТЗ ниже. Рассматриваю как разовое сотрудничество, так и дальнейшую совместную работу по поддержке/развитию ПО.  Коротко ТЗ:  1. Бюджетное внедрение (недорогое железо, низкие аппаратные требования ПО),  2. Адреса установки камер разные, на каждом объекте ...

    Закрыт
    5 лет назад
  • Приветствую, требуется софт. Должен уметь работать с моими проксями (хттпс и сокс5), прокси брать с json, поддерживать работу с push уведомлениями (подписаться, кликнуть), менять некоторые фингерпринты, написать можно, используя любой подходящий браузерный движок или апи ...

    Прикладное ПОнет заявок
    Закрыт
    5 лет назад
  • $60

    Здравствуйте. Нужен разработчик python на небольшое задание. Создается 2 файла, в каждом из которых таблица с 2-4 столбцами, указываются названия строк и тип строк (int или string). Задание заключается в манипуляции с этими таблицами, по типу мини-SQL.

    Закрыт
    5 лет назад
  • Есть приложение, автозаполнения формы https://www.cloudflare.com/abuse/form , на почту приходит письмо в котором данные по которым нужно заполнять формы, но есть нюансы,  например делание одного письма на несколько форм, пауза между формами и т.д.  в целом приложение ...

    Прикладное ПОнет заявок
    Закрыт
    5 лет назад
  • Необходимо написать код программы на языке C или Assemler для микроконтроллера PIC16F88, выполняющий функции:  1)общения с домофонным ключом посредствам интерфейса One wire;  2)производящий считывание ключа, запись ключа в память контроллера и возможность перезаписи пустого ключа;  3)отображение выполняемых действий ...

    Закрыт
    5 лет назад
  • MacOS Mojave 10.14.2 Есть программа [url=https://pqrs.org/osx/karabiner/]Karabiner[/url]. С ее помощью можно настроить клавиатуру Macbook по своему усмотрению. Нужен XML-файл написаный Вами, где будут прописаны комбинации клавишь (обсудим непосредственно перед работой) и что должно происxодить при нажатии этих клавишь. Этот файл позже ...

    Прикладное ПОнет заявок
    Закрыт
    5 лет назад