Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline rocky2  
#1 Оставлено : 8 июня 2012 г. 19:41:34(UTC)
rocky2

Статус: Новичок

Группы: Участники
Зарегистрирован: 04.06.2012(UTC)
Сообщений: 4
Откуда: spb

Добрый день, незнаю в каком форуме нужно создавать такой топик, но так как среда ios попробую здесь

имеется фреймворк подключенный по инструкции к проекту в серед XCode 4.2

при попытке создать и экспортировать сессионный ключ в функции CryptExportKey возвращается ошибка.

Код:

CryptAcquireContextA(&hCryptProv,
                            sKeyContainerName,
                            0,
                            PROV_GOST_2001_DH,
                            CRYPT_NEWKEYSET );

BYTE pbKeyBlob[]={
        0x06,0x20,0x00,0x00,0x23,0x2E,0x00,0x00,0x4D,0x41,0x47,0x31,0x00,0x02,0x00,0x00,0x30,0x12,
        0x06,0x07,0x2A,0x85,0x03,0x02,0x02,0x24,0x00,0x06,0x07,0x2A,0x85,0x03,0x02,0x02,0x1E,0x01,
        0x69,0x00,0x5d,0xf7,0xcf,0xf2,0x72,0x64,0xaa,0x45,0x97,0x39,0x38,0xd9,0xd0,0x4c,
        0x66,0xf6,0x26,0x2a,0x81,0xe6,0x48,0xe0,0xcb,0xe9,0x0c,0xe9,0xe7,0xf2,0x36,0x43,
        0xee,0x33,0x41,0xef,0x77,0xd0,0x2d,0x04,0x15,0x0c,0xff,0xa7,0x18,0x1f,0x29,0xa7,
        0xf9,0x32,0x59,0xfa,0xed,0xfa,0x17,0xb3,0x29,0x19,0x31,0x45,0xaa,0xcd,0xa2,0xf8
    }; 
    
CryptImportKey(hCryptProv, 
                      pbKeyBlob,
                      sizeof(pbKeyBlob),
                      0,
                      0,
                      &hPubKey);

CryptGenKey(hCryptProv, CALG_G28147, CRYPT_EXPORTABLE, &hSessionKey);

CryptExportKey(hSessionKey,
                      hPubKey,
                      SIMPLEBLOB,
                      0,
                      NULL,
                      &dwLenght);
Offline Татьяна  
#2 Оставлено : 8 июня 2012 г. 20:01:58(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
При создании ключа не был выставлен флаг CRYPT_EXPORTABLE. Такой ключ нельзя экспортировать функцией CryptExportKey.

http://msdn.microsoft.co...p/aa379931(v=vs.85).aspx

NTE_BAD_KEY_STATE
You do not have permission to export the key. That is, when the hKey key was created, the CRYPT_EXPORTABLE flag was not specified.
Татьяна
ООО Крипто-Про
Offline rocky2  
#3 Оставлено : 8 июня 2012 г. 20:29:23(UTC)
rocky2

Статус: Новичок

Группы: Участники
Зарегистрирован: 04.06.2012(UTC)
Сообщений: 4
Откуда: spb

а как его выставить если я генерю ключ такой командой : CryptGenKey(hCryptProv, CALG_G28147, CRYPT_EXPORTABLE, &hSessionKey); - и флаг после этого не выставлен ..
Offline Татьяна  
#4 Оставлено : 8 июня 2012 г. 20:37:52(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Пришлите посмотреть собираемый пример генерации и экспорта ключа на kondakova at cryptopro.ru .
Татьяна
ООО Крипто-Про
Offline Татьяна  
#5 Оставлено : 8 июня 2012 г. 21:19:27(UTC)
Татьяна

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Кстати, у нас есть пример на экспорт сессионного ключа: http://cpdn.cryptopro.ru...ngSessionKeyExample.html . На ios работает.
Татьяна
ООО Крипто-Про
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.