REGISTRAR OPERATION TEST & EVALUATION CERTIFICATION gTLD .TATAR
Утверждено: Решением Генерального директора ООО «Координационный центр Регионального домена Республики Татарстан»
(Приказ № 01/TATAR от 15.07.2014)
Дата начала действия: 28 августа 2014 года
Дата окончания действия:
С изменениями:

1. Introduction


1.1. General Provisions


Preliminary conditions and procedure of conduct of technical tests are determined by the TLD Registry Operator. Registrar should seek the Registry Operator Technical Support Group’s approval of the time of conduct of tests; as well, the Technical Support Group assigns a problem to the Registrar to test. Where the test fails, the Registrar should coordinate with the Technical Support Group the time for conduct a repeated test and, if necessary, should receive new test instructions.


1.2. Purpose


This document describes basic operations that a Registrar's software should perform to be accepted by the TLD registry (Registry). Each of the following sections describes actions that the Registrar should perform to demonstrate correct implementation of the Extensible Provisioning Protocol (EPP) v1.0 and interactions with the Registry. Prior to taking the test, the Registrar should have a detailed knowledge of the following RFCs:

  • 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

The tests below enable one to check accuracy of interaction with the Registry for standard Registrar operations. They do not cover all possible errors and exceptions. The Registrar client application is responsible for a correct handling of all erroneous situations.


1.3. Successful Command and Test Completion


Successful completion of the test requires from all the commands be in strict accordance with the document and the data be strictly consistent with the one given by the Technical Support Group before testing. The data presented in this document are given for reference only.


Where in the course of the test pass the resulting command code appears incongruent to the one provided in the description, this test must be discontinued and it is necessary to contact the Technical Support Group.


1.4. Accounts and Initial Data


To pass the test the Registrar will use two test accounts, namely, ClientX and ClientY. The Registrar should provide the Technical Support Group with a valid email address to receive the standard notifications. Before running the test the Technical Support Group gives the Registrar hostnames and port numbers to be activated to interact with the Registrar's client application and the URL to download a certificate required to establish connection with a test registry system. In addition, the Registrar is given entries (domain names, hosting and contact data) to use while completing test procedures.


1.5. Passing the Test


The Registrar must complete the test, from the beginning to the end, flawlessly (with no typographical errors and following the established procedure). The time allotted to pass the test - from the first operation to the last one - is four hours. If successful, the Registrar receives a corresponding notice. Otherwise, the Registrar is provided with data on an operation which has been recognized unsuccessful, namely:

  • Execution time
  • Operation type
  • Data used
  • Result code
  • Expected result code

1.6. Contact and Name Server Policy


The Registry establishes the following policy with regard to contacts and domain names:


While creating a domain transaction, there should be provided the contact named “registrant”, one administrative contact and one technical contact.


Domains may be created both without reference to a domain name server and with one or several name servers. The term "host" is used hereinafter as a synonym to "name server".


2. EPP-Based Communication


Registrar-to-Registry communication is carried out using the Extensible Provisioning Protocol (EPP) over TCP (Transport Control Protocol). EPP commands are formulated using the Extensible Markup Language (XML). The Registrar's software should use XML to send commands to the Registry and should use an XML parser to interpret responses by the Registry. For the sake of security EPP itself functions solely through the authentication of a Registrar.


Additional security is ensured by employing the Transport Layer Security (TLS) to encrypt the session. Registrars should communicate with the EPP server using a commercial or open source implementation of TLS, such as OpenSSL. Additional information concerning mapping EPP over TCP is available in 'RFC 5734 - Extensible Provisioning Protocol Transport Over TCP’. Additional information concerning the TLS can be found in RFC 5246.


2.1. Session Management


2.1.1. Start Session


After making an initial connection to the Registry, the server shall reply with a greeting. A Registrar must receive a greeting message before attempting authentication and other commands.


2.1.2. Authentication


After the initial greeting the Registrar should authenticate himself by sending to the test Registry a Login command with the following information:


Client ID: ClientX


Password: foo-BAR2


The response should include "result code: 1000".


2.2. Operations with Objects: Creation Modification, and Information Operations


2.2.1. Check Contact TEST-C1 (Contact Available)


The Check


Contact ID: TEST-C1


Expected result -


result code: 1000


contact:id avail: True


2.2.2. Create Contact TEST-C1


The Create command should be sent, with the following parameter(-s):


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: Petrov Petr Petrovitch


Contact Loc Address street: 1, Example Str


Contact Loc Address City: Moscow


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, issued by Police Unit #264


The response should include "result code: 1000".


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


The Check command should be sent, with the following parameter(-s):


Contact ID: TEST-C1


Expected result -


result code: 1000


contact:id avail: False


2.2.4. Query Contact TEST-C1


The INFO command should be sent, with the following parameter(-s):


Contact ID: TEST-C1


The response should include "result code: 1000".


2.2.5. Check Contact TEST-C2 (Contact Available)


The Check command should be sent, with the following parameter(-s):


Contact ID: TEST-C2


Expected result -


result code: 1000


contact:id avail: True


2.2.6. Create Contact TEST-C2


The Create command should be sent, with the following parameter(-s):


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


The response should include "result code: 1000".


2.2.7. Update Contact (Change Element)


The Update command should be sent, with the following parameter(-s):


Contact ID: TEST-C1


Change Contact Voice: +7.4951234567


The response should include "result code: 1000".


2.2.8. Update Contact (Add Element)


The Update command should be sent, with the following parameter(-s):


Contact ID: TEST-C2


Add Contact Status: clientDeleteProhibited


The response should include "result code: 1000".


2.2.9. Update Contact (Remove Element)


The Update command should be sent, with the following parameter(-s):


Contact ID: TEST-C2


Remove Contact Status: clientDeleteProhibited


The response should include "result code: 1000".


2.2.10. Check Contact Test –C3


The Check command should be sent, with the following parameter(-s):


Host Name: ns1.example.com


Expected result -


result code: 1000


host:name avail: True


2.2.11. Create Contact TEST-C3


The Create command should be sent, with the following parameter(-s):


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, выдан ОВД энского р-на


The response should include "result code: 1000".


2.2.12. Check Contact TEST-C4


The Check command should be sent, with the following parameter(-s):


Contact ID: TEST-C4


Expected result -


result code: 1000


contact:id avail: True


2.2.13. Create Contact TEST-C4


The Create command should be sent, with the following parameter(-s):


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


The Check command should be sent, with the following parameter(-s):


Contact ID: TEST-C5


Expected result -


result code: 1000


contact:id avail: True


2.2.15. Create Contact TEST-C5


The Create command should be sent, with the following parameter(-s):


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, выдан ОВД энского р-на


The response should include "result code: 1000".


2.2.16. Check Name Server (Foreign Registry - Available)


The Check command should be sent, with the following parameter(-s):


Host Name: ns1.example.com


Expected result -


result code: 1000


host:name avail: True


2.2.17. Create Name Server (Foreign Registry)


The Create command should be sent, with the following parameter(-s):


Host Name: ns1.example.com


The response should include "result code: 1000".


2.2.18. Check Name Server (Foreign Registry - Available)


The Check command should be sent, with the following parameter(-s):


Host Name: ns2.example.com


Expected result -


result code: 1000


host:name avail: True


2.2.19. Create Name Server (Foreign Registry)


The Create command should be sent, with the following parameter(-s):


Host Name: ns2.example.com


The response should include "result code: 1000".


2.2.20. Check Domain (Domain Available for Registration)


The Check command should be sent, with the following parameter(-s):


Domain Name: example.tatar


Expected result -


result code: 1000


domain:name avail: True


2.2.21. Create Domain (example.tatar)


The Create command should be sent, with the following parameter(-s):


Domain Name: example.tatar


Domain Registrant Contact ID: TEST-C1


Domain Registration Period (Year): 1


Domain Server: ns1.example.com


Domain Server: ns2.example.com


Domain Auth Info: password


The response should include "result code: 1000".


2.2.22. Check Domain (Domain Not Available for Registration)


The Check command should be sent, with the following parameter(-s):


Domain Name: example.tatar


Expected result -


result code: 1000


domain:name avail: False


2.2.23. Query Domain


The Info command should be sent, with the following parameter(-s):


Domain Name: example.tatar


The response should include "result code: 1000".


2.2.24. Check Name Server (Available)


The Check command should be sent, with the following parameter(-s):


Host Name: dns1.example.tatar


Expected result -


result code: 1000


host:name avail: True


2.2.25. Create Name Server


The Create command should be sent, with the following parameter(-s):


Host Name: dns1.example.tatar


The response should include "result code: 1000".


2.2.26. Check Name Server (Unavailable)


The Check command should be sent, with the following parameter(-s):


Host Name: dns1.example.tatar


Expected result -


result code: 1000


host:name avail: False


2.2.27. Query Name Server


The Info command should be sent, with the following parameter(-s):


Host Name: dns1.example.tatar


The response should include "result code: 1000".


2.2.28. Check Name Server (Available)


The Check command should be sent, with the following parameter(-s):


Host Name: dns2.example.tatar


Expected result -


result code: 1000


host:name avail: True


2.2.29. Create Name Server


The Create command should be sent, with the following parameter(-s):


Host Name: dns2.example.tatar


IP Address: 192.168.0.25


IPv6 Address: 2001:db8::25


The response should include "result code: 1000".


2.2.30. Update Name Server (Add IP Address)


The Update command should be sent, with the following parameter(-s):


Host Name: dns2.example.tatar


Add IP Address: 192.168.0.26


The response should include "result code: 1000".


2.2.31. Update Name Server (Remove IP Address)


The Update command should be sent, with the following parameter(-s):


Host Name: dns2.example.tatar


Remove IP Address: 192.168.0.25


The response should include "result code: 1000".


2.2.32. Check Domain (Domain Available for Registration)


The Check command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Expected result -


result code: 1000


domain:name avail: True


2.2.33. Create Domain (domain.tatar)


The Create command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Domain Registrant Contact ID: TEST-C2


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

The response should include "result code: 1000".


2.2.34. Query Domain


The Info command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


The response should include "result code: 1000".


2.2.35. Renew Domain


Please note the Expiration date as a result of execution of the previous command, which should take a form similar to the model one:


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


The Renew command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Current Expiration Date: 2011-06-21


Domain Years Period: 1


Make sure the Expiration date in the response is correct and the response includes "result code: 1000".


2.2.36. Update Domain – Change Name Servers


The Update command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Add Domain Server: ns1.example.com


Add Domain Server: ns2.example.com


The response should include "result code: 1000".


2.2.37. Update Domain - Change Contact


The Update command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Change Domain Registrant Contact ID: TEST-C1


The response should include "result code: 1000".


2.2.38. Update Domain – Change Authorization Information


The Update command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Change Domain Auth Info: 12345678


The response should include "result code: 1000".


2.2.39. Update Domain - Change Domain Status


The Update command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Change Domain Status: clientHold


The response should include "result code: 1000".


2.3. Transfer of Domains


2.3.1. Domain Transfer Request


Use two commands Transfer Request as Registrar ClientY with the following parameter(-s):


Domain Name: domain.tatar


Domain Auth Info: 12345678


The response should include "result code: 1001".


and


Domain Name: example.tatar


Domain Auth Info: password


The response should include "result code: 1001".


2.3.2. Approve Domain Transfer


The following commands are used by Registrar as ClientX.


At first it is necessary to check that the domain is in the process of transfer. The Transfer Query command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Domain Auth Info: 12345678


Expected result -


result code: 1000


Transfer Status: pending


Now the Transfer Approve command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


Domain Auth Info: 12345678


The response should include "result code: 1000".


2.3.3. Reject Domain Transfer


The following commands are used by Registrar as ClientX.


At first it is necessary to check that the domain is in the process of transfer. The Transfer Query command should be sent, with the following parameter(-s):


Domain Name: example.tatar


Domain Auth Info: password


Expected result -


result code: 1000


Transfer Status: pending


Now the Transfer Reject command should be sent, with the following parameter(-s):


Domain Name: example.tatar


Domain Auth Info: password


The response should include "result code: 1000".


2.4. Deletion of Objects


2.4.1. Delete Contact (TEST-C1)


The Delete command should be sent, with the following parameter(-s):


Contact ID: TEST-C1


The response should include "result code: 2305".


2.4.2. Delete Contact (TEST-C2)


The Delete command should be sent, with the following parameter(-s):


Contact ID: TEST-C2


The response should include "result code: 1000".


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


The Delete command should be sent, with the following parameter(-s):


Host Name: dns1.example.tatar


The response should include "result code: 1000".


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


The Delete command should be sent, with the following parameter(-s):


Host Name: dns2.example.tatar


The response should include "result code: 1000".


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


The Delete command should be sent, with the following parameter(-s):


Host Name: ns1.example.com


The response should include "result code: 2305".


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


The Delete command should be sent, with the following parameter(-s):


Host Name: ns2.example.com


The response should include "result code: 2305".


2.4.7. Delete Domain (example.tatar)


The Delete command should be sent, with the following parameter(-s):


Domain Name: example.tatar


The response should include "result code: 1000".


2.4.8. Delete Domain (domain.tatar)


The Delete command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


The response should include "result code: 1000".


2.4.9. Restore Domain (domain.tatar)


The Restore command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


The response should include "result code: 1000".


2.4.10. Restore Report Domain (domain.tatar)


The Restore Report command should be sent, with the following parameter(-s):


Domain Name: domain.tatar


The response should include "result code: 1000".