Дополнительная информация по подключению и использованию протокола версии 2.

Процедура подключения в тестовом режиме

Вам необходимо выполнить следующие действия

Процедура подключения в рабочем режиме

Вам необходимо выполнить повторить действия предыдущего пункта, указав куратору, что Вам необходимы реквизиты рабочей (нетестовой) точки, и изменить параметры подключения в Вашем приложении на новые.

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

Признаком того, что карта e-port является тестовой, служит наличие цифры "9" в третьем разряде номера карты.

Параметры соединения с сервером e-port


Список адресовНазначение
https://dealer-e.fe.e-port.ru/cp/fe
https://dealer-pi1.fe.e-port.ru/cp/fe
https://dealer-pi2.fe.e-port.ru/cp/fe
https://dealer-pi3.fe.e-port.ru/cp/fe
https://dealer-pi4.fe.e-port.ru/cp/fe
https://dealer-pi5.fe.e-port.ru/cp/fe
https://dealer-pi6.fe.e-port.ru/cp/fe
https://dealer-pi7.fe.e-port.ru/cp/fe
проведение операций
https://dealer-e.fe.e-port.ru/cp/dir
https://dealer-pi1.fe.e-port.ru/cp/dir
https://dealer-pi2.fe.e-port.ru/cp/dir
https://dealer-pi3.fe.e-port.ru/cp/dir
https://dealer-pi4.fe.e-port.ru/cp/dir
https://dealer-pi5.fe.e-port.ru/cp/dir
https://dealer-pi6.fe.e-port.ru/cp/dir
https://dealer-pi7.fe.e-port.ru/cp/dir
получение справочника

Все сервера, работающие по перечисленным адресам, имеют SSL-сертификаты, выпущенные СА e-port Для работы с этими адресами может потребоваться корневой сертификат СА: http://www.e-port.ru/ow-ca.crt

В случае, если наладить работу с указанными адресами не удалось из-за каких-либо проблем с сертификатами, можно воспользоваться следующими адресами:


Список адресовНазначение
https://dealer.e-port.ru:443/cp/fe
https://dealer.e-port.ru:8084/cp/fe
проведение операций
https://dealer.e-port.ru:443/cp/dir
https://dealer.e-port.ru:8084/cp/dir
получение справочника

Оба этих адреса имеют серверный сертификат, выданный Thawte.

В силу того, что некоторые сервера кластера могут быть выведены из эксплуатации без предупреждения, нереализация автоматической обработки списка адресов может привести к невозможности проведения операций.

Рекомендуемый порядок использования списка адресов подробно описан в описании протокола в разделе 6.8. Списки альтернативных серверов (заголовки "X-Eport-Host").

Примеры исходного кода

Данный пример иллюстрирует формирование синхронного запроса в простом текстовом формате, отправку на сервер через HTTPS-соединение с аутентификацией по карте e-port, и разбор ответа сервера.

Примеры формирования и проверки ЭЦП c использованием библиотеки openssl на C. Подробная документация по установке и использованию библиотеки и утлилит openssl доступна на web-сайте http://www.openssl.org

Примеры формирования и проверки ЭЦП c использованием утилиты keytool на JAVA.

Формирование ключей ЭЦП и запроса сертификата с использованием утилиты openssl

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

Для создания нового закрытого ключа и сохранения его в файл priv.key выполните команду:

openssl genrsa -out priv.key 1024

Данный файл потребуется Вам для создания запроса сертификата и формирования подписи. Далее Вам необходимо сформировать запрос сертификата публичного ключа ЭЦП. Для этого Выполните следующую команду:

openssl req -new -key priv.key -out cert.req

В процессе работы Вам будет предложено ввести реквизиты Вашей организации. Поле "пароль" необходимо оставить пустым.

Пример диалога (вводимые данные выделены цветом):


You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU<enter>
State or Province Name (full name) [Some-State]:Moscow<enter>
Locality Name (eg, city) []:Moscow<enter>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:TestOrg JCS<enter>
Organizational Unit Name (eg, section) []:IT Dept<enter>
Common Name (eg, YOUR name) []:TestOrg<enter>
Email Address []:<enter>
Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []:<enter>
An optional company name []:<enter>


В результате будет создан файл запроса сертификата cert.req примерно следующего вида:


-----BEGIN CERTIFICATE REQUEST-----
MIIBojCCAQsCAQAwYjELMAkGA1UEBhMCUlUxDzANBgNVBAgTBk1vc2NvdzEPMA0G A1UEBxMGTW9zY293MRAwDgYDVQQKEwdUZXN0T3JnMRAwDgYDVQQLEwdJVCBEZXB0 MQ0wCwYDVQQDEwR0ZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD1+S03 Zo6ArrhSH3dKKMtyIgxPNWAfflDbGQpLQYL7BqTQU7RbAGZHjUpp9zRgOxHWYpG+ sYNhylmpR4bD+E33Wi0E9WtbsaXrqYFfOywE7ua85AiG2+fPs5DgoAY6Hm4YJd+M r72Vr2c7Aw4PlVVd8YC6y0SIwDDD4ZkDF1506QIDAQABoAAwDQYJKoZIhvcNAQEE BQADgYEABZsmoZF1qEpwB8G/UcPSiCbEwGGR/BaWtdeIvqa7ci/4y1eu4SgSHA5i GJUNp5M6WNEI/Fgv8erYlPJElv5oe8s074nIZzLmXJuqX3jdpmvefb2vKogMHLFi Ng+K5be67EPF70a+DDfPzyZ6DRIvbjytD45YsK8LMqd7U3HNSVI=
-----END CERTIFICATE REQUEST-----


Утилиту openssl Вы также можете использовать в тестовых целях для формирования подписи. Разместите подписываемые данные в файл string.txt и выполните команду.
Следующая команда выдает ЭЦП в шестнадцатеричном формате на стандартный вывод:

openssl dgst -md5 -sign priv.key -hex < string.txt

Формирование ключей ЭЦП и запроса сертификата с использованием утилиты keytool

Подробную информацию по использованию утилиты вы можете получить по адресу http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/keytool.html

Для создания нового закрытого ключа и сохранения его в файл priv.key выполните команду

keytool -genkey -keystore kkm.kst -storepass qwerty -alias kkmcert 
-keypass qwerty -keyalg RSA -keysize 1024 -sigalg MD5WithRSA 
-validity 365 -dname CN=tester

Данный файл потребуется Вам для создания запроса сертификата и формирования подписи. Далее Вам необходимо сформировать запрос сертификата публичного ключа ЭЦП Для этого Выполните следующую команду

keytool -certreq -keystore kkm.kst -storepass qwerty 
-alias kkmcert -keypass qwerty -file cert.req

В результате будет создан файл запроса сертификата cert.req примерно следующего вида


-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBUDCBugIBADARMQ8wDQYDVQQDEwZ0ZXN0ZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
AKgm/6wrV610KPB79QR5WiMBt3ZvQ/iUZFyI3aWf6jRA1DZEOdpc70GTIQpkm1IHNUG/zE0IJXiW
iCvJHxIzBxhPBf1U2dA5ainvylgal4YLf70MwKap3XnE/w5czIcatnYS8No72upRLtkKKC4v/N1D
SNka/xsOKAClViZakOSTAgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQCgF8JuPZjoqBI9/YcY/dbq
CwocEdJRZOY8IPoY6xmVow5zGYEjR9diqLnDswRjguFJjr3y6RFIXtI/fOd0kr3V3bVv1T6O1Lkl
pgBU16fxBc/wjG+LJdjNRnofNehj/gEo+61gftMDxAiLLzefbJPWKuHYC39q6itTZlOLgLMTSw==
-----END NEW CERTIFICATE REQUEST-----

Регистрация запроса сертификата на сервере e-port.ru

Для регистрации необходимо открыть страницу https://dealer.e-port.ru/cp/ca и заполнить номер Точки Агента, номер Карты Агента и пин-код Карты Агента. В поле "Certificate Request" необходимо скопировать содержимое файла запроса cертификата(cert.req) и подтвердить форму. После успешной регистрации Вы можете пользоваться ЭЦП.

Сертификат открытого ключа ЭЦП e-port

Для проверки ЭЦП e-port Вам потребуется сертификат публичного ключа ЭЦП e-port, который можно загрузить по ссылке https://dealer.e-port.ru/cp/ca?cert=1 или https://dealer-e.fe.e-port.ru/cp/ca?cert=1

Порядок исполнения Заявки в Cистеме e-port

На примере обмена данными кредитного учреждения с Организатором системы e-port

Ссылки на стандарты и технологии, используемые в описании протокола

HTTP

Протокол HTTP (Hypertext Transfer Protocol) - протокол прикладного уровня для распределенных гипертекстовых информационных систем.

Описание стандарта: www.w3.org

SSL

SSL (secure sockets layer) - протокол, обеспечивающий защиту данных между сервисными протоколами (такими как HTTP, NNTP, FTP и т. д.) транспортными протоколами (TCP/IP). Часто для него используется аббревиатура HTTPS.

Протокол SSL предоставляет "безопасный канал", который имеет три основные свойства:

SSL не только обеспечивает защиту данных в Интернете, но так же производит опознание сервера и клиента (server/client authentication). В данный момент протокол SSL принят W3 консорциумом (W3 Consortium) на рассмотрение, как основной защитный протокол для клиентов и серверов (WWW browsers and servers) в сети Интернет.

Описание стандарта: www.netscape.com/eng/security/SSL_2.html

XML

XML (Extensible Markup Language) - язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента.

Описание стандарта: www.w3.org/XML

ЭАСП RSA/MD5

ЭАСП (электронный аналог собственноручной подписи) - реквизит элетронного документа, дентифицирующий лицо, подписавшее документ, определенный и используемый по соглашению сторон.

ЭАСП позволяет аутентифицировать отправителя документа и произвести контроль целостности документа.

Как правило, алгоритм формирования ЭАСП включает в себя алгоритм шифрования и хэш-функцию.

Хэш-функция (хэш, hash, digest) - математическое преобразование, в результате которого для исходного сообщения произвольной длины формируется дайджест сообщения фиксированной длины, при этом практически по дайджесту невозможно восстановить исходное сообщение, но любое изменение сообщения влечет за собой значительное изменение дайджеста.

Асимметричный алгоритм шифрования - алгоритм, использующий два математически связанных шифровальных ключа (Key Pair). Один ключ называется секретным (private Key) и хранится в недоступном месте. Другой ключ называется открытым (public Key) и свободно предоставляется любым потенциальным пользователям. вязь между открытым и секретным ключами настолько сложна, что при условии достаточной длины ключей невозможно вычислить один ключ на основе другого.

Алгоритм RSA/MD5 является одним из наиболее известных и широко применяемых асимметричных алгоритмов ЭАСП. Достаточной длиной ключа для большинства применений на сегодняшний день считается 1024 бит.

Описание стандарта: www.rsa.com

Примеры команд с использованием OpenSSL для создания сертификатов

Создаем закрытый ключ агента
openssl genrsa -out agent_priv.pem 1024

Создаем открытый ключ агента по закрытому ключу (это для самопроверки агента, мы же открытый ключ узнаем из след. пункта)
openssl rsa -in agent_priv.pem -pubout -out agent_pub.pem

Создаем агентский Certificate Request
openssl req -new -key agent_priv.pem -out agent_cert.req

Регистрируем агентский Certificate Request - текст из agent_cert.req (из него мы сможем извлечь открытый ключ)
https://dealer-e.fe.e-port.ru/cp/ca

Следующие два пункта могут понадобиться для проверки ответов епорта

Получаем корневой сертификат сервера edealer
https://dealer.e-port.ru/cp/ca?cert=1
сохраняем его в eport.cer

Извлекаем открытый ключ сервера из сертификата
openssl x509 -pubkey -noout < eport.cer > eport_pub.pem