Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline ArtfulAngel  
#1 Оставлено : 30 декабря 2015 г. 7:31:01(UTC)
ArtfulAngel

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2014(UTC)
Сообщений: 12
Мужчина
Российская Федерация

Здравствуйте.
Информационная система интегрируется с ЕСИА по средствам OAuth2. Необходимо в запросе отправить подпись от определённых параметров
Для реализации подписи сначала пробовал КриптоПро CSP, с ним все работает.
Вопрос возник в том, как можно использовать КриптоПро JCP в c#? Какую библиотеку необходимо подключить в проект?
Offline Павел Смирнов  
#2 Оставлено : 30 декабря 2015 г. 22:06:10(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Зачем JCP В C#? Используйте тот же КриптоПро CSP через КриптоПро .NET.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline ArtfulAngel  
#3 Оставлено : 31 декабря 2015 г. 4:40:06(UTC)
ArtfulAngel

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2014(UTC)
Сообщений: 12
Мужчина
Российская Федерация

А как asp.net c# восприм контейнер установленный на сервере в криптопро? На локальной машине через криптопро csp я по номеру сертификата выбираю и подписываю строку.и методом get отправляются даные на esia. Для автортзации, Все проходит.
Offline Андрей Писарев  
#4 Оставлено : 31 декабря 2015 г. 7:53:10(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,476
Мужчина
Российская Федерация

Сказал «Спасибо»: 553 раз
Поблагодарили: 2243 раз в 1749 постах
Автор: ArtfulAngel Перейти к цитате
А как asp.net c# восприм контейнер установленный на сервере в криптопро? На локальной машине через криптопро csp я по номеру сертификата выбираю и подписываю строку.и методом get отправляются даные на esia. Для автортзации, Все проходит.


Никаких проблем нет.
Примеры в SDK.
Техническую поддержку оказываем тут
Наша база знаний
Offline ArtfulAngel  
#5 Оставлено : 4 января 2016 г. 7:31:21(UTC)
ArtfulAngel

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2014(UTC)
Сообщений: 12
Мужчина
Российская Федерация

помогите разобраться тогда.
1) на Windows server 2003 установил Крипто Про CSP, установил сертификат с контейнером в локальное хранилище компьютера в реестр. при запуске сайта написанного на ASP.NET для авторизации с ЕСИА по серийному номеру должен найтись сертификат и контейнер подписи, при попытке подписать выдает ошибку "Набор ключей не существует". В то время как на локальной машине все проходит идеально.
2) для подписи параметров для ЕСИА использую вот такой код:
Код:
ContentInfo contentInfo = new ContentInfo(new System.Text.UTF8Encoding().GetBytes(data)); 
SignedCms signedCms = new SignedCms(contentInfo, true);
CmsSigner cmsSigner = new CmsSigner(cert1);
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime());
signedCms.ComputeSignature(cmsSigner, true);

Правильно ли я делаю?

Отредактировано пользователем 4 января 2016 г. 7:38:14(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#6 Оставлено : 4 января 2016 г. 7:49:30(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,476
Мужчина
Российская Федерация

Сказал «Спасибо»: 553 раз
Поблагодарили: 2243 раз в 1749 постах
Автор: ArtfulAngel Перейти к цитате
помогите разобраться тогда.
1) на Windows server 2003 установил Крипто Про CSP, установил сертификат с контейнером в локальное хранилище компьютера в реестр. при запуске сайта написанного на ASP.NET для авторизации с ЕСИА по серийному номеру должен найтись сертификат и контейнер подписи, при попытке подписать выдает ошибку "Набор ключей не существует". В то время как на локальной машине все проходит идеально.
2) для подписи параметров для ЕСИА использую вот такой код:
Код:
ContentInfo contentInfo = new ContentInfo(new System.Text.UTF8Encoding().GetBytes(data)); 
SignedCms signedCms = new SignedCms(contentInfo, true);
CmsSigner cmsSigner = new CmsSigner(cert1);
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime());
signedCms.ComputeSignature(cmsSigner, true);

Правильно ли я делаю?



Под учетной записью, в которой работает приложение, должен быть доступ к закрытому ключу.

cert1 - как получается?
Как устанавливался сертификат? Штатными средствами CSP с привязкой к контейнеру в хранилище локального ПК + давался доступ к контейнеру в реестре?
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#7 Оставлено : 4 января 2016 г. 7:51:20(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,476
Мужчина
Российская Федерация

Сказал «Спасибо»: 553 раз
Поблагодарили: 2243 раз в 1749 постах
Техническую поддержку оказываем тут
Наша база знаний
Offline ArtfulAngel  
#8 Оставлено : 4 января 2016 г. 8:27:27(UTC)
ArtfulAngel

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2014(UTC)
Сообщений: 12
Мужчина
Российская Федерация

Автор: Андрей * Перейти к цитате
Автор: ArtfulAngel Перейти к цитате
помогите разобраться тогда.
1) на Windows server 2003 установил Крипто Про CSP, установил сертификат с контейнером в локальное хранилище компьютера в реестр. при запуске сайта написанного на ASP.NET для авторизации с ЕСИА по серийному номеру должен найтись сертификат и контейнер подписи, при попытке подписать выдает ошибку "Набор ключей не существует". В то время как на локальной машине все проходит идеально.
2) для подписи параметров для ЕСИА использую вот такой код:
Код:
ContentInfo contentInfo = new ContentInfo(new System.Text.UTF8Encoding().GetBytes(data)); 
SignedCms signedCms = new SignedCms(contentInfo, true);
CmsSigner cmsSigner = new CmsSigner(cert1);
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime());
signedCms.ComputeSignature(cmsSigner, true);

Правильно ли я делаю?



Под учетной записью, в которой работает приложение, должен быть доступ к закрытому ключу.

cert1 - как получается?
Как устанавливался сертификат? Штатными средствами CSP с привязкой к контейнеру в хранилище локального ПК + давался доступ к контейнеру в реестре?


cert1 получается так:
Код:

X509Store store = new X509Store(StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
X509Certificate2Collection Results = (X509Certificate2Collection)store.Certificates.Find(
X509FindType.FindBySerialNumber, certcn, false);
cert1 = Results[0];

Сертификат установлен через CSP с привязкой в хранилище локального ПК, доступ к контейнеру не давался.
Offline ArtfulAngel  
#9 Оставлено : 14 января 2016 г. 7:23:38(UTC)
ArtfulAngel

Статус: Участник

Группы: Участники
Зарегистрирован: 08.09.2014(UTC)
Сообщений: 12
Мужчина
Российская Федерация

Уважаемые гуру. подскажите пожалуйста. пытаюсь настроить права безопасности для использования ключей ЭЦП, ничего не выходит. в Пуле приложения сделал следующие настройки: удостоверение выбрал пользователя которого специально создал для этих целей и сделал загрузку профиля пользователя.
1.png (34kb) загружен 14 раз(а).
В оснастке сертификата - управление закрытыми ключами сертификата - добавил этого пользователя. но при запуске сайта и попытке подписать строку он выдает сообщение "Набор ключей не существует".

как только я в оснастке сертификата - управление закрытыми ключами сертификата - добавляю группу "все", подпись строки происходит, но сильно долго и в результате при пере направлении на ЕСИА возвращается ошибка "ESIA-007015: Time of the request is outside the bounds."

Почему приложение ASp.Net не воспринимает пользователя которого я ему указал?

Offline Андрей Писарев  
#10 Оставлено : 14 января 2016 г. 9:32:25(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,476
Мужчина
Российская Федерация

Сказал «Спасибо»: 553 раз
Поблагодарили: 2243 раз в 1749 постах
Автор: ArtfulAngel Перейти к цитате
Уважаемые гуру. подскажите пожалуйста. пытаюсь настроить права безопасности для использования ключей ЭЦП, ничего не выходит. в Пуле приложения сделал следующие настройки: удостоверение выбрал пользователя которого специально создал для этих целей и сделал загрузку профиля пользователя.
1.png (34kb) загружен 14 раз(а).
В оснастке сертификата - управление закрытыми ключами сертификата - добавил этого пользователя. но при запуске сайта и попытке подписать строку он выдает сообщение "Набор ключей не существует".

как только я в оснастке сертификата - управление закрытыми ключами сертификата - добавляю группу "все", подпись строки происходит, но сильно долго и в результате при пере направлении на ЕСИА возвращается ошибка "ESIA-007015: Time of the request is outside the bounds."

Почему приложение ASp.Net не воспринимает пользователя которого я ему указал?



А сертификат как был установлен?
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.