РЕГЛАМЕНТ ТЕХНИЧЕСКИХ ИСПЫТАНИЙ ДЛЯ РЕГИСТРАТОРОВ рДВУ .TATAR
Утверждено: Решением Генерального директора ООО «Координационный центр Регионального домена Республики Татарстан»
(Приказ № 01/TATAR от 15.07.2014)
Дата начала действия: 28 августа 2014 года
Дата окончания действия:
С изменениями:

1. Введение


1.1. Общие положения


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


1.2. Цель испытаний


Данный документ описывает основные операции, которые программное обеспечение Регистратора должно осуществлять так, чтобы их воспринял реестр домена верхнего уровня (Реестр). Каждый из нижеследующих разделов настоящего документа описывает действия, которые должен выполнить Регистратор для демонстрации корректности реализации Extensible Provisioning Protocol (EPP) v1.0 и взаимодействия с Реестром.


Перед прохождением испытаний Регистратору необходимо детально ознакомиться со следующими RFC:

  • Extensible Provisioning Protocol (EPP) RFC: 5730
  • Extensible Provisioning Protocol Domain Name Mapping RFC: 5731
  • Extensible Provisioning Protocol Host Mapping RFC: 5732
  • Extensible Provisioning Protocol Contact Mapping RFC: 5733
  • Extensible Provisioning Protocol Transport Over TCP RFC: 5734
  • Domain Name System (DNS) Security Extensions Mapping for the Extensible Provisioning Protocol (EPP) RFC: 5910
  • Domain Registry Grace Period Mapping for the Extensible Provisioning Protocol RFC: 3915
  • В справочных целях для поиска дополнительной информации рекомендуется также использовать следующие стандарты:
  • The Transport Layer Security (TLS) Protocol RFC: 5246

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


1.3. Критерии успешного прохождения испытаний


Для успешного прохождения испытаний необходимо, чтобы все команды полностью совпадали с тем, как они приведены в данном документе, а данные совпадали с полученными от службы технической поддержки Регистратуры перед началом испытаний. Данные в этом документе приведены только для примера.


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


1.4. Учётные записи и исходные данные


Для прохождения испытаний Регистратор получает две тестовые учётные записи - ClientX и ClientY. Регистратор должен предоставить в службу технической поддержки Регистратуры действующий адрес электронной почты для получения стандартных уведомлений. До начала испытаний служба технической поддержки Регистратуры сообщает Регистратору имена хостов и номера портов, которые будут открыты для взаимодействия с программным обеспечением Регистратора и адрес, с которого можно скачать сертификат, который необходим для установления соединения с тестовым Реестром. Кроме этого, Регистратор получает вводные данные (доменные имена, данные хостов и контактов), которые он должен использовать при выполнении тестовых заданий.

1.5. Завершение испытаний


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

  • Время операции
  • Тип операции
  • Использованные данные
  • Код окончания
  • Ожидаемый Код окончания.

1.6. Политика по отношению к контактам и серверам доменных имён


В Реестре установлена следующая политика по отношению к контактам и серверам доменных имён:


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


Домены могут создаваться как без указания серверов доменных имён, так и с одним или несколькими серверами. Ниже будет использоваться термин "хост" как синоним "сервер доменных имён".


2. Взаимодействие по EPP


Регистратор взаимодействует с Реестром, используя Extensible Provisioning Protocol (EPP) поверх TCP (Transport Control Protocol). Команды EPP формулируются с использованием Extensible Markup Language (XML). Программное обеспечение Регистратора должно использовать XML для отправки команд в Реестр и использовать синтаксический анализатор XML для интерпретации ответов Реестра. Сам EPP функционирует только через аутентификацию Регистратора из соображений безопасности. Дополнительная безопасность достигается путём использования Transport Layer Security (TLS), для шифрования сессии. Регистраторы должны взаимодействовать с сервером EPP с помощью коммерческой или свободной реализации TLS, например, OpenSSL. Дополнительная информация, касательно реализации EPP поверх TCP доступна в "Extensible Provisioning Protocol Transport Over TCP RFC 5734." Дополнительную информацию, касательно TLS, можно найти в RFC 5246.


2.1. Управление сессией


2.1.1. Старт сессии

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


2.1.2. Аутентификация

После получения приглашения, Регистратор должен аутентифицировать себя, отправив в тестовый Реестр команду Login со следующей информацией:


Client ID: ClientX


Password: foo-BAR2


Ответ должен содержать "result code: 1000".


2.2. Операции с объектами - создание, модификация и информационные.

Названия операций даются по-английски во избежание путаницы в терминологии.


2.2.1. Check Contact TEST-C1 (Contact Available)

Отправьте команду Check с параметром:


Contact ID: TEST-C1


Ожидаемый результат -


result code: 1000


contact:id avail: True


2.2.2. Create Contact TEST-C1

Отправьте команду Create со следующими параметрами:


Contact ID: TEST-C1


Contact Voice: +7.4957654321


Contact Email: petrov@example.qq


Contact Auth Info: password


Contact Int Name: Petrov Petr Petrovitch


Contact Int Address street: 1, Primernaya st.


Contact Int Address City: Moscow


Contact Int Address Postal Code: 123456


Contact Int Address Country: ru


Contact Loc Name: Петров Петр Петрович


Contact Loc Address street: ул. Примерная, д. 1


Contact Loc Address City: Москва


Contact Loc Address Postal Code: 123456


Contact Loc Address Country: ru


Contact Ext Contact Type: person


Contact Ext Birthday: 1980-11-10


Contact Ext Passport: 01 23 123456, выдан ОВД энского р-на


Ответ должен содержать "result code: 1000".


2.2.3. Check Contact TEST-C1 (Contact Not Available)

Отправьте команду Check с параметром:


Contact ID: TEST-C1


Ожидаемый результат -


result code: 1000


contact:id avail: False


2.2.4. Query Contact TEST-C1

Отправьте команду Info с параметром:


Contact ID: TEST-C1


Ответ должен содержать "result code: 1000".


2.2.5. Check Contact TEST-C2 (Contact Available)

Отправьте команду Check с параметром:


Contact ID: TEST-C2


Ожидаемый результат -


result code: 1000


contact:id avail: True


2.2.6. Create Contact TEST-C2

Отправьте команду Create со следующими параметрами:


Contact ID: TEST-C2


Contact Voice: +7.4991234567


Contact Fax: +7.4991234567


Contact Email: info@example.qq


Contact Auth Info: password


Contact Int Name: Petrov Petr Petrovitch


Contact Int Org: "Domainer" Ltd.


Contact Int Address street: 98, Primernaya st.


Contact Int Address City: Moscow


Contact Int Address Postal Code: 123456


Contact Int Address Country: ru


Contact Loc Name: Петров Петр Петрович


Contact Loc Org: ЗАО "Домейнер"


Contact Loc Address street: ул. Примерная, д. 98


Contact Loc Address City: Москва


Contact Loc Address Postal Code: 123456


Contact Loc Address Country: ru


Contact Ext Contact Type: org


Contact Ext TIN: 1234567890


Contact Ext Int Org: "Domainer" Ltd.


Contact Ext Int Address street: 98, Primernaya st.


Contact Ext Int Address City: Moscow


Contact Ext Int Address Postal Code: 123456


Contact Ext Int Address Country: ru


Contact Ext Loc Org: ЗАО "Домейнер"


Contact Ext Loc Address street: ул. Примерная, д. 98


Contact Ext Loc Address City: Москва


Contact Ext Loc Address Postal Code: 123456


Contact Ext Loc Address Country: ru


Ответ должен содержать "result code: 1000".


2.2.7. Update Contact (Change Element)

Отправьте команду Update со следующими параметрами:


Contact ID: TEST-C1


Change Contact Voice: +7.4951234567


Ответ должен содержать "result code: 1000".


2.2.8. Update Contact (Add Element)

Отправьте команду Update со следующими параметрами:


Contact ID: TEST-C2


Add Contact Status: clientDeleteProhibited


Ответ должен содержать "result code: 1000".


2.2.9. Update Contact (Remove Element)


Отправьте команду Update со следующими параметрами:


Contact ID: TEST-C2


Remove Contact Status: clientDeleteProhibited


Ответ должен содержать "result code: 1000".


2.2.10. Check Contact TEST-C3

Отправьте команду Check с параметром:


Contact ID: TEST-C3


Ожидаемый результат -


result code: 1000


contact:id avail: True


2.2.11. Create Contact TEST-C3

Отправьте команду Create со следующими параметрами:


Contact ID: TEST-C3


Contact Voice: +7.4957654321


Contact Email: petrova@example.qq


Contact Auth Info: password


Contact Int Name: Petrova Petra Petrovna


Contact Int Address street: 1, Primernaya st.


Contact Int Address City: Moscow


Contact Int Address Postal Code: 123456


Contact Int Address Country: ru


Contact Loc Name: Петрова Петра Петровна


Contact Loc Address street: ул. Примерная, д. 1


Contact Loc Address City: Москва


Contact Loc Address Postal Code: 123456


Contact Loc Address Country: ru


Contact Ext Contact Type: person


Contact Ext Birthday: 1980-11-10


Contact Ext Passport: 01 23 123457, выдан ОВД энского р-на


Ответ должен содержать "result code: 1000".

2.2.12. Check Contact TEST-C4

Отправьте команду Check с параметром:


Contact ID: TEST-C4


Ожидаемый результат -


result code: 1000


contact:id avail: True


2.2.13. Create Contact TEST-C4

Отправьте команду Create со следующими параметрами:


Contact ID: TEST-C4


Contact Voice: +7.4951654321


Contact Email: ivanov@example.qq


Contact Auth Info: password


Contact Int Name: Ivanov Petr Petrovitch


Contact Int Address street: 10, Primernaya st.


Contact Int Address City: Moscow


Contact Int Address Postal Code: 123456


Contact Int Address Country: ru


Contact Loc Name: Иванов Петр Петрович


Contact Loc Address street: ул. Примерная, д. 10


Contact Loc Address City: Москва


Contact Loc Address Postal Code: 123456


Contact Loc Address Country: ru


Contact Ext Contact Type: person


Contact Ext Birthday: 1980-11-10


Contact Ext Passport: 01 23 223456, выдан ОВД энского р-на


Ответ должен содержать "result code: 1000".


2.2.14. Check Contact TEST-C5

Отправьте команду Check с параметром:


Contact ID: TEST-C5


Ожидаемый результат -


result code: 1000


contact:id avail: True


2.2.15. Create Contact TEST-C5

Отправьте команду Create со следующими параметрами:


Contact ID: TEST-C5


Contact Voice: +7.4952654321


Contact Email: sidorov@example.qq


Contact Auth Info: password


Contact Int Name: Sidorov Petr Petrovitch


Contact Int Address street: 111, Primernaya st.


Contact Int Address City: Moscow


Contact Int Address Postal Code: 123456


Contact Int Address Country: ru


Contact Loc Name: Сидоров Петр Петрович


Contact Loc Address street: ул. Примерная, д. 111


Contact Loc Address City: Москва


Contact Loc Address Postal Code: 123456


Contact Loc Address Country: ru


Contact Ext Contact Type: person


Contact Ext Birthday: 1980-11-10


Contact Ext Passport: 01 23 523456, выдан ОВД энского р-на


Ответ должен содержать "result code: 1000".


2.2.16. Check Name Server (Foreign Registry - Available)

Отправьте команду Check с параметром:


Host Name: ns1.example.com


Ожидаемый результат -


result code: 1000


host:name avail: True


2.2.17. Create Name Server (Foreign Registry)

Отправьте команду Create со следующими параметрами:


Host Name: ns1.example.com


Ответ должен содержать "result code: 1000".


2.2.18. Check Name Server (Foreign Registry - Available

Отправьте команду Check с параметром:


Host Name: ns2.example.com


Ожидаемый результат -


result code: 1000


host:name avail: True


2.2.19. Create Name Server (Foreign Registry)

Отправьте команду Create со следующими параметрами:


Host Name: ns2.example.com


Ответ должен содержать "result code: 1000".


2.2.20. Check Domain (Domain Available for Registration)

Отправьте команду Check с параметром:


Domain Name: example.tatar


Ожидаемый результат -


result code: 1000


domain:name avail: True


2.2.21. Create Domain (example.tatar)

Отправьте команду Create со следующими параметрами:


Domain Name: example.tatar


Domain Registrant Contact ID: TEST-C1


Domain Admin Contact ID: TEST-C1


Domain Tech Contact ID: TEST-C3


Domain Registration Period (Year): 1


Domain Server: ns1.example.com


Domain Server: ns2.example.com


Domain Auth Info: password


Ответ должен содержать "result code: 1000".


2.2.22. Check Domain (Domain Not Available for Registration)

Отправьте команду Check с параметром:


Domain Name: example.tatar


Ожидаемый результат -


result code: 1000


domain:name avail: False


2.2.23. Query Domain

Отправьте команду Info с параметром:


Domain Name: example.tatar


Ответ должен содержать "result code: 1000".


2.2.24. Check Name Server (Available)

Отправьте команду Check с параметром:


Host Name: dns1.example.tatar


Ожидаемый результат -


result code: 1000


host:name avail: True


2.2.25. Create Name Server

Отправьте команду Create со следующими параметрами:


Host Name: dns1.example.tatar


Ответ должен содержать "result code: 1000".


2.2.26. Check Name Server (Unavailable)

Отправьте команду Check с параметром:


Host Name: dns1.example.tatar


Ожидаемый результат -


result code: 1000


host:name avail: False


2.2.27. Query Name Server

Отправьте команду Info с параметром:


Host Name: dns1.example.tatar


Ответ должен содержать "result code: 1000".


2.2.28. Check Name Server (Available)

Отправьте команду Check с параметром:


Host Name: dns2.example.tatar


Ожидаемый результат -


result code: 1000


host:name avail: True


2.2.29. Create Name Server

Отправьте команду Create со следующим параметром:


Host Name: dns2.example.tatar


IP Address: 192.168.0.25


IPv6 Address: 2001:db8::25


Ответ должен содержать "result code: 1000".


2.2.30. Update Name Server (Add IP Address)

Отправьте команду Update со следующими параметрами:


Host Name: dns2.example.tatar


Add IP Address: 192.168.0.26


Ответ должен содержать "result code: 1000".


2.2.31. Update Name Server (Remove IP Address)


Отправьте команду Update со следующими параметрами:


Host Name: dns2.example.tatar


Remove IP Address: 192.168.0.25


Ответ должен содержать "result code: 1000".


2.2.32. Check Domain (Domain Available for Registration)

Отправьте команду Check с параметром:


Domain Name: domain.tatar


Ожидаемый результат -


result code: 1000


domain:name avail: True


2.2.33. Create Domain (domain.tatar)

Отправьте команду Create со следующими параметрами:


Domain Name: domain.tatar


Domain Registrant Contact ID: TEST-C2


Domain Admin Contact ID: TEST-C4


Domain Tech Contact ID: TEST-C5


Domain Registration Period (Year): 1


Domain Auth Info: password


dsData Interface (RFC 5910):


pubKey: AwEAAbBe1LcvvcCbuV0/cI7gNRdKMkqFgYFzk84e3Kx8Qj2CIrjuFqJTev2aPWa62BAXkBg6teVus4LftmjXab8WY4U=


keyTag: 46707


keyAlgorithm: RSASHA1


digestType: SHA256


digest: E8E6FA107705CB9BCD30FAFA23D447C14AC62DF26AC958B0DCB5BA4D8F63A13F


keyflags: 256


protocol: 3

Ответ должен содержать "result code: 1000".


2.2.34. Query Domain

Отправьте команду Info с параметром:


Domain Name: domain.tatar


Ответ должен содержать "result code: 1000".


2.2.35. Renew Domain

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


Domain Expiration Date: 2011-06-21T22:00:00.0Z


Отправьте команду Renew со следующими параметрами:


Domain Name: domain.tatar


Current Expiration Date: 2011-06-21


Domain Years Period: 1


Проверьте, что дата окончания регистрации в ответе корректна и ответ содержит "result code: 1000".


2.2.36. Update Domain – Change Name Servers

Отправьте команду Update со следующими параметрами:


Domain Name: domain.tatar


Add Domain Server: ns1.example.com


Add Domain Server: ns2.example.com


Ответ должен содержать "result code: 1000".


2.2.37. Update Domain - Change Contact

Отправьте команду Update со следующими параметрами:


Domain Name: domain.tatar


Change Domain Registrant Contact ID: TEST-C1


Ответ должен содержать "result code: 1000".


2.2.38. Update Domain – Change Authorization Information

Отправьте команду Update со следующими параметрами:


Domain Name: domain.tatar


Change Domain Auth Info: 12345678


Ответ должен содержать "result code: 1000".


2.2.39. Update Domain - Change Domain Status

Отправьте команду Update со следующими параметрами:


Domain Name: domain.tatar


Change Domain Status: clientHold


Ответ должен содержать "result code: 1000".


2.3. Операции передачи доменов


2.3.1. Domain Transfer Request

Отправьте две команды Transfer Request от имени регистратора ClientY со следующими параметрами:


Domain Name: domain.tatar


Domain Auth Info: 12345678


Ответ должен содержать "result code: 1001".


и


Domain Name: example.tatar


Domain Auth Info: password


Ответ должен содержать "result code: 1001".


2.3.2. Approve Domain Transfer

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


Сначала надо проверить, что домен находится в процессе передачи. Для этого отправьте команду Transfer Query со следующими параметрами:


Domain Name: domain.tatar


Domain Auth Info: 12345678


Ожидаемый результат -


result code: 1000


Transfer Status: pending


Теперь отправьте команду Transfer Approve со следующими параметрами:


Domain Name: domain.tatar


Domain Auth Info: 12345678


Ответ должен содержать "result code: 1000".


2.3.3. Reject Domain Transfer

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


Сначала надо проверить, что домен находится в процессе передачи. Для этого отправьте команду Transfer Query со следующими параметрами:


Domain Name: example.tatar


Domain Auth Info: password


Ожидаемый результат -


result code: 1000


Transfer Status: pending


Теперь отправьте команду Transfer Reject со следующими параметрами:


Domain Name: example.tatar


Domain Auth Info: password


Ответ должен содержать "result code: 1000".


2.4. Операции удаления объектов


2.4.1. Delete Contact (TEST-C1)

Отправьте команду Delete с параметром:


Contact ID: TEST-C1


Ответ должен содержать "result code: 2305".


2.4.2. Delete Contact (TEST-C2)

Отправьте команду Delete с параметром:


Contact ID: TEST-C2


Ответ должен содержать "result code: 1000".


2.4.3. Delete Name Server (dns1.example.tatar)

Отправьте команду Delete с параметром:


Host Name: dns1.example.tatar


Ответ должен содержать "result code: 1000".


2.4.4. Delete Name Server (dns2.example.tatar)


Отправьте команду Delete с параметром:


Host Name: dns2.example.tatar


Ответ должен содержать "result code: 1000".


2.4.5. Delete Name Server (ns1.example.com)


Отправьте команду Delete с параметром:


Host Name: ns1.example.com


Ответ должен содержать "result code: 2305".


2.4.6. Delete Name Server (ns2.example.com)


Отправьте команду Delete с параметром:


Host Name: ns2.example.com


Ответ должен содержать "result code: 2305".


2.4.7. Delete Domain (example.tatar)


Отправьте команду Delete с параметром:


Domain Name: example.tatar


Ответ должен содержать "result code: 1000".


2.4.8. Delete Domain (domain.tatar)


Отправьте команду Delete с параметром:


Domain Name: domain.tatar


Ответ должен содержать "result code: 1000".


2.4.9. Restore Domain (domain.tatar)


Отправьте команду Restore с параметром:


Domain Name: domain.tatar


Ответ должен содержать "result code: 1000".


2.4.10. Restore Report Domain (domain.tatar)


Отправьте команду Restore Report с параметром:


Domain Name: domain.tatar


Ответ должен содержать "result code: 1000".