IDN support in .nz

The registration of IDNs (internationalised domain names) with macronised vowels which feature in the Māori language, an official language under New Zealand law, has been permitted in the .nz name space since July 2010.

Domain names are allowed to consist of 26 basic English (Latin) alphabet characters a-z, digits, the ‘-‘ hyphen, and characters ā, ē, ī, ō and ū.

In addition to the extra characters for registrations the second level māori.nz (with the ā macron) is provided as a mirror of the maori.nz 2LD using the DNS feature called DNAME. This ensures that all existing and future names registered under maori.nz are duplicated in the DNS under māori.nz.

.nz Latin

The following charcter table is called .NZ LATIN and contains the characters used by InternetNZ for the registration of .NZ domains represented using the Latin script.

The table lists the Unicode code points in the U+XXXX format:

Code point

Character

Example

U+002D

HYPEN-MINUS

-

U+0030

DIGIT ZERO

0

U+0031

DIGIT ONE

1

U+0032

DIGIT TWO

2

U+0033

DIGIT THREE

3

U+0034

DIGIT FOUR

4

U+0035

DIGIT FIVE

5

U+0036

DIGIT SIX

6

U+0037

DIGIT SEVEN

7

U+0038

DIGIT EIGHT

8

U+0039

DIGIT NINE

9

U+0061

LATIN SMALL LETTER A

a

U+0062

LATIN SMALL LETTER B

b

U+0063

LATIN SMALL LETTER C

c

U+0064

LATIN SMALL LETTER D

d

U+0065

LATIN SMALL LETTER E

e

U+0066

LATIN SMALL LETTER F

f

U+0067

LATIN SMALL LETTER G

g

U+0068

LATIN SMALL LETTER H

h

U+0069

LATIN SMALL LETTER I

i

U+006A

LATIN SMALL LETTER J

j

U+006B

LATIN SMALL LETTER K

k

U+006C

LATIN SMALL LETTER L

l

U+006D

LATIN SMALL LETTER M

m

U+006E

LATIN SMALL LETTER N

n

U+006F

LATIN SMALL LETTER O

o

U+0070

LATIN SMALL LETTER P

p

U+0071

LATIN SMALL LETTER Q

q

U+0072

LATIN SMALL LETTER R

r

U+0073

LATIN SMALL LETTER S

s

U+0074

LATIN SMALL LETTER T

t

U+0075

LATIN SMALL LETTER U

u

U+0076

LATIN SMALL LETTER V

v

U+0077

LATIN SMALL LETTER W

w

U+0078

LATIN SMALL LETTER X

x

U+0079

LATIN SMALL LETTER Y

y

U+007A

LATIN SMALL LETTER Z

z

U+0101

LATIN SMALL LETTER A WITH MACRON

ā

U+0113

LATIN SMALL LETTER E WITH MACRON

ē

U+012B

LATIN SMALL LETTER I WITH MACRON

ī

U+014D

LATIN SMALL LETTER O WITH MACRON

ō

U+016B

LATIN SMALL LETTER U WITH MACRON

ū

Terminology and standards

The .nz IDN implementation must be compliant with the technical requirements described in various RFCs (3454, 3490, 3491, and 3492) collectively called the “IDN standards”.

There are a lot of terms and definitions in use related to IDNs mentioned in the RFCs and other IDN documents. Listed below are some brief definitions of the common terms. Refer to the RFCs for the comprehensive definitions.

The external-form or display form of an IDN is called U-label and the internal-form or stored form is called A-label.

The U-label string is the Native Script name in Unicode. This is normally the display format of the name and is how the user enters the name in a web browser. This name is also known as the IDNA-valid string.

The A-label string is the ASCII-Compatible Encoding (ACE) form of the U-label. This name is also known as the “punycode” name. Every A-label will begin with the IDNA ACE prefix, “xn-\-” followed by a string that is a valid output of the Punycode algorithm and hence a maximum of 59 ASCII characters in length. The prefix and string together must conform to all requirements for a label that can be stored in the DNS including conformance to the rules for the preferred form described in RFC 1034, RFC 1035, and RFC 1123. A string meeting the above requirements is still not an A-label unless it can be decoded into a U-label.

Conversions between U-labels and A-labels are performed according to the “Punycode”specification [RFC3492], adding or removing the ACE prefix as needed.

.māori.nz 2LD and DNS

All names registered under .maori.nz are duplicated in the DNS and available under a 2LD IDN variant .māori.nz (.xn-\-mori-qsa.nz)

The duplication is achieved using a DNAME in the .nz zone files.

The maori 2LD will remain as an ASCII value in the SRS database. Domain names in the SRS that end in .maori.nz will have two variants in the DNS, one will be the for the ASCII version of the name .maori.nz and the other will be for the IDN version of the name .māori.nz represented as punycode: .xn-\-mori-qsa.nz.

Note

The DomainName parameter submitted to the SRS must contain the .maori.nz label and NOT the punycode version .xn-\-mori-qsa.nz or the unicode version māori.nz

IDN support via SRS

Two IDN-related fields exist in the DomainCreate request to allow for IDN registration in SRS:

  • DomainNameUnicode field

  • DomainNameLanguage field

When creating a non-IDN domain both fields are optional, however if a punycode encoded domain name is provided in the DomainName the DomainNameUnicode field must be provided holding the same domain name as the punycode encoded version. This is to verify that the U-label version and the A-label version are consistent, for example:

<NZSRSRequest VerMajor="1" VerMinor="0" RegistrarId="90">
  <DomainCreate ActionId="SomeUniqueID X1234" DomainName="xn--domain-with-mcron-z5b.co.nz" DomainNameLanguage=".NZ LATIN" DomainNameUnicode="domain-with-mācron.co.nz" Term="24">
    <RegistrantContact Name="Name" Email="testdomain@test.net.nz">
      <PostalAddress Address1="Address1" City="testCity" CountryCode="NZ"/>
      <Phone CountryCode="64" AreaCode="4" LocalNumber="testdomain Phone"/>
    </RegistrantContact>
    <AuditText>create new domain</AuditText>
  </DomainCreate>
</NZSRSRequest>

When the verification of both versions is successful, meaning both versions represent the same domain name, only the punycode encoded version [A-label] is stored in the SRS.

The DomainNameLanguage attribute allows the SRS to be extended by further language tables with different character sets if necessary.

IDN support via EPP

To register an IDN via EPP you simply send the associated Punycode for the domain as part of your domain:create transaction, for example:

<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>xn--domain-with-mcron-z5b.co.nz</domain:name>
        <domain:period unit="m">24</domain:period>
        <domain:registrant>945-h-0</domain:registrant>
        <domain:contact type="admin">945-h-0</domain:contact>
        <domain:contact type="tech">945-h-0</domain:contact>
        <domain:authInfo>
          <domain:pw></domain:pw>
        </domain:authInfo>
      </domain:create>
    </create>
    <clTRID>createdomain-xn--domain-with-mcron-z5b.co.nz</clTRID>
  </command>
</epp>

IDN support via Whois Protocol

The whois server accepts domain names in both ASCII [A-label] and unicode [U-label] format. The whois server translates unicode names into A-labels and sends an internal language transaction to the SRS with the A-label as the domain name.

$ whois domain-with-mācron.co.nz
% InternetNZ Limited
% Users confirm on submission their agreement to all published Terms
%
version: 5.00
query_datetime: 2015-05-07T15:47:42+12:00
domain_name_idn: domain-with-mācron.co.nz
domain_name_language: .NZ LATIN
domain_name_hex: domain-with-m<U+0101>cron.co.nz
domain_name: xn--domain-with-mcron-z5b.co.nz
query_status: 200 Active
domain_dateregistered: 2015-05-07T11:40:52+12:00
domain_datebilleduntil: 2017-05-07T11:40:52+12:00
domain_datelastmodified: 2015-05-07T11:40:52+12:00
domain_delegaterequested: yes
domain_signed: no

The DomainNameUnicode, DomainNameUnicodeHex and DomainNameLanguage are included in the output of the Whois server for IDNs. For non IDN’s these fields will not be returned.

An excpetion is the 2LD maori.nz. A query for a maori.nz domain name will return the DomainNameUnicode with the 2LD as .māori.nz