| 
    
        
     
     | 
    
  | 
Присоединить электронную подпись к xml файлу | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        slnes    
     21.03.23 
            ✎
    12:11 
 | 
         
        Имеется файл запрос.xml. 
 
        Получил его подпись в другой файл запрос.xml.p7s. Помогите присоединить подпись к запрос.xml.  | 
|||
| 
    1
    
        Garykom    
     21.03.23 
            ✎
    12:11 
 | 
         
        уточни стандарт подписи     
         | 
|||
| 
    2
    
        slnes    
     21.03.23 
            ✎
    12:13 
 | 
         
        PKCS7/DER     
         | 
|||
| 
    3
    
        Garykom    
     21.03.23 
            ✎
    12:13 
 | 
||||
| 
    4
    
        Garykom    
     21.03.23 
            ✎
    12:13 
 | 
         
        (2) ты что то путаешь     
         | 
|||
| 
    5
    
        slnes    
     21.03.23 
            ✎
    12:22 
 | 
         
        (1),(4) алгоритм подписи - GR 34.10-2012 256     
         | 
|||
| 
    6
    
        Garykom    
     21.03.23 
            ✎
    12:25 
 | 
         
        (5) все же XMLDSig 
 
        https://forum.infostart.ru/forum81/topic209372/  | 
|||
| 
    7
    
        Garykom    
     21.03.23 
            ✎
    12:27 
 | 
         
        комменты смотри
 
        https://forum.infostart.ru/forum9/topic286333/  | 
|||
| 
    8
    
        slnes    
     21.03.23 
            ✎
    13:50 
 | 
         
        Я подписываю вот так
 
        МенеджерКриптографии = Новый МенеджерКриптографии("", "", 80); МенеджерКриптографии.Подписать(ФайлЗапроса, ФайлЗапроса + ".p7s", Сертификат); получаю файл запрос.xml.p7s как мне поместит эту подпись в начало файла запрос.xml, что бы получить запрос с подписью.  | 
|||
| 
    9
    
        slnes    
     24.03.23 
            ✎
    13:38 
 | 
         
        Все ссылки не подходят, нужно подписать как обычный текстовый файл, не нужно встраивать подпись в структуру XML, как это например делает КриптоАРМ, там можно убрать галочку ЭЦП в отдельный файл.
 
        Возможно помогло бы вот это из БСП ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Форма, ОбработкаРезультата, ТипПодписи) (https://its.1c.ru/db/bsp318doc#content:2154:hdoc), но непонятно как оно работает, мне файл с подписью получить не удалось, и работает ли в синхронном режиме (мне для встраивания в существующий код нужен именно синхронный), при выполнении просто выскакивает окно с сертификатом, после нажатия ок непонятно, что происходит.  | 
|||
| 
    10
    
        Garykom    
     24.03.23 
            ✎
    13:41 
 | 
         
        наймите уже программиста     
         | 
|||
| 
    11
    
        Garykom    
     24.03.23 
            ✎
    13:42 
 | 
         
        6.  laperuz 45 24.08.22 11:48
 
        (5) Тогда примерно так: ОбработкаРезультата = Новый ОписаниеОповещения("ПослеПодписанияДанных", ЭтаФорма); СтруктураПодписи = Новый Структура("Конверт,ПараметрыXMLDSig"); ПараметрыКонверта = ЭлектроннаяПодписьКлиент.ПараметрыКонвертаXML(); ПараметрыКонверта.СообщениеXML = "<test></test>"; СтруктураПодписи.Конверт = ЭлектроннаяПодписьКлиент.КонвертXML(ПараметрыКонверта); СтруктураПодписи.ПараметрыXMLDSig = ЭлектроннаяПодписьКлиент.ПараметрыXMLDSig(); ОписаниеДанных = Новый Структура; ОписаниеДанных.Вставить("Операция", "ПодписаниеДанных"); ОписаниеДанных.Вставить("ЗаголовокДанных", "Подписание хмл файла - " ); ОписаниеДанных.Вставить("Данные", СтруктураПодписи); ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Неопределено, ОбработкаРезультата); Скрыть В ПараметрыКонверта.СообщениеXML передаете свой XML. Конверт, содержащий дайджест и подпись, будет в Результат.СвойстваПодписи.Подпись  | 
|||
| 
    12
    
        slnes    
     27.03.23 
            ✎
    11:10 
 | 
         
        (11) ошибку выдает
 
        Поле объекта не обнаружено (КонвертSOAP) {ОбщийМодуль.ЭлектроннаяПодписьСлужебныйКлиент.Модуль(4798)}: Результат.Данные.Вставить("КонвертXML", Результат.Данные.КонвертSOAP); {ОбщийМодуль.ЭлектроннаяПодписьСлужебныйКлиент.Модуль(4783)}: ПолучитьДанныеИзОписанияДанныхПродолжение(Новый Структура("Данные", ИсточникДанных), Контекст); {ОбщийМодуль.ЭлектроннаяПодписьСлужебныйКлиент.Модуль(4095)}: ПолучитьДанныеИзОписанияДанных(Новый ОписаниеОповещения(  | 
|||
| 
    13
    
        Garykom    
     27.03.23 
            ✎
    14:43 
 | 
         
        (12) наймите программиста     
         | 
|||
| 
    14
    
        slnes    
     28.03.23 
            ✎
    05:38 
 | 
         
        (13) пытались, как и на форуме никто не справился. Garykom бот? Все ответы не имеют смысла.     
         | 
|||
| 
    15
    
        DES    
     28.03.23 
            ✎
    07:44 
 | 
         
        (14) +     
         | 
|||
| 
    16
    
        АгентБезопасной Нацио    
     28.03.23 
            ✎
    08:23 
 | 
         
        хм. Увидел тут знакомые буквы...
 
        чтоб не открывать новую тему - кто-нибудь скажет, конверт SOAP (Всё это "<soap:Envelope xmlns:....") можно как-то получить фабрикой? а то во вполне типовой конфиге это сделано чисто строковым шаблоном: // Заранее подготовленный тестовый запрос (получение несуществующей квитанции с неверной подписью. Главное - получить // номер версии сервера). КонвертSOAP = "<soap:Envelope xmlns:lb=""http://svc.center-inform.ru/serviceLabel/rev111111"" | xmlns:wsse=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"" | xmlns:sudt=""http://sudt.eek.ru/rev111111"" и т.д.  | 
|||
| 
    17
    
        АгентБезопасной Нацио    
     28.03.23 
            ✎
    08:26 
 | 
         
        (0) подпись обычно вкладывается в конверт вместе с подписанными данными. для XML понятие "в начало" практически не имеет смысла.     
         | 
|||
| 
    18
    
        slnes    
     28.03.23 
            ✎
    08:42 
 | 
         
        (17) не нужно встраивать подпись в структуру XML, мне нужно подписать как обычный текстовый файл, как это например делает КриптоАРМ, там можно убрать галочку "ЭЦП в отдельный файл".     
         | 
|||
| 
    19
    
        АгентБезопасной Нацио    
     28.03.23 
            ✎
    08:53 
 | 
         
        (18) ну вы ж пишете "Помогите присоединить подпись к запрос.xml"     
         | 
|||
| 
    20
    
        slnes    
     28.03.23 
            ✎
    11:45 
 | 
         
        (19) у меня таким образом именно xml файл подписывается, после снятия подписи становится обычным xml без кракозяблей.     
         | 
|||
| 
    21
    
        Garykom    
     28.03.23 
            ✎
    12:31 
 | 
||||
| 
    22
    
        arsik    
     28.03.23 
            ✎
    13:04 
 | 
||||
| 
    23
    
        Garykom    
     28.03.23 
            ✎
    13:30 
 | 
         
        (22) см (3)     
         | 
|||
| 
    24
    
        АгентБезопасной Нацио    
     28.03.23 
            ✎
    14:50 
 | 
         
        (21) это я видел. Но я ж специально сказал - фабрикой, а не "ручной сборкой". Так и я могу...
 
        КонвертXML = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ns=""urn://...  | 
|||
| 
    25
    
        Garykom    
     28.03.23 
            ✎
    15:38 
 | 
||||
| 
    26
    
        АгентБезопасной Нацио    
     28.03.23 
            ✎
    16:36 
 | 
         
        (25) слушай, ну ты точно бот...
 
        столько ответов, и ни одного по теме... Даже ТелепатБот, и тот был адекватнее...  | 
|||
| 
    27
    
        Garykom    
     28.03.23 
            ✎
    17:07 
 | 
         
        (26) я не понимаю что ты хочешь
 
        ты примером кода объясни как тебе надо  | 
|||
| 
    28
    
        Garykom    
     28.03.23 
            ✎
    17:13 
 | 
         
        (26) Не уподобляйся ТС которому даже готовый код дали и он не может запустить     
         | 
|||
| 
    29
    
        Garykom    
     28.03.23 
            ✎
    17:14 
 | 
         
        (12) https://i.paste.pics/9d87dfcb045121a8e8134993f41d224e.png
 
        прочитай условие и подумай??? куда ты потерял Результат.Данные.Свойство("КонвертXML") ?  | 
|||
| 
    30
    
        slnes    
     29.03.23 
            ✎
    05:48 
 | 
         
        (26) это ЗлобныйБот, сколько сообщений и результата ноль
 
        (29) результат будет после выполнения ЭлектроннаяПодписьКлиент.Подписать(ОписаниеДанных, Неопределено, ОбработкаРезультата); ошибка происходит во время выполнения, т.е. до процедуры ПослеПодписанияДанных не доходит. При подписании выходит окно с запросом пароля, хотя пароль я установил МенеджерКриптографии.ПарольДоступаКЗакрытомуКлючу = "", нажимаю ок в окне ввода пароля и ошибка  | 
|||
| 
    31
    
        DES    
     29.03.23 
            ✎
    06:30 
 | 
         
        (30) пароль "" - равен отсутствию пароля     
         | 
|||
| 
    32
    
        slnes    
     29.03.23 
            ✎
    06:40 
 | 
         
        (31) именно, пароль пустой     
         | 
|||
| 
    33
    
        Garykom    
     29.03.23 
            ✎
    11:58 
 | 
         
        (30) Наймите уже программиста     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |