Skip to content

Conversation

@bulch
Copy link

@bulch bulch commented Dec 25, 2024

fix:

----
Traceback (most recent call last):
  File "/test/sample_sign_verify_xml.py", line 34, in <module>
    assert(signature == signedXML.Content), "Incorrect value of SignedXML.Verify result"
                        ^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb1 in position 4808: invalid start byte

@cpsdenis
Copy link
Collaborator

Здравствуйте! Подскажите, пожалуйста, как воспроизвести указанную ошибку? Какая ОС/версия CSP/CAdES? Какая локаль используется в python?

import locale
locale.getlocale()

Если возможно, приложите полученный signedXML.Content

with open("output.txt", "w") as f:
    f.write(signedXML.Content)

Предположительно, табы (0x09) из исходной xml заменились в signedXML.Content на другой символ (0xb1), но так быть не должно.

@bulch
Copy link
Author

bulch commented Jan 29, 2025

Это все на базе докер образа: python:3.11-slim

cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@python-test-container:/# python3
Python 3.11.11 (main, Dec 24 2024, 22:24:26) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.getlocale()
('en_US', 'UTF-8')
>>> exit()
# csptestf -enum -info;
CSP (Type:80) v5.0.10013 KC1 Release Ver:5.0.13000 OS:Linux CPU:AMD64 FastCode:READY:AVX,AVX2. DISABLED:AESNI;
CryptAcquireContext succeeded.HCRYPTPROV: 1060127843
GetProvParam(...PP_ENUMALGS...) until it returns false
   Algid    Bits     Type     NameLen    AlgName
__________________________________________________
 0000661eh  256    Encrypt       14    GOST 28147-89 
 00008021h  256    Hash          18    GR 34.11-2012 256 
 00002e49h  512    Signature     18    GR 34.10-2012 256 
 0000aa46h  512    Exchange      18    DH 34.10-2012 256 
 0000aa47h  512    Exchange      18    DH 34.10-2012 256 
 0000801fh  32     Hash          18    GOST 28147-89 MAC 
 00006630h  256    Encrypt       14    GR 34.12-15 M 
 00006631h  256    Encrypt       14    GR 34.12-15 K 
 0000803ch  64     Hash          18    GR 34.13-15 M MAC 
 0000803dh  128    Hash          18    GR 34.13-15 K MAC 
 00008034h  256    Hash          20    GR34.11-12 256 HMAC 
Cycle exit when getting data. 11 items found. Level completed without problems.
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 0.000 sec
[ErrorCode: 0x00000000]

файл с signedXML.Content
output.txt

файл если ниже

signedXML.Content = ""
signedXML.Verify(signature)

signedXML-output.txt

в конце лишний символ появляется

</ds:Signature></Envelope>A

думаю чуть позже смогу выложить в доступ сами докер файлы и более подробную инструкцию, пока их надо привести в доступный вид
попробую разобраться подробнее

@bulch
Copy link
Author

bulch commented Jan 29, 2025

(0xb1),

в ошибке не всегда так

----
Traceback (most recent call last):
  File "/test/sample_sign_verify_xml.py", line 38, in <module>
    assert(signature == signedXML.Content), "Incorrect value of SignedXML.Verify result"
                        ^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position 4808: invalid continuation byte

как понимаю зависит от размера файла sample_sign_verify_xml.py
если в него что добавляю байт меняется

@cpsdenis
Copy link
Collaborator

cpsdenis commented Feb 27, 2025

Воспроизвести не удалось, но исправили ошибку в c746d5e
Можете, пожалуйста, проверить, возникает ли сейчас исходная ошибка у Вас в контейнере?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants