Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
Добрый день! Обнаружил, что при попытке подписать строку base64, которая до кодировки в base64 содержит символ ">", происходит ошибка установки значения параметра "content".
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,673   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Здравствуйте. Автор: hotsizzle23  Добрый день! Обнаружил, что при попытке подписать строку base64, которая до кодировки в base64 содержит символ ">", происходит ошибка установки значения параметра "content". а покажите пример-код? никогда такого не воспроизводилось (подписываются, к примеру xml), если следовать документации. пример: https://www.cryptopro.ru...ge/cades_bes_sample.html Snimok ehkrana ot 2022-12-14 14-19-26.png (169kb) загружен 4 раз(а). |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,673   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
+ с кодированием строки: <!!!тест>>> >>> >> ><< Hello World</ещё что-то> получается: PCEhIdGC0LXRgdGCPj4+ID4+PiA+PiA+PDwgSGVsbG8gV29ybGQ8L9C10YnRkSDRh9GC0L4t0YLQvj4= подписывается:  Snimok ehkrana ot 2022-12-14 14-21-07.png (185kb) загружен 4 раз(а). |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
def sing_data_detached(data): pythoncom.CoInitializeEx(0) bDetached = True CADESCOM_BASE64_TO_BINARY = 1 CADESCOM_CADES_TYPE = 1 CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0 signer = win32com.client.Dispatch("CAdESCOM.CPSigner") signer.Certificate = get_signer_cert() oSigningTimeAttr = win32com.client.Dispatch("CAdESCOM.CPAttribute") oSigningTimeAttr.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME oSigningTimeAttr.Value = pywintypes.Time(datetime.datetime.now().timetuple()) signer.AuthenticatedAttributes2.Add(oSigningTimeAttr) signer.TSAAddress = "http://tax4.tensor.ru/ocsp-tensorca-2021_gost2012/ocsp.srf" signer.Options = 2 EncodingType = 0 object = win32com.client.Dispatch("CAdESCOM.CadesSignedData") object.ContentEncoding = CADESCOM_BASE64_TO_BINARY object.content = data return object.SignCades(signer, CADESCOM_CADES_TYPE, bDetached, EncodingType)
data - уже закодированная строка в base64.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
"0104612727760417215>9WTu93hBzz" вот строка, которую я предварительно закодировал в base64
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,673   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Автор: hotsizzle23  "0104612727760417215>9WTu93hBzz" вот строка, которую я предварительно закодировал в base64 это невалидная строка. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
Такой код маркировки на товаре. Если символа ">" в составе кода маркировки нет, то подписание документа, содержащего эту строку и закодированного в base64, происходит успешно. Если же этот символ содержится в коде маркировки, то происходит указанная ранее ошибка.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,673   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
Автор: hotsizzle23  Такой код маркировки на товаре. Если символа ">" в составе кода маркировки нет, то подписание документа, содержащего эту строку и закодированного в base64, происходит успешно. Если же этот символ содержится в коде маркировки, то происходит указанная ранее ошибка. А причём тут исходная строка с символом? При подписании необходимо передавать закодированную строку в base64. если требуется подписать строку: 0104612727760417215>9WTu93hBzz то в content должно быть: MDEwNDYxMjcyNzc2MDQxNzIxNT45V1R1OTNoQnp6 - строка в base64 |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,673   Сказал «Спасибо»: 572 раз Поблагодарили: 2301 раз в 1802 постах
|
или при передаче в Content значения MDEwNDYxMjcyNzc2MDQxNzIxNT45V1R1OTNoQnp6 выходит сбой? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.12.2022(UTC) Сообщений: 9
|
Исходная строка: "{"inn": "3702090427", "action_date": "2022-12-14", "action": "PACKING", "products": [{"cis": "0104612727760417215>9WTu93hBzz", "product_cost": "10000"}]}" Закодированная в base64 исходная строка: "eyJpbm4iOiAiMzcwMjA5MDQyNyIsICJhY3Rpb25fZGF0ZSI6ICIyMDIyLTEyLTE0IiwgImFjdGlvbiI6ICJQQUNLSU5HIiwgInByb2R1Y3RzIjogW3siY2lzIjogIjAxMDQ2MTI3Mjc3NjA0MTcyMTU+OVdUdTkzaEJ6eiIsICJwcm9kdWN0X2Nvc3QiOiAiMTAwMDAifV19"
При подаче закодированной в base64 строки в параметр content происходит указанная ошибка.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close