Имя: Пароль:
1C
1C 7.7
v7: Запрос на создание документа с помощью API ИС МП
0 brenli
 
22.02.20
19:25
Всем привет.
Дошел до создания документов средствами api и уперся в эту конструкцию.


{
"product_document":"<Документ в base64>",
"document_format": "<Формат документа>",
"signature":"<Открепленная подпись в base64>"
}

Что такое открепленная подпись и где ее взять? Почитал по этой теме это файл вероятно типа *.sig.
Но этого не легче.
Из свойств сертификата можно получить эту подпись? Или это открытый ключ?
1 NorthWind
 
22.02.20
20:30
(0) вроде была ваша ветка как подписывать доки, я вам отвечал. Подписываете док, получаете файл с подписью. По-моему, это оно. Открепленная, по-моему, означает что сам исходный файл не вкладывается в файл подписи, для этого настройка есть.
2 brenli
 
22.02.20
20:35
(1)
> Подписываете док, получаете файл с подписью.
Его содержимое закидываем в product_document так?
И дополнительно нужно эту открепленую УКЭП отправить.
3 brenli
 
22.02.20
20:36
Только вопрос как и где програмно ее получить?
4 NorthWind
 
22.02.20
20:47
(2) ну видимо кто док передает, тот и подписывает?
5 NorthWind
 
22.02.20
21:09
(2) как я понял, не совсем так. В первый атрибут сам док в base64. Без подписи, чисто сам док. А в третий подпись, тоже в base64.
6 brenli
 
22.02.20
21:13
(5) Я не понимаю где ее взять?  Это открытый ключ?
7 NorthWind
 
22.02.20
21:17
(6) ну у вас же должна быть какая-то подпись которую регистрировали для всей этой маркировки? Тут я не силен, потому что пока это ещё мимо меня проходит. Но я знаю что подпись там есть.
8 Garykom
 
гуру
22.02.20
21:23
(6) Изучи как работает криптография и дефолтный КриптоПро с его апи и утилитами консольными и с гуи
9 Garykom
 
гуру
22.02.20
21:24
(8)+ Имхо не понимая этого хрен что напишешь нормально, да можно не понимая накопипастить кучу говна с капикомом и прочими но это блин.
10 Garykom
 
гуру
22.02.20
21:24
(9) CAPICOM & CAdESCOM
11 brenli
 
22.02.20
23:04
(7) подпись есть я успешно получаю токен и делаю запросы к серверу из 1с
12 NorthWind
 
22.02.20
23:10
(11) ну так может и доки ей подписывать? Это я так чисто умозрительно.
13 Garykom
 
гуру
22.02.20
23:46
(12) +

(11) А теперь еще раз перечитайте (9) и подумайте. Потом еще подумайте. Если не дошло то чтобы получить токен как раз и надо сделать (0) по сути.
Только вместо кода авторизации от сервера присланного, который надо подписать и отправить назад сделать тоже самое но для своего документа самостоятельно созданного.
14 brenli
 
23.02.20
00:04
(13) (12)

Я это понимаю. Механизм работы ЭЦП тоже понимаю.
Вот пример запроса на получение токена.

{
"uuid":"<GUID>",
"data":"<Подписанные данные в base64 (ЭП присоединенная)>"
}

Данные подписываются с помощью открытого ключа и отправляемые данные содержат открытый ключ и сами данные, в сабже этот ключ (сигнатуру), нужно передать отдельно.
15 Garykom
 
гуру
23.02.20
00:30
(14)
1.Данные всегда подписываются с помощью закрытого ключа.
2.Содержать открытый ключ они не обязаны
3.Не надо отдельно там скосячили в описании
16 Garykom
 
гуру
23.02.20
00:31
(15)+
4.Есть тонкая фишка что подписать надо точно то правильно подготовленное (убрать левые символы) сообщение, которое и перевел в base64 и отправляешь вместе с подписью.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс