Версии пакетов: python3-module-openssl-23.2.0-alt1 python3-module-cryptography-41.0.7-alt1 Стенды с ошибкой (обновлены до Sisyphus): Alt Workstation K 10.2.1 x86-64 Alt Education KDE/XFCE 10.2 x86-64 Alt Workstation 10.1 x86-64 Alt Server 10.1 x86-64 Шаги воспроизведения: 1) Сгенерировать пару ключей: $ openssl genrsa -out private_key.pem 2048 $ openssl rsa -in private_key.pem -pubout -out public_key.pem 2) Собрать скрипт: $ cat > test.py << EOF from OpenSSL.crypto import load_privatekey, FILETYPE_PEM with open('private_key.pem') as f: private_key = load_privatekey(FILETYPE_PEM, f.read()) from OpenSSL.crypto import sign message = b'This is a message to be signed' signature = sign(private_key, message, 'sha256') with open('signature.bin', 'wb') as f: f.write(signature) from OpenSSL.crypto import load_publickey with open('public_key.pem') as f: public_key = load_publickey(FILETYPE_PEM, f.read()) with open('signature.bin', 'rb') as f: signature = f.read() from OpenSSL.crypto import verify verified = verify(public_key, signature, message, 'sha256') if verified: print('Signature is valid') else: print('Signature is not valid') EOF 3) Выполнить: python3 test.py Результат: Traceback (most recent call last): File "/home/test/test2/test.py", line 24, in <module> verified = verify(public_key, signature, message, 'sha256') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/site-packages/OpenSSL/crypto.py", line 3158, in verify pkey = _lib.X509_get_pubkey(cert._x509) ^^^^^^^^^^ AttributeError: 'PKey' object has no attribute '_x509' Ожидаемый результат: Успешная проверка подписи. Вывод: Signature is valid ================================================================================ Проверялось в p10 - ошибка воспроизводится Ошибка так же воспроизводится при использовании python-module-OpenSSL и python-module-cryptography в python2
Ссылка на код: https://pythonhint.com/post/1239035426773414/how-to-implement-openssl-functionality-in-python