Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2012(UTC) Сообщений: 4
|
Возникла проблема - на работающем приложении ASP.net, которое успешно работало с ЭЦП через Криптопро.net, начала выдаваться ошибка "Алгоритм ключа сертификата не поддерживается." на строчке SecureKey = Certificate.PrivateKey; Начали разбираться - ну почему же раньше работало, а сейчас - перестало? Оказалось, виновно обновление Windows: KB2719033 и KB2729452 Откатили, всё заработало. Обращаюсь к другим участникам форума - у кого-нибудь ещё возникло подобная проблема? Если не возникла - поделитесь информацией, как вы работаете под IIS c КриптоПро.NET? Отредактировано пользователем 19 ноября 2012 г. 14:45:15(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2012(UTC) Сообщений: 4
|
Вот например, мы работаем самым простым способом: 1. необходимо для запоминания пароля "включить кэширование"(КриптоПро CSP - Безопасность). Протестировать контейнер, и "запомнить пароль" для него. 2. под IIS 7.5 в Advanced Settings переводим Application Pool, где расположено наше приложение (обычно это DefaultAppPool) на Identity = LocalSystem, там же убеждаемся что Load User Profile=true после чего ключ нормально видится и приложение работает. Сама работа с ключом выполняется так: Код:
CspParameters cp = new CspParameters();
cp.KeyContainerName = containerName;
cp.ProviderType = 75;
cp.Flags = CspProviderFlags.NoPrompt;
if (!string.IsNullOrEmpty(psw))
{
SecureString sec_psw = new SecureString();
foreach (char ch in psw)
{
sec_psw.AppendChar(ch);
}
cp.KeyPassword = sec_psw;
}
Gost3410CryptoServiceProvider.UseMachineKeyStore = true;
try
{
Gost3410CryptoServiceProvider gost = new Gost3410CryptoServiceProvider(cp);
// Запоминаем сертификат подписчика
X509Certificate2 Certificate = gost.ContainerCertificate;
// Открываем ключ подписи.
AsymmetricAlgorithm _SecureKey = Certificate.PrivateKey;
....
Отредактировано пользователем 19 ноября 2012 г. 13:33:46(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140  Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
Добрый день, Обновление затрагивает только IIS, на Крипто-Про .NET не должно влиять. Попробуйте установить последнюю версию Крипто-Про .NET 1.0.4702.0 (с установленными обновлениями Windows) Если ошибка сохранится - пришлите osinfo.xml. Если вы работеете под apppool identity, то необходимо дать права этой учетке на доступ к контейнеру с закрытым ключом.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2012(UTC) Сообщений: 4
|
khomenko написал: Обновление затрагивает только IIS, на Крипто-Про .NET не должно влиять.
Абсолютно верно. Эти обновления что-то изменяют в IIS, после чего приложение, работающее под ним, теряет доступ к ключу. khomenko написал:Попробуйте установить последнюю версию Крипто-Про .NET 1.0.4702.0 (с установленными обновлениями Windows) На одном из компьютеров, где вылезла ошибка - была проверена эта гипотеза, переставили КриптоПро.NET Вообще ошибка происходит на любых версиях КриптоПро.NET, мы проверили на разных серверах и разных версиях - я посмотрел на нескольких пользователях. khomenko написал: Если ошибка сохранится - пришлите osinfo.xml. Если вы работеете под apppool identity, то необходимо дать права этой учетке на доступ к контейнеру с закрытым ключом.
Ок, давайте попробуем разобраться. Я установил этот Windows Update, доступа к ключу сейчас нет. Права выдал. Файл прикладываю. Вложение(я):  osinfo.rar (19kb) загружен 5 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 150  Поблагодарили: 33 раз в 32 постах
|
А ошибка возникает только в приложении на ASP.NET? Если, например, какой-нибудь пример из sdk запустить, ошибка также проявится? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.11.2012(UTC) Сообщений: 4
|
Yoda написал:А ошибка возникает только в приложении на ASP.NET? Если, например, какой-нибудь пример из sdk запустить, ошибка также проявится? Нет. Только при работе из-под IIS.
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140  Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
судя по osinfo ошибок у установке нет, но стоит не последняя версия.
На версии Крипто-Про .NET 4702 + установленных обновлениях: - Если пул работает под appPool identity, то -- возникает ошибка "Алгоритм ключа сертификата не поддерживается". -- в журнале при этом появляются ошибки от CPNetDetours** -- права на ключ давали через оснастку сертификатов или напрямую через реестр (или ключ на токене?) - Если пул работает под LocalSystem - ошибок нет ?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close