Subject: Re: [GOST] Формат подписи CMS в pygost

From: Гневашев Дмитрий <[email-masked]>
Date: Wed, 6 Dec 2017 12:47:16 +0300

Спасибо. Проблему удалось решить разворачиванием хэша перед расчётом 
подписи.

digest = gost341194.new(
     data=digest_bytes,
     sbox=self.HASH_PARAMETER).digest()[::-1]
c = gost3410.GOST3410Curve(*gost3410.CURVE_PARAMS[self.SIGN_PARAMETER])
sign = gost3410.sign(c, private_key, digest, mode=2001)

Пытался также использовать pyderasn, там, как я понял, согласно правилам 
DER опускается значение version в запросе на сертификат, если указать 
значение "v1", т.к. это значение по умолчанию. Такой запрос вообще 
приводит к ошибке при регистрации УЦ КриптоПро. Поэтому не надо при 
описании схемы "Version" указывать, что v1 - по умолчанию.

PS. Что они имели в виду под "CMS" разбираться не пришлось.

Гневашев Дмитрий