Криптография, как подписывать XML ? #777541


#0 by DES
Есть Файл XML. Получатель требует его подписать, дает пример. В начале идет этот XML , а за ним должен следовать такой кусок                 <CanonicalizationMethod Algorithm="; />                 <SignatureMethod Algorithm="; />                     <DigestMethod Algorithm="; /> что нужно вписывать вместо "-----?-------" ? и можно ли это получить посредством 1с8 ?
#1 by Serginio1
#2 by Serginio1
#3 by Garykom
Как знал )) Можно, выбор офигительный например C#/.net или java
#4 by Serginio1
#5 by Garykom
оттуда "есть два варианта 1. высокоуровневый криптопро.net 2. низкоуровневый crypto api выбирайте" криптопро не обязателен
#6 by Кирпич
прежде чем броситься в глубины дотнетов, сишарпов и java, советую спросить этот вопрос у самого получателя. Уж он то точно знает.
#7 by DES
неужели нет нигде обработки по подписанию XML ?
#8 by Кирпич
сделай. пример в
#9 by DES
делаю. сразу ругается на using System.Security.Cryptography.Xml; Ошибка    1    Имя типа или пространства имен "Xml" отсутствует в пространстве имен "System.Security.Cryptography" (пропущена ссылка на сборку?)    D:ServiceEfactura5ConsoleApplication1ConsoleApplication1Program.cs    7    36    ConsoleApplication1
#10 by Gary417
ну читайте подробнее пример то To compile this example, you need to include a reference to System.Security.dll.
#11 by DES
Ошибка    1    Имя "rsaKey" отсутствует в текущем контексте    D:ServiceEfactura5ConsoleApplication1ConsoleApplication1Program.cs    66    36    ConsoleApplication1
#12 by DES
для проверки делать в VS тип проекта консольное приложение ?
#13 by Кирпич
напиши просто Key
#14 by DES
да уже догнался, а как в этом примере подкинуть свой ключ из хранилища ?
#15 by Кирпич
вот еще умный чувак пишет на 1с
#16 by Garykom
Кста да тока хотел сказать что нафуя сторонник когда можно из 1С сразу
#17 by Garykom
+
#18 by Кирпич
вот еще
#19 by DES
просят че то за скачку, не пойму.
#20 by Garykom
СП продать? Раздел МенеджерКриптографии.
#21 by DES
что такое СП ? У меня книжки есть, из коробки.
#22 by DES
кто может качнуть для меня ?
#23 by Кирпич
Да там фигня. Тебе не поможет.
#24 by DES
как так, пишет же что все путем из 1с
#25 by H A D G E H O G s
1С при подписи не включает в результат исходный файл.
#26 by Garykom
ТСу нуна взять хеш от файла (исходного XML) и подписать его ЭП, затем все это засунуть в одну XMLину.
#27 by Garykom
+ Если честно то проблеммка на максимум пару дней (при наличии связи с кто проверяет или способа проверки) и 4-8 нормочасов.
#28 by Кирпич
тебе нужна подпись типа XMLDSIG, про которую пример в В 1С это можно сделать (сам не пробовал), но надо самому генерить хеши и шифровать и в XML всё это запихивать. В применяется класс SignedXml, который умеет это делать.
#29 by Кирпич
+ могут быть еще заморочки со стороны Получателя, чтобы твой алгоритм выдавал ровно то, что ожидает Получатель, байт в байт. Не факт, что даже пример из сгенерит правильный файл, но скорее всего сгенерит. У Получателя твоего наверное тоже всё на C# сделано. Так что ковыряй пока лучше C#.
#30 by DES
Вся эта лабудень делается через IE и JAVA на локальном компе. Может как то можно это выдрать и закинуть в 1С. Ну или хотя бы алгоритм расковырять.
#31 by Serginio1
В кой то веки я согласен с Кирпичом. Спрашивай у получателя алгоритс. В 4 приведен пример поиска ключа, алгоритм хэширования и подпись этим ключом. В большинстве случаев достаточно 2. Ты бы взял и попробовал.
#32 by DES
как в присобачить свой RSA key ?
#33 by DES
взял, попробовал, почто то что нужно
#34 by DES
получатель недоступен для консультирования, все что есть это pdf от eFactura.
#35 by Кирпич
так ты всё молдавские фактуры грызёшь? :) у тебя же вроде какая то либа была. она наверное и подписывать умеет. не?
#36 by Кирпич
+ ну и в PDF загляни. обычно алгоритм подписи описывают подробно.
#37 by DES
не могу заглянуть в pdf, я его распечатал и протер до дыр. Алгоритм описан в виде исходные данные и требуемые результаты. сделал поиск ключа в хранилище                 string certThumbprint = @"CDA379DF091A7541FD5152DF4736449E7948FF5A";                 X509Store storeMy = new X509Store(StoreName.My, StoreLocation.CurrentUser); как его преобразовать в RSA key ?
#38 by Serginio1
Смотри 4. Там все есть
#39 by Serginio1
Или
#40 by Serginio1
Обратись к
#41 by Serginio1
Проси алгоритм подписи на C#.
#42 by DES
сделал по структура получилась соответствующая, только значения слегка отличаются Нужно <CanonicalizationMethod Algorithm="; /> а выдает <CanonicalizationMethod Algorithm="; /> насколько это критично ?
#43 by Serginio1
Наверное другой XmlDsigC14NTransform XmlDsigExcC14NTransform
#44 by DES
ДА, строчка получилась та что нужно, а формат стал другой
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С