Имя: Пароль:
1C
 
Подписание файла с помощью ЭЦП, БСП
,
0 Mr-FReSH
 
28.07.21
16:30
Доброго времени суток, подскажите пожалуйста, есть ли у кого-нибудь пример подписания файла (в моем случае xml) с помощью БСП.
Криптопровайдер Крипто-про, но я думаю это не имеет особого смысла т.к. БСП предусматривает возможность подписи от разных провайдеров.

Кто-нибудь сталкивался? Какой алгоритм работы?
1 Mr-FReSH
 
29.07.21
07:54
Ап
2 Mr-FReSH
 
29.07.21
08:03
Думаю есть смысл добавить то, что ключ должен быть вставлен в сам xml строкой
3 Garykom
 
гуру
29.07.21
09:36
4 Mr-FReSH
 
29.07.21
10:06
(3) А через БСП никто не курил тему?
5 Garykom
 
гуру
29.07.21
10:11
(4) забей там функционал по гост только обещают вроде
6 Mr-FReSH
 
29.07.21
11:36
Да, я уже покапался и нашел интересную функцию

XMLDSig.ПодписатьДокумент(
    Оповещение_, //Оповещение с результатом
    Сертификат_, //Если передать Неопределено - будет вызвана форма выбора сертификата - я так и сделал
    Заголовок_,  //Просто заголовок на форме выбора сертификата
    ДокументXML_, //Ваш xml, (в моем случае, пропущенный через функцию ОбменДаннымиФССКлиент.ПолучитьEnvelope());
    ПодписываемыеДанные_, //Можно передать какую конкретную строку нужно подписать, я передавал Неопределено
    ДополнительныеДанные_, //Передавал также неопределено
    ШаблонSignature_, //Результат функции XMLDSig.ШаблонSignatureПоУмолчанию()
    МестоВставки_ //Тег файла куда нужно вставлять данные подписи - в моем случае "soap:Header"
);

Функция отработала нормально, но когда начал ковырять результат, увидел следующую картину

<SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/>

а в моей задаче требуется "www.w3.org/2000/09/xmldsig#rsa-sha1"

и вот на этом моменте я похоже и приплыл.
7 Mr-FReSH
 
29.07.21
11:50
я так понимаю, если я внутри xml поменяю просто одну строку signatureMetod на другую, я ничего хорошего не получу т.к. сами ключи зашиты по этому госту?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн