Интересует готовое ПО или разработка, ТЗ ниже. Рассматриваю как разовое сотрудничество, так и дальнейшую совместную работу по поддержке/развитию ПО. Коротко ТЗ: 1. Бюджетное внедрение (недорогое железо, низкие аппаратные требования ПО), 2. Адреса ...
Необходимо реализовать формирование XML Digital Signatures на С++
Необходимо реализовать формирование 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 заявокЗакрыт6 лет назад
Объяснить программирование и работу нейронной сети на языке С++ 17 версии, которая в поинте определяет числа от 0 до 9.
Прикладное ПО1 заявкаЗакрыт6 лет назадПриветствую, требуется софт. Должен уметь работать с моими проксями (хттпс и сокс5), прокси брать с json, поддерживать работу с push уведомлениями (подписаться, кликнуть), менять некоторые фингерпринты, написать можно, используя любой подходящий ...
Прикладное ПОнет заявокЗакрыт6 лет назадНужно в Metastock реализовать отбор инструментов для торговли в зависимости от состояния графика капитала
Прикладное ПОнет заявокЗакрыт6 лет назад- $60
Здравствуйте. Нужен разработчик python на небольшое задание. Создается 2 файла, в каждом из которых таблица с 2-4 столбцами, указываются названия строк и тип строк (int или string). Задание заключается в манипуляции ...
Прикладное ПО11 заявокЗакрыт6 лет назад Есть приложение, автозаполнения формы https://www.cloudflare.com/abuse/form , на почту приходит письмо в котором данные по которым нужно заполнять формы, но есть нюансы, например делание одного письма на несколько форм, пауза между формами и т.д. в целом приложение ...
Прикладное ПОнет заявокЗакрыт6 лет назадНеобходимо написать код программы на языке C или Assemler для микроконтроллера PIC16F88, выполняющий функции: 1)общения с домофонным ключом посредствам интерфейса One wire; 2)производящий считывание ключа, запись ключа в память контроллера и возможность перезаписи ...
Прикладное ПО1 заявкаЗакрыт6 лет назадMacOS Mojave 10.14.2 Есть программа Karabiner. С ее помощью можно настроить клавиатуру Macbook по своему усмотрению. Нужен XML-файл написаный Вами, где будут прописаны комбинации клавишь (обсудим непосредственно перед работой) и что должно ...
Прикладное ПОнет заявокЗакрыт6 лет назад- $100
для любой ОС Функция подгрузки телефонных номеров .txt формат, по одному номеру в строке начиная с 8 (база номеров 5-10 метров)
Прикладное ПО2 заявкиЗакрыт6 лет назад Есть ряд вопросов по Java Oracle, для ответов на которые необходима помощь специалиста по Java
Прикладное ПОнет заявокЗакрыт6 лет назад