Skip to main content

КриптоПро ГОСТ

Проверка подписи через КриптоПро

Предположим есть сертификат и текст, который подписывается ГОСТовским алгоритмом и затем кодируется в Urlsafe. 

Устанавливаем КриптоПро и сертификат в раздел Личное.

Скрипт для преобразования urlsafe подписи в КриптоПро - читаемую: 

# convert_signature.py
import base64

# Ваша подпись из логов
signature_urlsafe = "MIIKs...3RU8"

# 1. Преобразуем URL-safe → стандартный Base64
signature_b64 = signature_urlsafe.replace('-', '+').replace('_', '/')
# Добавляем padding
padding = 4 - len(signature_b64) % 4
if padding != 4:
    signature_b64 += '=' * padding

# 2. Декодируем Base64 → бинарный DER
signature_der = base64.b64decode(signature_b64)

# 3. Сохраняем в файл
with open('signature.der', 'wb') as f:
    f.write(signature_der)

print("Подпись сохранена в signature.der")

Саму подпись сохраняем в переменную signature_urlsafe. В результате сформируется файл signature.der 

 В файл message.txt сохранил напрямую бинарную часть сообщения, все то что внутри кавычек

изображение.png

Запускаем Инструменты КриптоПро -> Проверка подписи -> Выбрать файл с подписью...

изображение.png

Меняем тип файла на "Все файлы"

изображение.png

Открываем созданный файл signature.der

изображение.png

Нажимаем кнопку "Проверить подпись" и будет предложено указать исходный файл (который мы подписывали), так как файл signature.der это файл с открепленной подписью. Указываем message.txt

изображение.png

Подпись будет проверена

изображение.png