| ||||
| ||||
Добрый день! В Wincryptex.h описан формат открытого ключа. В конце - описание: BYTE bPublicKey[1/*псевдомассив*/]; /*!< Содержит открытый ключ в сетевом представлении (ASN1 DER) Под этот открытый ключ отводится 64 байта (провайдер Crypto-Pro GOST R 34.10-2001), то есть на ASN1 заголовок места не хватает. Как, в таком случае, представлен открытый ключ? Как можно его получить в чистом виде? И еще вопрос: при импорте открытого ключа (если тело ключа было изменено после экспорта) выдается ошибка NTE_BAD_DATA. Открытый ключ (bPublicKey) как-то проверяется? | ||||
Ответы: | ||||
| ||||
> Добрый день! В Wincryptex.h описан формат открытого ключа. В конце > описание: BYTE bPublicKey[1/*псевдомассив*/]; > /*!< Содержит открытый ключ в сетевом представлении (ASN1 DER) > Под этот открытый ключ отводится 64 байта > (провайдер Crypto-Pro GOST R 34.10-2001), то есть на ASN1 заголовок > места не хватает. Как, в таком случае, представлен открытый ключ? Это опечатка. Лучше читать документацию, CSP_3_0.chm CRYPT_PUBLICKEYBLOB. > Как можно его получить в чистом виде? Декодировать. > И еще вопрос: при импорте открытого ключа (если тело ключа было изменено > после экспорта) выдается ошибка NTE_BAD_DATA. Открытый ключ > (bPublicKey) как-то проверяется? Для ключей ГОСТ Р 34.10-2001 всегда производится проверка открытого ключа стандарту и заданному набору параметров. Для ключей ГОСТ Р 34.10-94 проверка управляется параметрами CSP PP_ADMIN_CHECKPUBLIC/PP_CHECKPUBLIC или из панели управления. | ||||