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

21 Авг 2019 в 07:11
250 +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 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 724 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир