Как создать файл электронной подписи (.sig) используя Python? Добрый день!
Очень необходима реализация механизма подписания файла (т.е. создание файла открепленной электронной подписи .sig) средствами Python 3.
В поисках решений натыкался на материалы для старых версий Python которые нынче не поддерживаются.
Действующие сертификаты (cer, pem) имеются.
Поделитесь опытом.

21 Авг 2019 в 07:11
284 +1
0
Ответы
1

Для создания файла электронной подписи (.sig) средствами Python 3 можно воспользоваться библиотекой cryptography. Вот пример кода, который позволяет создать файл .sig:

from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.backends import default_backend
# Чтение закрытого ключа из файла PEM
with open("private_key.pem", "rb") as key_file:
private_key = serialization.load_pem_private_key(
key_file.read(),
password=None,
backend=default_backend()
)
# Чтение файла для подписи
with open("file_to_sign.txt", "rb") as file_to_sign:
data = file_to_sign.read()
# Создание подписи
signature = private_key.sign(
data,
padding.PKCS1v15(),
hashes.SHA256()
)
# Запись подписи в отдельный файл
with open("file_to_sign.sig", "wb") as sig_file:
sig_file.write(signature)

В данном примере предполагается, что у вас есть закрытый ключ private_key.pem, файл для подписи file_to_sign.txt и вы хотите создать файл подписи file_to_sign.sig.

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

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир