Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
e-Token GOST и Шарпей. Смотрите, у клиента есть токен в неё есть ключевая пара, на сервер передаётся открытый ключ, на сервере стоит КРИПТО ПРО и Шарпей, как на сервере проверить подпись клиента, т.е. как впихнуть открытый ключ Вашему криптопровайдеру. есть метод FromXMl но он не подходит, использовали ImportCSPPublicKey...(как то так), но возникает исключение ключ неподдерживается в чистом виде.... Что не так? Как совместить Крипто ПРО и eToken
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
В каком формате у Вас открытый ключ? 1. Если в виде CSP блоб, то подойдет Gost3410CryptoServiceProvider.ImportCspBlob 2. Если в виде 512 бит чистого открытого ключа, то, вообще говоря, необходимо знать еще OID хеширования и подписи. Если они установлены по умолчанию, или они известны, то можно воспользоваться функцией, Gost3410CryptoServiceProvider.ImportParameters(Gost3410Parameters).
Исключение "ключ неподдерживается в чистом виде" возникает при попытке экспорта/импорта секретного ключа в чистом виде. Скорее всего Вы где то поставили флаг, экспортировать секретный ключ (includePrivateParameters ?).
Функции ImportCSPPublicKey ни в MSDN ни в Sharpei, к сожалению, не нашел... |
С уважением, Александр. |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
Использовали функцию Gost3410CryptoServiceProvider.ImportCspBlob передавали ей ключ 64 байта открытого ключа из токена алладина, но это тоже не помогло, теперь пробуем вот так возникает исключение
byte[] t_Key = stob("a39343f874dfe8ae0e394609a48353a4b5c7edd7b215a6e083d176b161ae10a9d2b7042000d1029b91a75e5da69e5ad7987ae54f67fdbedd2f7d722f986f0e12");
Gost3410CryptoServiceProvider t_gecap = new Gost3410CryptoServiceProvider();
try { Gost3410Parameters t_prm = new Gost3410Parameters();
t_prm.PublicKey = t_Key; t_prm.PublicKeyParamSet = "1.2.643.2.2.36.0"; t_prm.DigestParamSet = "1.2.643.2.2.30.1"; t_gecap.ImportParameters(t_prm); } catch (Exception ex) { m_sb.AppendLine("ImportParameters Exception: " + ex.ToString()); }
ImportParameters Exception: System.Security.Cryptography.CryptographicException: Плохие данные.
в CryptoPro.Sharpei.COMCryptography.ImportCspBlob(Byte[] keyBlob, SafeProvHandleCP hProv, CspProviderFlags flags, SafeKeyHandleCP hImportKey, SafeKeyHandleCP& hKey) в CryptoPro.Sharpei.COMCryptography.ImportPublicKey(SafeProvHandleCP hCSP, CspProviderFlags flags, Gost3410CspObject pubKey, SafeKeyHandleCP& hKey) в CryptoPro.Sharpei.Gost3410CryptoServiceProvider.ImportParameters(Gost3410Parameters parameters)
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Ошибка в приведенном Вами открытом ключе. Проверил работоспособность на ключах Код:byte[] t_Key = stob("67534b13b6dbf31ec6523a94a69ebdad689c0b3354b4e5933f8d90f551495e8c0506a5d83e92512d10e7ae26b5acc04606875215a3861fabb5e48597b928d069");
и Код:byte[] t_Key = stob("d9f12748781d243631aa1881d025fb25cd64619ffee891b33241975d09b1b4655f2e9d33569509fa6f2157f6caff9aae109c7b20c0071645e42f028d382bb3c8");
(первый ключ случайно сгенеренный, второй забрал из сертификата, как его отображает Windows). Какими функциями Вы получали открытый ключ из etoken? Отредактировано пользователем 26 января 2010 г. 18:41:23(UTC)
| Причина: Не указана |
С уважением, Александр. |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
Из токена ключ получали пользуясь APDU командами. Если подсунуть открытый ключ токену то все нормально, а если Крипто ПРО то плохо. Если есть другой способ получения открытого ключа из токена кроме APDU, так чтобы он подошел Crypto PRO CSP, то дайте знать
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 08.05.2008(UTC) Сообщений: 41 Откуда: Крипто-Про Поблагодарили: 1 раз в 1 постах
|
Открытый ключ, который хранится в защищенной памяти eToken GOST, и который можно получить по протоколу EKE, после успешной аутентификации также по EKE в контейнере, не является открытым ключом, соответствующим закрытому ключу контейнера, а только лишь частью открытого ключа контейнера. Для работы с eToken GOST существует криптопровайдер eToken CSP ( http://www.cryptopro.ru/...ducts/etoken/default.htm ). В настоящее время он проходит тестирование. Он реализует стандартные функции экспорта, импорта ключей и ЭЦП. Может работать совместо с Шарпеем.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
А есть ли примеры EKI как обратиться?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.11.2008(UTC) Сообщений: 41
|
Не понятно, есть токен, подписывается документ, кто вообще может проверить подпись, если импорт ключа открытого сделать не возможно???
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 08.05.2008(UTC) Сообщений: 41 Откуда: Крипто-Про Поблагодарили: 1 раз в 1 постах
|
КриптоПро eToken CSP с токенами eToken GOST являются совместным продуктом Крипто Про и Алладина, и в общем случае мы не распространяем информацию о протоколах взаимодействия частей продукта, к которым относится и EKE. Впрочем, вы можете обратиться к нашему руководству или к руководству Алладина, если есть необходимость реализовывать связь с eToken GOST без участия криптопровайдера eToken CSP.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 08.05.2008(UTC) Сообщений: 41 Откуда: Крипто-Про Поблагодарили: 1 раз в 1 постах
|
Скажите, а вы подписываете документ как? Если тоже APDU-командами обращаясь к носителю, то это тоже чревато выработкой неправильной подписи, без знания протокола. Подпись с помощью ключа, сохраненного на носителе eToken GOST, корректно вырабатывает тот же eToken CSP. Проверить подпись может любой пользователь, имеющий сертификат открытого ключа с сохраненным значением открытого ключа. Сертификат может лежать на носителе, может - в хранилище сертификатов, его можно копировать. Он, в общем случае, не связан с носителем закрытого ключа.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close