Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Возможно ли написать клиент для НБКИ используя КриптоПро.NET ?
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
overwriter написал:можно тот документ который вы нашли посмотреть? и по чем искали) спасибо, за подробные ответы. как-то так...пятая ссылка: [DOC] iCRS System-to-System Channel User Guide |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.06.2012(UTC) Сообщений: 14
|
Я видел этот документ, полезного там вообще мало... Я прочитал его вдоль и поперек и пытаюсь подключиться как там написано, логин и пароль мне прислали, добавляю их к клиенту и получаю ошибку Operation has timed out Код:public void Test()
{
#region request
string data = @"<?xml version=""1.0"" encoding=""Windows-1251"" ?>
<product>
<prequest>
<req>
<AddressReq>
<street>Горького</street>
<houseNumber>1</houseNumber>
<apartment>38</apartment>
<city>Магадан</city>
<postal>685000</postal>
<addressType>1</addressType>
</AddressReq>
<AddressReq>
<street>Цветочная</street>
<houseNumber>5</houseNumber>
<apartment>143</apartment>
<city>Магадан</city>
<postal>685000</postal>
<addressType>2</addressType>
</AddressReq>
<IdReq>
<idNum>123456</idNum>
<idType>21</idType>
<seriesNumber>1234</seriesNumber>
<issueCountry>г. Магадан</issueCountry>
<issueDate>2006-03-18</issueDate>
<issueAuthority>ОВД Центральное, к/п 255</issueAuthority>
</IdReq>
<InquiryReq>
<inqPurpose>01</inqPurpose>
<inqAmount>10000</inqAmount>
<currencyCode>USD</currencyCode>
</InquiryReq>
<PersonReq>
<name1>Кустов</name1>
<first>Георгий</first>
<paternal>Георгиевич</paternal>
<gender>1</gender>
<birthDt>1946-07-06</birthDt>
<placeOfBirth>Москва</placeOfBirth>
</PersonReq>
<RequestorReq>
<MemberCode>0000TT000000</MemberCode>
<UserID>0000TT000002</UserID>
<Password>password</Password>
</RequestorReq>
<RefReq>
<product>CHST</product>
</RefReq>
<IOType>B2B</IOType>
<OutputFormat>XML</OutputFormat>
<lang>ru</lang>
</req>
</prequest>
</product>";
#endregion
var client = new WebClient();
client.Credentials = new NetworkCredential("MY LOGIN", "MY PASSWORD");
client.Headers["Content-Type"] = "text/xml; charset=windows-1251";
client.Encoding = Encoding.GetEncoding(1251);
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
var result = client.UploadString("https://icrs.demo.nbki.ru/score", data);
}
то же самое если я беру не тестовый урл https://icrs.nbki.ru/score2вопрос: как запросить данные хотябы?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.06.2012(UTC) Сообщений: 14
|
нужен какой-то сертификат, я верно понимаю? логин и пароль они от веб интерфейса какого-то?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
overwriter написал:Я видел этот документ, полезного там вообще мало... Я прочитал его вдоль и поперек и пытаюсь подключиться как там написано, логин и пароль мне прислали, добавляю их к клиенту и получаю ошибку Operation has timed out Код:public void Test()
{
....
#endregion
var client = new WebClient();
...
var result = client.UploadString("https://icrs.demo.nbki.ru/score", data);
}
то же самое если я беру не тестовый урл https://icrs.nbki.ru/score2вопрос: как запросить данные хотябы? у меня работало ... ответ сервиса с ЭЦП - выше... client.UploadString("https://icrs.demo.nbki.ru/score", data); а IE, что выдает? открывается страница (с кодом 405)? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.06.2012(UTC) Сообщений: 14
|
Ваш код отлично отрабатывает!
Мой вопрос о том, как мне задействовать логин и пароль которые мне прислали? Как начать работу с нетестовыми данными вот что непонятно... Я пытаюсь постучаться на их нетестовый урл, и приписываю креденшиалы к веб клиенту, но у меня там Тайм Аут
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.06.2012(UTC) Сообщений: 14
|
И вы в том примере, который присылали сами просите ответ по урл с http, а не https
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
overwriter написал:И вы в том примере, который присылали сами просите ответ по урл с http, а не https Исправь на https, я исправил - ответ c присоединенной ЭЦП приходит Отредактировано пользователем 2 июля 2012 г. 19:18:30(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.06.2012(UTC) Сообщений: 14
|
все верно, а что по поводу Цитата:Ваш код отлично отрабатывает!
Мой вопрос о том, как мне задействовать логин и пароль которые мне прислали? Как начать работу с нетестовыми данными вот что непонятно... Я пытаюсь постучаться на их нетестовый урл, и приписываю креденшиалы к веб клиенту, но у меня там Тайм Аут
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
overwriter написал:все верно, а что по поводу Цитата:Ваш код отлично отрабатывает!
Мой вопрос о том, как мне задействовать логин и пароль которые мне прислали? Как начать работу с нетестовыми данными вот что непонятно... Я пытаюсь постучаться на их нетестовый урл, и приписываю креденшиалы к веб клиенту, но у меня там Тайм Аут Не знаю.. у меня все отрабатывает... с реального URL приходит ответ сразу... Подписано: СГКО НБКИ - 2011 Серийный номер: 52B8703E00090000B457 Издатель: УЦ KPИПTO-ПPO Код:
var client = new WebClient();
client.Headers["Content-Type"] = "text/xml; charset=windows-1251";
client.Encoding = Encoding.GetEncoding(1251);
var dataBytes = Encoding.GetEncoding(1251).GetBytes(data);
return client.UploadData("https://icrs.nbki.ru/score2", dataBytes);
и авторизации (basic authentications) там нет... в IE - открывается https://icrs.nbki.ru/score2 без предупреждений? Корневой сертификат УЦ KPИПTO-ПPO (серийный номер: 6c ae f6 36 6f d6 ad ba 40 c2 b9 84 3b 42 d8 cc срок действия до 10 августа 2040) установлен? Отредактировано пользователем 2 июля 2012 г. 20:01:05(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 18.06.2012(UTC) Сообщений: 14
|
Цитата:Не знаю.. у меня все отрабатывает... с реального URL приходит ответ сразу...
Подписано: СГКО НБКИ - 2011 Серийный номер: 52B8703E00090000B457 Издатель: УЦ KPИПTO-ПPO Запрос точно такой же и вы меняете только URL??? А сертификаты какие-то у вас установлены на компьютере, этого нет в документации от НБКИ, не могли бы вы рассказать про это... Мне НБКИ прислали ЛОГИН и ПАРОЛЬ я их засовываю в client.Credentials (пароль работает с веб интерфейсом в IE, он подходит для авторизации в моем приложении на C# или мне еще что-то нужно??) 1. Что нужно изменить в коде чтобы получать реальные данные???поменять урл, а что еще? в клиент креденшиалы добавить - я это сделал, все равно - тайм аут. вот код: Код:public void Test()
{
#region request
string data = @"<?xml version=""1.0"" encoding=""Windows-1251"" ?>
<product>
<prequest>
<req>
<AddressReq>
<street>Горького</street>
<houseNumber>1</houseNumber>
<apartment>38</apartment>
<city>Магадан</city>
<postal>685000</postal>
<addressType>1</addressType>
</AddressReq>
<AddressReq>
<street>Цветочная</street>
<houseNumber>5</houseNumber>
<apartment>143</apartment>
<city>Магадан</city>
<postal>685000</postal>
<addressType>2</addressType>
</AddressReq>
<IdReq>
<idNum>123456</idNum>
<idType>21</idType>
<seriesNumber>1234</seriesNumber>
<issueCountry>г. Магадан</issueCountry>
<issueDate>2006-03-18</issueDate>
<issueAuthority>ОВД Центральное, к/п 255</issueAuthority>
</IdReq>
<InquiryReq>
<inqPurpose>01</inqPurpose>
<inqAmount>10000</inqAmount>
<currencyCode>USD</currencyCode>
</InquiryReq>
<PersonReq>
<name1>Кустов</name1>
<first>Георгий</first>
<paternal>Георгиевич</paternal>
<gender>1</gender>
<birthDt>1946-07-06</birthDt>
<placeOfBirth>Москва</placeOfBirth>
</PersonReq>
<RequestorReq>
<MemberCode>0000TT000000</MemberCode>
<UserID>0000TT000002</UserID>
<Password>password</Password>
</RequestorReq>
<RefReq>
<product>CHST</product>
</RefReq>
<IOType>B2B</IOType>
<OutputFormat>XML</OutputFormat>
<lang>ru</lang>
</req>
</prequest>
</product>";
#endregion
var client = new WebClient {Credentials = new NetworkCredential("MY LOGIN", "MY PASS")};
client.Headers["Content-Type"] = "text/xml; charset=windows-1251";
client.Encoding = Encoding.GetEncoding(1251);
var dataBytes = Encoding.GetEncoding(1251).GetBytes(data);
// TODO: win 7 fix for ssl
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
var a = client.UploadData("https://icrs.nbki.ru/score2", dataBytes);
SignedCms cms = new SignedCms();
cms.Decode(a);
cms.CheckSignature(true);
var content = cms.ContentInfo.Content;
}
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Возможно ли написать клиент для НБКИ используя КриптоПро.NET ?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close