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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline timer  
#1 Оставлено : 1 октября 2008 г. 0:50:02(UTC)
timer

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

Группы: Участники
Зарегистрирован: 30.09.2008(UTC)
Сообщений: 3

Выполняю экспорт/импорт закрытого/открытого ключей.

Экспортирую закрытый ключ на пользовательском уровне
CryptAcquireContext(hProv, Container, NULL, PROV_GOST_2001_DH, 0);
CryptGetUserKey(hProv, AT_KEYEXCHANGE, &hKey);
CryptCreateHash(hProv, CALG_GR3411, 0, 0, &hHash);
CryptHashData(hHash, Password, PasswordLen, 0);
CryptDeriveKey(hProv, CALG_G28147, hHash, 0, &hExpKey);
DWORD Param = CALG_PRO_EXPORT;
CryptSetKeyParam(hExpKey, KP_ALGID, &Param, 0);
CryptExportKey(hKey, hExpKey, PRIVATEKEYBLOB, 0, NULL, &PrivateKeyBlobLen);
CryptExportKey(hKey, hExpKey, PRIVATEKEYBLOB, 0, PrivateKeyBlob, &PrivateKeyBlobLen);

Импортирую закрытый ключ на пользовательском уровне
CryptCreateHash(hProv, CALG_GR3411, 0, 0, &hHash);
CryptHashData(hHash, Password, PasswordLen, 0);
CryptDeriveKey(hProv, CALG_G28147, hHash, 0, &hImpKey);
CryptImportKey(hProv, PrivateKeyBlob, PrivateKeyBlobLen, hImpKey, 0, &hKey);

Все выполняется без ошибок.

Пытаюсь импортировать закрытый ключ на уровне ядра
const VTABLEPROVSTRUC VTABLE2001 = {3, 0, 0, PROV_GOST_2001_DH, 0, 0, 0};
memcpy(&vtable, &VTABLE2001, sizeof(VTABLE2001));
csp->AcquireContext(csp, &hProv, NULL, CRYPT_NOSERIALIZE, &vtable);
csp->CreateHash(csp, hProv, CALG_GR3411, 0, 0, &hHash);
csp->HashData(csp, hProv, hHash, Password, PasswordLen, 0);
csp->DeriveKey(csp, hProv, CALG_G28147, hHash, 0, &hImpKey);
csp->ImportKey(csp, hProv, PrivateKeyBlob, PrivateKeyBlobLen, hImpKey, 0, &hKey);
возвращает NTE_BAD_TYPE.

Как сказано в документации
"NTE_BAD_TYPE - Тип ключевого блоба не поддерживается этим криптопровайдером и, возможно, ошибочен."

При этом импорт открытого ключа
csp->ImportKey(csp, hProv, PublicKeyBlob, PublicKeyBlobLen, 0, 0, &hKey)
проходит нормально

Возможен ли импорт закрытого ключа в криптопровайдере уровня ядра?
Offline Татьяна  
#2 Оставлено : 1 октября 2008 г. 16:30:57(UTC)
Татьяна

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

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

Поблагодарили: 40 раз в 37 постах
Уточните пожалуйста какая именно версия (3.0 или 3.6) и сборка csp используются (можно привести rpm -qi для основного пакета csp).
В 3.0 такая возможность отсутствует.
Добавление этой возможности в 3.6 произошло недавно и она пока не полностью протестирована.
Если, тем не менее, Вам нужна более новая сборка CSP(в которой добавление этой возможности началось), напишите мне в приват.

Отредактировано пользователем 1 октября 2008 г. 17:19:44(UTC)  | Причина: Не указана

Татьяна
ООО Крипто-Про
Offline timer  
#3 Оставлено : 1 октября 2008 г. 20:37:53(UTC)
timer

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

Группы: Участники
Зарегистрирован: 30.09.2008(UTC)
Сообщений: 3

rpm -qi lsb-cprocsp

Name : lsb-cprocsp Relocations: (not relocatable)
Version : 3.6.4 Vendor: (none)
Release : 4 Build Date: Вск 15 Июн 2008 00:00:40
Install Date: Втр 30 Сен 2008 14:28:07 Build Host: build-fc4.cp.ru
Group : Applications/Security Source RPM: lsb-cprocsp-3.6.4-4.src.rpm
Size : 986025 License: Crypto-Pro
Signature : (none)
Packager : Dedal dedal@cryptopro.ru
URL : http://www.cryptopro.ru/
Summary : Crypto-Pro CSP library. Build 4934.
Description :
This package contains basic binaries, supplementary files and directory structure for CryptoPro CSP.
Install this package if you plan to use any of CryptoProCSP products.
Offline timer  
#4 Оставлено : 2 октября 2008 г. 22:53:31(UTC)
timer

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

Группы: Участники
Зарегистрирован: 30.09.2008(UTC)
Сообщений: 3

rpm -qi lsb-cprocsp

Name : lsb-cprocsp Relocations: (not relocatable)
Version : 3.6.4 Vendor: (none)
Release : 4 Build Date: Втр 30 Сен 2008 23:58:16
Install Date: Чтв 02 Окт 2008 17:41:15 Build Host: build-fc4.cp.ru
Group : Applications/Security Source RPM: lsb-cprocsp-3.6.4-4.src.rpm
Size : 990430 License: Crypto-Pro
Signature : (none)
Packager : Dedal dedal@cryptopro.ru
URL : http://www.cryptopro.ru/
Summary : Crypto-Pro CSP library. Build 5064.
Description :
This package contains basic binaries, supplementary files and directory structure for CryptoPro CSP.
Install this package if you plan to use any of CryptoProCSP products.

К сожалению, в новой версии ничего не изменилось.

В предыдущей версии ошибка выглядела так
cproc0x0d%ImportKeyfail!
cproc0x0d#177CPCImportKeyImportKey fail ret obj!

В новой версии ошибка выглядит так
cpro:!0x0:!:3578!CPCImportKey!ImportKey fail ret obj!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.