Статус: Новичок
Группы: Участники
Зарегистрирован: 12.01.2017(UTC) Сообщений: 6 Откуда: Россия
|
Здравствуйте! Кто-нибудь нашел решение проблемы с невозможностью установки прав IIS'у? Версия КриптоПро 3.6.7777. Версия ядра СКЗИ 3.6.5365 КС1. Отредактировано пользователем 12 января 2017 г. 16:09:31(UTC)
| Причина: Добавил версии
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.05.2017(UTC) Сообщений: 1 Откуда: Москва
|
Всем привет! Нашел решение проблемы.
Искал очень долго, поэтому рассказываю по порядку.
1. Устанавливаем последние версии КриптоПро CSP и КриптоПро .Net.
2. Пул приложений, с которым работает WCF-сервис, должен иметь удостоверение "LocalSystem". Для этого заходим в IIS -> Пулы приложений -> Выбираем свой пул -> Кликаем справа "Дополнительный параметры". Находим переменную "Удостоверение и меняем на "LocalSystem".
3. С помощью сайта (https://www.cryptopro.ru/certsrv/certrqma.asp) генерируем два сертификата. Один для клиента, другой - для сервиса (менять поле "Тип требуемого сертификата"). Ставим галку "Заданное пользователем имя контейнера ключа" и вписываем понятные нам названия для контейнера. Один во время генерации сертификата клиента, второй раз - сертификата сервера. Названия должны отличаться. Помечаем ключ экспортируемым в обоих случаях. Галку "Использовать локальное хранилище компьютера для сертификата" ставим только когда генерим серверный сертификат. После установки сертификаты должны появиться в оснастке mmc.
Также должен быть установлен корневой сертификат криптоПро. Его предложит установить этот же сайт, если у вас он не установлен.
4. Привязываем закрытый ключ серверного сертификата к своему пулу. (на данный момент я открыл доступ к ключу "Всем", т.к. пока тестирую). Делается это через mmc. Более подробно можно найти в интернете
5. Самая частая ошибка, которая возникала, это что сервер не видел контейнеры. Решил эту проблему так: в приложении CSP удалил все запомненные пароли через вкладку Сервис. Через вкладку Оборудование потер все кроме Реестра "Оборудование -> Считыватели".
6. Также в коде следует добавить строку:
// Открываем ключ получателя. CspParameters par = new CspParameters(75, null, recipientContainer); if (isMachine) { par.Flags = CspProviderFlags.UseMachineKeyStore; }
Данные шаги мне помогли. Будут вопросы - пишите.
Denis D, АО "CrossTech"
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close