КриптоПро CSP  

_CRYPT_OPAQUEBLOB

Псевдоструктура (т. е. недоопределенная структура) CRYPT_OPAQUEBLOB полностью описывает ключевой блоб типа OPAQUEKEYLOB для ключей "КриптоПро CSP".

typedef struct _CRYPT_OPAQUEBLOB {
CRYPT_SIMPLEBLOB_HEADER tSimpleBlobHeader;
BYTE bSV[SEANCE_VECTOR_LEN];
BYTE bEncryptedKey[G28147_KEYLEN];
BYTE bMacKey[EXPORT_IMIT_SIZE];
BYTE bEncryptedInitKey[G28147_KEYLEN];
BYTE bMacInitKey[EXPORT_IMIT_SIZE];
BYTE bCurrentIV[SEANCE_VECTOR_LEN];
BYTE bChainBlock[8];
BYTE bAccCiphertextLen[sizeof(DWORD)];
BYTE bCipherMode[sizeof(DWORD)];
BYTE bMixMode[sizeof(DWORD)];
BYTE bFlags[4];
BYTE bPaddingMode[sizeof(DWORD)];
BYTE bAlgId[sizeof(ALG_ID)];
BYTE bCommonFlags[4];
BYTE bCheckSum[sizeof(DWORD)];
BYTE bEncryptionParamSet[1]; } CRYPT_OPAQUEBLOB, *PCRYPT_OPAQUEBLOB;

Члены

tSimpleBlobHeader
Общий заголовок ключевого блоба типа SIMPLEBLOB "КриптоПро CSP".
bSV
Вектор инициализации для алгоритма CALG_PRO_EXPORT. См. SEANCE_VECTOR_LEN .
bEncryptedKey
Зашифрованный ключ ГОСТ 28147-89. См. G28147_KEYLEN .
bMacKey
Имитовставка по ГОСТ 28147-89 на ключ. Рассчитывается до зашифрования и проверяется после расшифрования. См. EXPORT_IMIT_SIZE .
bEncryptedInitKey
Зашифрованный ключ ГОСТ 28147-89. См. G28147_KEYLEN .
bMacInitKey
Имитовставка по ГОСТ 28147-89 на ключ. Рассчитывается до зашифрования и проверяется после расшифрования. См. EXPORT_IMIT_SIZE .
bCurrentIV
Вектор инициализации шифратора. См. SEANCE_VECTOR_LEN .
bChainBlock
Блок зацепления. Использование блока зависит от режима шифрования.
bAccCiphertextLen
Накопленная длина шифрованного текста.
bCipherMode
bMixMode
bFlags
bPaddingMode
bAlgId
bCommonFlags
bCheckSum
bEncryptionParamSet
Содержит ASN1 структуру в DER кодировке, определяющую параметры алгоритма шифрования ГОСТ 28147-89:
	    
      encryptionParamSet
          OBJECT IDENTIFIER (
              id-Gost28147-89-TestParamSet |      -- Only for tests use
              id-Gost28147-89-CryptoPro-A-ParamSet |
              id-Gost28147-89-CryptoPro-B-ParamSet |
              id-Gost28147-89-CryptoPro-C-ParamSet |
              id-Gost28147-89-CryptoPro-D-ParamSet |
              id-Gost28147-89-CryptoPro-Simple-A-ParamSet |
              id-Gost28147-89-CryptoPro-Simple-B-ParamSet |
              id-Gost28147-89-CryptoPro-Simple-C-ParamSet |
              id-Gost28147-89-CryptoPro-Simple-D-ParamSet
	

Требования:

AIX: 5/6/7 или выше.
FreeBSD: 7/8/9 или выше.
Linux: LSB 3.1 (RHEL 4, SuSE 10) или выше.
Solaris: 10 или выше.
Mac OSX: 10.7/8 или выше.
iOS: 6/7 или выше.
Windows 2000/XP/2003/Vista/2008/7: Необходимо Windows 2000 SP4 или старше с Internet Explorer 6.0 или старше.
Файл описания: Прототип описан в файле WinCryptEx.h.

См. также

CRYPT_SIMPLEBLOB_HEADER ,CPExportKey ,CPImportKey