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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline overwriter  
#1 Оставлено : 18 июня 2012 г. 18:09:43(UTC)
overwriter

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

Группы: Участники
Зарегистрирован: 18.06.2012(UTC)
Сообщений: 14

Подскажите информацию по этому поводу, с чего начать, документация ну вообще запутанная.
Offline overwriter  
#2 Оставлено : 18 июня 2012 г. 19:28:18(UTC)
overwriter

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

Группы: Участники
Зарегистрирован: 18.06.2012(UTC)
Сообщений: 14

вопрос меняется совсем на "КАк написать клиент для НБКИ"?

Я скачиваю по HTTPs ответ на мой запрос, это XML подписанный ЭЦП?
Как расшифровать, как извлечь нормальные данные?
Offline Андрей Писарев  
#3 Оставлено : 18 июня 2012 г. 19:42:58(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
overwriter написал:
вопрос меняется совсем на "КАк написать клиент для НБКИ"?

Я скачиваю по HTTPs ответ на мой запрос, это XML подписанный ЭЦП?
Как расшифровать, как извлечь нормальные данные?


пример ответа от сервера можно увидеть?

Техническую поддержку оказываем тут
Наша база знаний
Offline overwriter  
#4 Оставлено : 18 июня 2012 г. 20:11:39(UTC)
overwriter

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

Группы: Участники
Зарегистрирован: 18.06.2012(UTC)
Сообщений: 14

Андрей * написал:
overwriter написал:
вопрос меняется совсем на "КАк написать клиент для НБКИ"?

Я скачиваю по HTTPs ответ на мой запрос, это XML подписанный ЭЦП?
Как расшифровать, как извлечь нормальные данные?

http://cryptopro.ru/foru...tors/yafEditor/quote.gif
Код:

пример ответа от сервера можно увидеть?



Прошу его вот так:
Код:
public static string Test(){
            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>";

            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);

            //var res = client.UploadData("http://icrs.demo.nbki.ru/score", dataBytes);

            //var str = Encoding.UTF8.GetString(res);

            var result = client.UploadString("http://icrs.demo.nbki.ru/score", data);
            return result;
        }


и получаю вот это.

Код:
"0Ђ\t*†H†ч\r\a Ђ0Ђ1\f0\n*…\t\00Ђ\t*†H†ч\r\a Ђ$Ђ‚и<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n<nbchScoringReport>\n\n<product>\n<prequest>\n<req>\n<AddressReq>\n<houseNumber>1</houseNumber>\n<street>Горького</street>\n<apartment>38</apartment>\n<city>Магадан</city>\n<postal>685000</postal>\n<addressType>1</addressType>\n</AddressReq>\n<AddressReq>\n<houseNumber>5</houseNumber>\n<street>Цветочная</street>\n<apartment>143</apartment>\n<city>Магадан</city>\n<postal>685000</postal>\n<addressType>2</addressType>\n</AddressReq>\n<IdReq>\n<idNum>123456</idNum>\n<idType>21</idType>\n<seriesNumber>1234</seriesNumber>\n<issueCountry>г. Магадан</issueCountry>\n<issueDate>2006-03-18+04:00</issueDate>\n<issueAuthority>ОВД Центральное, к/п 255</issueAuthority>\n</IdReq>\n<InquiryReq>\n<inqPurpose>01</inqPurpose>\n<inqAmount>10000</inqAmount>\n<currencyCode>USD</currencyCode>\n</InquiryReq>\n<PersonReq>\n<name1>Кустов</name1>\n<first>Георгий</first>\n<paternal>Георгиевич</paternal>\n<gender>1</gender>\n<birthDt>1946-07-06+04:00</birthDt>\n<placeOfBirth>Москва</placeOfBirth>\n</PersonReq>‚…\n<RequestorReq>\n<MemberCode>0000TT000000</MemberCode>\n<UserID>0000TT000002</UserID>\n<Password>password</Password>\n</RequestorReq>\n<RefReq>\n<product>CHST</product>\n</RefReq>\n<IOType>B2B</IOType>\n<OutputFormat>XML</OutputFormat>\n<lang>ru</lang>\n</req>\n</prequest>\n<preply>\n<err>\n<ctErr>\n<Code>32</Code>\n<Text>User Not Found</Text>\n</ctErr>\n</err>\n</preply>\n</product>\n\n\n</nbchScoringReport>\n\0\0\0\0\0\0 Ђ0‚a0‚ \nf`Sv\0\0GW0\b*…0e1 0\t*†H†ч\r\tinfo@cryptopro.ru1\v0\tURU10U\n\nCRYPTO-PRO10UTest Center CRYPTO-PRO0\r110620104825Z\r141004070941Z0Ѓ„1\v0\tURU10\rU\bMoscow10\rU\aMoscow10U\nOJSC NBCH 201110Uicrs.demo.nbki.ru10\t*†H†ч\r\tsupport@nbki.ru0c0*…0\a*…$\0\a*…C\0@С@\t¤@\v¶Y»фэ7‹ЩNHхIХѕѓљ^(…ѓ7Lq^ДR\"1­Д‡“яєsl2@=ЭбАў@Є+|2Ј‚~0‚z0Uяр0\t*†H†ч\r\t\f0\n0\b*…0UЧѕmдa\vҐcLtЎ<˜zK1]ўв0U%\f0\n\b+\a0U#0ЂmЏ^Щ_¬‘”•љ087z*0UUN0L0J H F†Dhttp://www.cryptopro.ru/CertEnroll/Test%20Center%20CRYPTO-PRO(2).crl0Ѓ \b+\aЃ“0Ѓђ03\b+\a0†'http://www.cryptopro.ru/ocspnc/ocsp.srf0Y\b+\a0†Mhttp://www.cryptopro.ru/CertEnroll/pki-site_Test%20Center%20CRYPTO-PRO(2).crt0\b*…A\0¶A№Щь—е‘Ћї+PСd”hOњD9NюЎћYКv”:•›™§є„ьцЩ‘iФ^¦W¶-а!ЇХ6P®†–\0\01‚A0‚=0s0e1 0\t*†H†ч\r\tinfo@cryptopro.ru1\v0\tURU10U\n\nCRYPTO-PRO10UTest Center CRYPTO-PRO\nf`Sv\0\0GW0\n*…\t\0 i0\t*†H†ч\r\t1\v\t*†H†ч\r\a0\t*†H†ч\r\t1\r120618140811Z0/\t*†H†ч\r\t1\" \rXшѕ5KЌ1љdw\\Є6lРп њњ1Љп¤ќ/¶„ё0\n*…\0@­VF®ш¶|eг°›!їbhЫ1ЂъСтЌppl!›’.Wt·\"Ѕ_˜<Ў·AГЪњ)·Ео‰.yЯЙтн%Ё°\0\0\0\0\0\0"


я совсем не понимаю что мне нужно сделать... Это подписано с тестовым ключом каким-то? в документации НБКИ ничего не нашел...
Offline overwriter  
#5 Оставлено : 18 июня 2012 г. 20:47:56(UTC)
overwriter

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

Группы: Участники
Зарегистрирован: 18.06.2012(UTC)
Сообщений: 14

а еще я пытаюсь проверить файл полученные вот так:

D:\>cryptcp.exe -verify -sd3 bureu.txt

и получаю такой результат...

CryptCP 3.39 (c) "КРИПТО-ПРО", 2002-2012.
Утилита командной строки для подписи и шифрования файлов.
Не удалось загрузить серийный номер (код: 21000002).

.\sn.cpp:299: 0x20000324

D:\>
Offline Андрей Писарев  
#6 Оставлено : 18 июня 2012 г. 22:58:21(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
Цитата:
я совсем не понимаю что мне нужно сделать...

Т.е. это предложение придумать, что делать дальше участникам этого форума?
А что в ТЗ написано?



Цитата:

Это подписано с тестовым ключом каким-то?
.

Да, это же для тестирования\разработчиков адрес...


Цитата:

Документация:
Для целей тестирование направляйте тестовые запросы на:
Host: icrs.demo.nbki.ru



Цитата:

в документации НБКИ ничего не нашел..


Не знаю, у меня "гугл" выдал сразу doc файл, где есть описание ...

Цитата:
ИЗВЛЕЧЕНИЕ ОТВЕТА В ФОРМАТЕ XML

System-to-System Channel на полученный запрос направит двухкомпонентный ответ, содержащий в себе ответ в формате XML и электронную цифровую подпись.

Прежде чем прочесть ответ в формате XML, необходимо извлечь ответ XML из файла. Поле этого возможно проверить электронную цифровую подпись против содержания файла.

Отредактировано пользователем 19 июня 2012 г. 0:25:47(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#7 Оставлено : 18 июня 2012 г. 23:15:11(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
подправил код выше, на такой:

public static byte[] Test()
{
....
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("http://icrs.demo.nbki.ru/score", dataBytes);
}


protected void Page_Load(object sender, EventArgs e)
{

System.IO.FileStream A1 = new System.IO.FileStream(@"D:\tmp\answer.xml.sig", System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite);
Byte[] b1 = Test();
A1.Write (b1, 0, b1.Length);
A1.Close();
}


Ответ: XML с присоединенной ЭЦП в PKCS7.
Подписывается тестовым сертификатом (для icrs.demo.nbki.ru выдан в Test Center CRYPTO-PRO), т.к. этот адрес для тестирования...




Отредактировано пользователем 18 июня 2012 г. 23:30:00(UTC)  | Причина: Не указана

Вложение(я):
answer_xml.zip (3kb) загружен 16 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#8 Оставлено : 18 июня 2012 г. 23:26:41(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
overwriter написал:

Как расшифровать, как извлечь нормальные данные?


вкратце:
SignedCms cms = new SignedCms();
cms.Decode(Signed_Data);
cms.CheckSignature(true);

cms.ContentInfo.Content - подписанные данные (исходный xml)

Все есть на форуме\документации (SDK: Пример проверки подписанного PKCS#7/CMS сообщения)

Отредактировано пользователем 19 июня 2012 г. 0:28:00(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#9 Оставлено : 19 июня 2012 г. 0:22:57(UTC)
Андрей *

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

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

Сказал «Спасибо»: 579 раз
Поблагодарили: 2307 раз в 1807 постах
overwriter написал:
а еще я пытаюсь проверить файл полученные вот так:

D:\>cryptcp.exe -verify -sd3 bureu.txt

и получаю такой результат...

CryptCP 3.39 (c) "КРИПТО-ПРО", 2002-2012.
Утилита командной строки для подписи и шифрования файлов.
Не удалось загрузить серийный номер (код: 21000002).

.\sn.cpp:299: 0x20000324

D:\>




Цитата:

C:\Program Files\Crypto Pro\CSP>csptest -sfsign -verify -in c:\answer.xml.sig

Signature was verified OK
Total: SYS: 0.109 sec USR: 1.203 sec UTC: 1.817 sec
[ErrorCode: 0x00000000]


Техническую поддержку оказываем тут
Наша база знаний
Offline overwriter  
#10 Оставлено : 19 июня 2012 г. 18:37:07(UTC)
overwriter

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

Группы: Участники
Зарегистрирован: 18.06.2012(UTC)
Сообщений: 14

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