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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Artem64  
#1 Оставлено : 25 августа 2011 г. 20:30:03(UTC)
Artem64

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.08.2011(UTC)
Сообщений: 5
Откуда: Красноярск

Необходимо написать приложение, позволяющее общаться с ЦР для регистрации нового пользователя и просмотра существующих. Т.е. создать программу заменяющюю функции мастера по созданию нового пользователя как в АРМ Администратора ЦР. Возможно ли решить данную задачу? При условии что это может быть как отдельное приложение так и приложение с использованием SDK или может быть есть какието комманды к АРМу. Просмотрел инструкции по SDK и форум ничего не нашел Brick wall . Помогите пожалуйста решить данную задачу.
Offline Kirill Sobolev  
#2 Оставлено : 26 августа 2011 г. 14:46:03(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Возможно.
Вам нужно руководство программиста, входит в состав документации КриптоПро УЦ.
Никакого отдельного SDK для этих целей нет.
Техническую поддержку оказываем тут
Наша база знаний
Offline Artem64  
#3 Оставлено : 29 августа 2011 г. 23:33:23(UTC)
Artem64

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.08.2011(UTC)
Сообщений: 5
Откуда: Красноярск

Руководство программиста я читал, но там немного сырое описание. Может есть какието ссылки на более понятные примеры (желательно на C#).

Отредактировано пользователем 29 августа 2011 г. 23:37:54(UTC)  | Причина: Не указана

Offline Artem64  
#4 Оставлено : 9 сентября 2011 г. 0:24:45(UTC)
Artem64

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.08.2011(UTC)
Сообщений: 5
Откуда: Красноярск

При вызове метода в С# Object ac = cr.GetType().InvokeMember("AcceptRequest", BindingFlags.InvokeMethod, null, cr, new object[] { ID });
Получаю ошибку: Необработанное исключение типа "System.Reflection.TargetInvocationException" произошло в mscorlib.dll.
В управлении компьютера->просмотр событий выводит: Источник MSSOAP Soap error: Unspecified client error...
Правильно ли я вызываю метод?
Причем запрос на пользователя в центре регистрации одобряется Think
Offline Kirill Sobolev  
#5 Оставлено : 9 сентября 2011 г. 14:52:01(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Видимо неправильно, раз возникает исключение.
Поскольку метод на сервере отрабатывает, то значит ошибка при получении возвращаемого значения - AcceptRequest не должен ничего возвращать.
Техническую поддержку оказываем тут
Наша база знаний
Offline Artem64  
#6 Оставлено : 16 сентября 2011 г. 1:47:20(UTC)
Artem64

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.08.2011(UTC)
Сообщений: 5
Откуда: Красноярск

Подскажите пожалуйста как правильно вызвать.
Вообще не понятно, перепробовал кучу способов, при таком вызове cr.GetType().InvokeMember("AcceptRequest", BindingFlags.InvokeMethod, null, cr, new object[] { ID }); та же ошибка Brick wall
Offline Kirill Sobolev  
#7 Оставлено : 16 сентября 2011 г. 17:28:20(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Приведите код полностью.
Техническую поддержку оказываем тут
Наша база знаний
Offline Artem64  
#8 Оставлено : 17 сентября 2011 г. 17:30:16(UTC)
Artem64

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.08.2011(UTC)
Сообщений: 5
Откуда: Красноярск

using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using MSSOAPLib30;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string RA_URL = "https://cr/RA/RA.wsdl";
string Admin_Cert = "CURRENT_USER\\My\\Администратор";
SoapClient30 cr = new SoapClient30();
cr.MSSoapInit(RA_URL, "RA", "RegistrationSoapPort", "");
cr.set_ConnectorProperty("Timeout", "60000");
cr.set_ConnectorProperty("SSLClientCertificateName", Admin_Cert);
cr.set_ConnectorProperty("UseSSL", true);
Object ID = cr.GetType().InvokeMember("СreateRequestByAdmin", BindingFlags.InvokeMethod, null, cr, new object[4] { "2.5.4.3=Пользователь", "", "", "" });
cr.GetType().InvokeMember("AcceptRequest", BindingFlags.InvokeMethod, null, cr, new object[] { ID });
}
}
}

Отредактировано пользователем 19 сентября 2011 г. 0:51:43(UTC)  | Причина: Не указана

Offline Kirill Sobolev  
#9 Оставлено : 19 сентября 2011 г. 14:31:20(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
У Вас проблема не с УЦ, а в связке .NET - SOAP.
Зачем его вообще использовать, если в .NET есть собственные классы для этого в System.ServiceModel.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.