Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
Доюрый день, Возникла проблема следующая проблема при проверки подписи. На сервере получаю сертификат по его FriendlyName и хочу проверить подписанный хэш. Цитата:Gost3410CryptoServiceProvider Gost;
X509Store store = new X509Store(StoreLocation.CurrentUser); store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly); foreach (var cert in store.Certificates) { if(cert.FriendlyName == certFriendlyName) { Gost = (Gost3410CryptoServiceProvider) cert.PublicKey.Key; break; } }
Возникает Exception в строчке Gost = (Gost3410CryptoServiceProvider) cert.PublicKey.Key; Цитата: [A]CryptoPro.Sharpei.Gost3410CryptoServiceProvider cannot be cast to [B]CryptoPro.Sharpei.Gost3410CryptoServiceProvider. Type A originates from 'CryptoPro.Sharpei.Base, Version=1.4.0.10, Culture=neutral, PublicKeyToken=473b8c5086e795f5' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\CryptoPro.Sharpei.Base\v4.0_1.4.0.10__473b8c5086e795f5\CryptoPro.Sharpei.Base.dll'. Type B originates from 'CryptoPro.Sharpei.Base, Version=1.0.0.10, Culture=neutral, PublicKeyToken=473b8c5086e795f5' in the context 'Default' at location 'C:\Windows\assembly\GAC_MSIL\CryptoPro.Sharpei.Base\1.0.0.10__473b8c5086e795f5\CryptoPro.Sharpei.Base.dll'.
Что происходит и как исправить, подскажите пож-ста!
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.06.2012(UTC) Сообщений: 4 Откуда: spb
|
таже проблема, при смене версие фреймворка с 4 ниже работает, ссылку(http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=3442. ) не могу открыть, перепостите пожалуйста что сделать чтобы исправить ситуацию ?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Поправил ссылку. Повторюсь - часто проблемы бывают, что .NET SDK не соответствует установленной версии .NET. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.06.2012(UTC) Сообщений: 4 Откуда: spb
|
maxdm - спасибо, но суть не понял что делать, что отличаются версии понятно, как это исправить ? обе версии netsdk-x64-eng.msi (1.0.4527.0) и net-x64-eng.msi (1.0.4527.0) скачаны с вашего источника. при указание версии фреймворка ниже 4 в проекте используется объект соотвествуещей версии, при 4.0 фреймворке данное приведение типа возвращает нулл. Код:
X509Certificate2 cert = new X509Certificate2("...", "ххх");
AsymmetricAlgorithm pk = cert.PublicKey.Key;
Gost3410 alg = pk as Gost3410;
if (alg == null)
throw new CryptographicException("Not a gost certificate");
Подскажите где скачать net-x64-eng.msi нужной версии ? или что настроить ? Код:
Содержимое папки C:\Windows\assembly\GAC_MSIL\CryptoPro.Sharpei.Base
05.06.2012 10:19 <DIR> .
05.06.2012 10:19 <DIR> ..
04.06.2012 18:12 <DIR> 1.0.0.10__473b8c5086e795f5
05.06.2012 10:20 0 1.txt
1 файлов 0 байт
3 папок 320 982 667 264 байт свободно
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close