Запрос на контейнер электронной подписи с keyUsage digitalSignature с помощью cryptcp

Использую cryptcp для генерации контейнера электронной подписи. У сертификата есть описание keyUsage. По умолчанию cryptcp добавляет туда keyEncryption и dataEncryption (Шифрование ключей, Шифрование данных).

Но мне необходимо добавить ещё digitalSignature и nonRepudation (Цифровая подпись, Неотрекаемость).

Для генерации используем команду:

cryptcp.x64.exe -creatrqst -provtype 80  -provname "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ex -dn "CN=Иванов Иван,C=RU,O=ООО Компания,[email protected],СНИЛС=11223344556,ИНН=123456789012,ОГРН=1234567890123" -hashAlg 1.2.643.7.1.1.2.2 -certusage "1.3.6.1.5.5.7.3.2" -both req-ru-12.req

Для того чтобы добавить keyUsage, на форуме предлагается добавить расширение, флаг -ext, и передать туда файл asn1 в base64. Но на данный момент не могу сформировать такой файл.

Пробовал формировать такой файл:

asn1=SEQUENCE:exts

[exts]
keyUsage=SEQUENCE:usage

[usage]
digitalSignature=BOOL:TRUE

А затем openssl asn1parse -genconf exts.in -out exts.out и cryptcp.x64.exe ... -ext exts.out, но получаю ошибку Ошибка: Встречено неверное значение тега ASN1. [ErrorCode: 0x8009310b]

Кроме того, пробовал вытянуть блок с помощью dumpasn1 и кодировать в base64, но также безрезультатно:

SEQUENCE {
  OID_EXTENSION_KEY_USAGE,
  BOOLEAN TRUE,
  OCTET STRING, encapsulates {
    BIT STRING 1 unused bit
      '1100'B
  }
}

Сталкивался ли кто-то с подобным? Получалось ли решить? Как добавляли нужное назначение подписи? Благодарю за внимание к вопросу!


Ответы (0 шт):