Статус: Новичок
Группы: Участники
Зарегистрирован: 26.11.2014(UTC) Сообщений: 5  Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
Здравствуйте, Для шифрования используется самоподписанный сертификат c алгоритмом шифрования RSA. На целевой машине установлен КриптоПРО CSP 3.6 и КриптоПРО.Net. При попытке получить закрытый ключ данного сертификата получаю следующую ошибку: Цитата:System.Security.Cryptography.CryptographicException: Набор ключей не существует at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer) at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle) at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair() at System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey() at CryptoPro.Sharpei.NetDetours.CPX509Certificate2.get_PrivateKey() at dk.nita.saml20.protocol.Saml20SignonHandler.TransferClient(IDPEndPoint idpEndpoint, Saml20AuthnRequest request, HttpContext context) at dk.nita.saml20.protocol.Saml20AbstractEndpointHandler.ProcessRequest(HttpContext context) В чем может быть проблема и как ее решить? P.S. На машине без КриптоПРО код выполняется без ошибок.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,433  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 737 раз в 634 постах
|
|
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,433  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 737 раз в 634 постах
|
А какой вызов в Saml20SignonHandler.TransferClient? |
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,433  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 737 раз в 634 постах
|
А еще лучше бы помог пример, вопроизводящий проблему и сертификат с ключом в pfx. |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 26.11.2014(UTC) Сообщений: 5  Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
На данный момент используется сконфигурированный для нашей системы демонстрационный пример из проекта по работе с SAML для .Net (http://digitaliser.dk/group/42063/resources). Код можно взять здесь: esiaФайл metadata.xml нужно положить в папку c:\metadata\idp. Можно положить и в любую другую папку, но тогда в конфиге проекта Webdemo нужно изменить секцию <IDPEndPoints metadata="C:\metadata\idp"> Ключ в архиве - пароль test1234. Отредактировано пользователем 27 ноября 2014 г. 9:54:37(UTC)
| Причина: Забыл написать про ключ.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,433  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 737 раз в 634 постах
|
|
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,433  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 737 раз в 634 постах
|
Но проблемную строку я нашел: Код:var _certificate = FederationConfig.GetConfig().SigningCertificate.GetCertificate();
var key = _certificate.PrivateKey;
У меня работает. Вопрос - как вы создавали сертификат? Или установили из pfx? Когда я импортирую pfx в Local Machine - код отрабатывает без ошибок. Отредактировано пользователем 27 ноября 2014 г. 20:04:47(UTC)
| Причина: Не указана |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 26.11.2014(UTC) Сообщений: 5  Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
- После авторизации на esia-portal1.test.gosuslugi.ru отправляет на esia.web2edu.ru/login.ashx - так и должно быть. Это зашито в метаданных ЕСИА к нашей системе.
- Создавал сертификат следующим образом: IIS Manager->Сертификаты сервера->Создать самозаверенный сертификат. Создавал на сервере где вертится esia.web2edu.ru. Попробовал поиспользовать - возникла ошибка. Экспортировал сертификат, установил его на своей машине - снова ошибка. Снес со своей машины КриптоПРО CSP и КриптоПРО.Net - все заработало. На сервере такое повторить невозможно, т.к. там используется сертификат ГОСТ.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,433  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 38 раз Поблагодарили: 737 раз в 634 постах
|
воспроизводится только если сайт в IIS хостится? какая ОС на сервере и Вашей машине? |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 26.11.2014(UTC) Сообщений: 5  Откуда: Пермь Сказал(а) «Спасибо»: 1 раз
|
Потестировал еще. Выяснил, что все хорошо только если проект хостится на IIS Express. Если проект хостится на локальном IIS, то падает с ошибкой.
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close