Параметры механизма выработки общего ключа ГОСТ 2012
Добрый день, при реализации алгоритма выработки общего ключа через PKCS#11 у меня возник вопрос про задание параметров механизма:
В случае алгоритма ГОСТ-2001 они задаются с помощью структуры CK_GOSTR3410_DERIVE_PARAMS
А в случае ГОСТ 2012 формируются конкатенацией данных, без использования структуры
Пример из SDK:
ГОСТ 2001
...
CK_GOSTR3410_DERIVE_PARAMS deriveParameters;
deriveParameters.kdf = CKD_CPDIVERSIFY_KDF;
deriveParameters.pPublicData = publicKeyValue;
deriveParameters.ulPublicDataLen = sizeof(publicKeyValue);
deriveParameters.pUKM = ukm;
deriveParameters.ulUKMLen = ukmSize;
ГОСТ 2012
...
CK_BYTE deriveParameters2012[DERIVE_PARAMS_512_LENGTH] = { 0x00, };
ulongToBuffer(deriveParameters2012, CKM_KDF_GOSTR3411_2012_256);
ulongToBuffer(deriveParameters2012 + keyLengthOffset, sizeof(publicKeyValue));
memcpy(deriveParameters2012 + publicKeyValueOffset, publicKeyValue, sizeof(publicKeyValue));
ulongToBuffer(deriveParameters2012 + ukmLengthOffset, ukmSize);
memcpy(deriveParameters2012 + ukmDataOffset, ukm, ukmSize);
gostR3410_12DerivationMech.pParameter = deriveParameters2012;
gostR3410_12DerivationMech.ulParameterLen = sizeof(deriveParameters2012);
на странице
https://dev.rutoken.ru/pages/viewpage.a … d=13795364
также не нашёл реализации выработки общего ключа по ГОСТ 2012
Вопрос - объявлена ли где-то структура для "красивого" задания данных параметров?