Задать вопрос
@kinton

Как сделать запрос на контейнер электронной подписи с 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=ООО Компания,E=test@mail.ru,СНИЛС=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
  }
}


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

Войдите, чтобы написать ответ

Похожие вопросы