CYRILLIC TOP LEVEL DOMAIN .ÄÅÒÈ

ÐÅÃËÀÌÅÍÒ ÒÅÕÍÈ×ÅÑÊÈÕ ÈÑÏÛÒÀÍÈÉ ÄËß ÐÅÃÈÑÒÐÀÒÎÐÎÂ

ðÄÂÓ .ÄÅÒÈ

(REGISTRAR OPERATION TEST & EVALUATION CERTIFICATION gTLD .ÄÅÒÈ)

 

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 a 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

To find additional information, it is also recommended to reference to and to use the following standards:

·       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 the 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 command should be sent, with the following parameter(-s):

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: ïðèìåð.äåòè

Expected result -

result code: 1000
domain:name avail: True

2.2.21. Create Domain (ïðèìåð.äåòè)

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

Domain Name: ïðèìåð.äåòè
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: ïðèìåð.äåòè

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: ïðèìåð.äåòè

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: äíñ1.ïðèìåð.äåòè

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: äíñ1.ïðèìåð.äåòè

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: äíñ1.ïðèìåð.äåòè

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: äíñ1.ïðèìåð.äåòè

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: äíñ2.ïðèìåð.äåòè

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: äíñ2.ïðèìåð.äåòè
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: äíñ2.ïðèìåð.äåòè
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: äíñ2.ïðèìåð.äåòè
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: äîìåí.äåòè

Expected result -

result code: 1000
domain:name avail: True

2.2.33. Create Domain (äîìåí.äåòè)

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

Domain Name: äîìåí.äåòè
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: äîìåí.äåòè

The response should include "result code: 1000".

2.2.35. Renew Domain

Please note the registration completion 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: äîìåí.äåòè
Current Expiration Date: 2011-06-21
Domain Years Period: 1

Make sure the registration completion 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: äîìåí.äåòè
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: äîìåí.äåòè
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: äîìåí.äåòè
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: äîìåí.äåòè
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 Auth Info: 12345678

The response should include "result code: 1001".

and

Domain Name: ïðèìåð.äåòè
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 Auth Info: 12345678

Expected result -

result code: 1000
Transfer Status: pending

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

Domain Name: äîìåí.äåòè
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: ïðèìåð.äåòè
Domain Auth Info: password

Expected result -

result code: 1000
Transfer Status: pending

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

Domain Name: ïðèìåð.äåòè
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 (äíñ1.ïðèìåð.äåòè)

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

Host Name: äíñ1.ïðèìåð.äåòè

The response should include "result code: 1000".

2.4.4.    Delete Name Server (äíñ2.ïðèìåð.äåòè)

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

Host Name: äíñ2.ïðèìåð.äåòè

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 (ïðèìåð.äåòè)

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

Domain Name: ïðèìåð.äåòè

The response should include "result code: 1000".

2.4.8.    Delete Domain (äîìåí.äåòè)

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

Domain Name: äîìåí.äåòè

The response should include "result code: 1000".

2.4.9.    Restore Domain (äîìåí.äåòè)

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

Domain Name: äîìåí.äåòè

The response should include "result code: 1000".

2.4.10. Restore Report Domain (äîìåí.äåòè)

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

Domain Name: äîìåí.äåòè

The response should include "result code: 1000".