Статус: Новичок
Группы: Участники
Зарегистрирован: 13.06.2018(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Добрый день! Имеется веб-сервис, собранный с помощью КриптоПро .NET SDK v1.0.6397Реализация подписи: Код:public override byte[] MakeSign(byte[] data, X509Certificate2 cert, SecureString password, string hashAlg)
{
byte[] baSign = null;
try
{
CspKeyContainerInfo info = ((ICspAsymmetricAlgorithm)cert.PrivateKey).CspKeyContainerInfo;
CspParameters cp = new CspParameters();
cp.KeyContainerName = info.KeyContainerName;
cp.ProviderType = 80;
cp.Flags = CspProviderFlags.UseExistingKey | CspProviderFlags.UseMachineKeyStore | CspProviderFlags.NoPrompt;
cp.KeyPassword = password;
Gost3410_2012_256CryptoServiceProvider.UseMachineKeyStore = true;
using (Gost3410_2012_256CryptoServiceProvider csp = new Gost3410_2012_256CryptoServiceProvider(cp))
{
Gost3411_2012_256CryptoServiceProvider Hash = new Gost3411_2012_256CryptoServiceProvider();
baSign = csp.SignData(data, Hash);
}
}
catch (CryptographicException e)
{
Logger.log.loggingExceptionInformation("Ошибка подписания с помощью CryptoPro", e);
}
catch (Exception e)
{
Logger.log.loggingExceptionInformation("Общая ошибка работы с крипто провайдером CryptoPro", e);
}
return baSign;
}
Описание сервера: - MS Windows Server 2012 R2 Standard 64-bit - IIS v8.5.9600 - CryptoPro .NET Server v1.0.6397- CryptoPro CSP v4.0.9842Для тестов создавал контейнер и самоподписанный сертификат с помощью утилиты csptest.exe Код:>csptest.exe -keyset -newkeyset -machinekeyset -makecert -container gost2012
Права для пользователя IIS на сертификат выданы. При вызове подписи сообщения возникает исключение: Код:<message>
<type>
System.Security.Cryptography.CryptographicException
</type>
<description>
<![CDATA[
The specified cryptographic service provider (CSP) does not support this key algorithm.
]]>
</description>
<source>
<![CDATA[
CryptoPro.Sharpei.Base
]]>
</source>
<number>
-1
</number>
<stacktrace>
<![CDATA[
at CryptoPro.Sharpei.CPUtils.GetKeyPairHelper(CPCspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandleCP& safeProvHandle, SafeKeyHandleCP& safeKeyHandle)
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider.GetKeyPair()
at CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider..ctor(CspParameters parameters)
at CC.ProviderGost3410_2012_256.MakeSign(Byte[] data, X509Certificate2 cert, SecureString password, String hashAlg)
]]>
</stacktrace>
</message>
Аналогичный код для сертификата с алгоритмом 2001-го года работает нормально. Кто знает в чем дело? Помогите разобраться, пожалуйста. Отредактировано пользователем 13 июня 2018 г. 10:51:20(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 13.06.2018(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Автор: Максим Коллегин Переустановил КриптоПро .NET, перезагрузил. Ошибка осталась та же. Может нужны еще детали от меня?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
1 пользователь поблагодарил Максим Коллегин за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 13.06.2018(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Автор: Максим Коллегин Блин, спасибо! Заработало после генерации сертификата на вашем тестовом центре. Скажите, а планируется добавлять -makecert для 2012?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Нужно было указать тип при генерации -provtype 80 |
|
1 пользователь поблагодарил Максим Коллегин за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 13.06.2018(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Автор: Максим Коллегин Нужно было указать тип при генерации -provtype 80 Спасибо! Буду использовать. Тема закрыта
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close