Open menu Close menu

RDAP Extension Specification

Table of Contents

FRED extension of RDAP Query Format

Version 0

This document is extending RFC7482.

Additional resource type path segments for exact match lookup extending RFC7482 section 3.1 are:

  • fred_nsset: Used to identify set of shared nameservers used as first class object in CZ.NIC registry.
  • fred_keyset: Used to identify set of shared DNSSEC keys used as first class object in CZ.NIC registry.

NsSet Path Segment Specification

Syntax: fred_nsset/NSSET_HANDLE

 

The NSSET_HANDLE parameter represents identification of NSSet in CZ.NIC registry.

KeySet Path Segment Specification

Syntax: fred_keyset/KEYSET_HANDLE

 

The KEYSET_HANDLE parameter represents identification of KeySet in CZ.NIC registry.

References

RFC7482 – Newton, A. and S. Hollenbeck, "Registration Data Access Protocol Query Format", RFC 7482, March 2015

FRED extension of RDAP JSON Responses

Version 0

This document is extending RFC7483.

The NSSet object class

The NSSet object class is an appropriate response for the NSSet Path Segment defined in this document. NSSet object class with any of it's subtrees omitted can appear also in Domain class defined in RFC7483 section 5.3.

The NSSet object class has the following members:

  • handle – a string representing an registry unique identifier of the NSSet
  • nameservers – an array of name server objects – see RFC7483 section 5.2
  • status – see RFC7483 section 4.6
  • entities – an array of entity objects – see RFC7483 section 5.1
  • events – see RFC7483 section 4.5
  • links – see RFC7483 section 4.2
  • port43 – see RFC7483 section 4.7

The following is an example of a JSON NSSet object:

{
    "objectClassName": "fred_nsset",
    "handle": "CZ.NIC",
    "status": [ "associated" ],
    "rdapConformance": [
        "rdap_level_0",
        "fred_version_0"
    ],
    "nameservers": [
        {
            "ldhName": "a.ns.nic.cz"
            "objectClassName": "nameserver",
            "handle": "a.ns.nic.cz",
            "ipAddresses": {
                "v4": [ "194.0.12.1" ],
                "v6": [ "2001:678:f::1" ]
            },
            "links": [
                {
                    "href": "https://rdap.nic.cz/nameserver/a.ns.nic.cz",
                    "type": "application/rdap+json",
                    "rel": "self",
                    "value": "https://rdap.nic.cz/nameserver/a.ns.nic.cz"
                }
            ],
        },
        {
            "ldhName": "b.ns.nic.cz"
            "objectClassName": "nameserver",
            "handle": "b.ns.nic.cz",
            "ipAddresses": {
                "v4": [ "194.0.13.1" ],
                "v6": [ "2001:678:10::1" ]
            },
            "links": [
                {
                    "href": "https://rdap.nic.cz/nameserver/b.ns.nic.cz",
                    "type": "application/rdap+json",
                    "rel": "self",
                    "value": "https://rdap.nic.cz/nameserver/b.ns.nic.cz"
                }
            ],
        }
    ],
    "events": [
        {
            "eventAction": "registration",
            "eventDate": "2008-06-09T12:30:16+00:00"
        },
        {
            "eventAction": "last changed",
            "eventDate": "2013-09-20T09:18:20+00:00"
        }
    ],
    "entities": [
        {
            "objectClassName": "entity",
            "handle": "REG-CZNIC",
            "roles": ["registrar"]
        },
    ],
    "links": [
        {
            "href": "https://rdap.nic.cz/fred_nsset/CZ.NIC",
            "type": "application/rdap+json",
            "rel": "self",
            "value": "https://rdap.nic.cz/fred_nsset/CZ.NIC"
        }
    ],
    "port43": "whois.nic.cz",
}

The KeySet object class

The KeySet object class is an appropriate response for the KeySet Path Segment defined in this document. KeySet object class with any of it's subtrees omitted can appear also in Domain class defined in RFC7483 section 5.3.

The KeySet object class has the following members:

  • handle – a string representing an registry unique identifier of the KeySet
  • dns_keys – an array of keyData objects defined as part of Domain object in RFC7483 section 5.3
  • status – see RFC7483 section 4.6
  • entities – an array of entity objects – see RFC7483 section 5.1.
  • events – see RFC7483 section 4.5
  • links – see RFC7483 section 4.2
  • port43 – see RFC7483 section 4.7

The following is an example of a JSON KeySet object:

{
    "objectClassName": "fred_keyset",
    "handle": "CZ.NIC",
    "status": [ "associated" ],
    "rdapConformance": [
        "rdap_level_0",
        "fred_version_0"
    ],
    "dns_keys": [
        {
            "protocol": 3,
            "flags": 257,
            "algorithm": 5,
            "publicKey": "BQEAAAABt3LenoCV"
        }
    ],
    "events": [
        {
            "eventAction": "registration",
            "eventDate": "2009-01-21T14:12:26+00:00"
        },
        {
            "eventAction": "last changed",
            "eventDate": "2013-09-20T09:18:37+00:00"
        }
    ],
    "entities": [
        {
            "objectClassName": "entity",
            "handle": "REG-CZNIC",
            "roles": [
                "registrar"
            ]
        },
    ],
    "links": [
        {
            "href": "https://rdap.nic.cz/fred_keyset/CZ.NIC",
            "type": "application/rdap+json",
            "rel": "self",
            "value": "https://rdap.nic.cz/fred_keyset/CZ.NIC"
        }
    ],
    "port43": "whois.nic.cz"
}

Extension of Domain object class

Domain object may have additional members:

  • fred_keyset -- object of class KeySet or it's subset
  • fred_nsset -- object of class NSSet or it's subset

The following is an example of a JSON Domain object with most of it's parts defined in RFC7483 elided for clarity:

{
    "objectClassName": "domain",
    "handle": "nic.cz",
    "ldhName": "nic.cz",
    "rdapConformance": [
        "rdap_level_0",
        "fred_version_0"
    ],
    "fred_nsset": {
        "objectClassName": "fred_nsset",
        "handle": "CZ.NIC",
        "nameservers": []
        "links": [
            {
                "href": "https://rdap.nic.cz/fred_nsset/CZ.NIC",
                "type": "application/rdap+json",
                "rel": "self",
                "value": "https://rdap.nic.cz/fred_nsset/CZ.NIC"
            }
        ]
    },
    "fred_keyset": {
        "objectClassName": "fred_keyset",
        "handle": "CZ.NIC",
        "dns_keys": []
        "links": [
            {
                "href": "https://rdap.nic.cz/fred_keyset/CZ.NIC",
                "type": "application/rdap+json",
                "rel": "self",
                "value": "https://rdap.nic.cz/fred_keyset/CZ.NIC"
            }
        ],
    },
    "secureDNS": {
        "keyData": [
            {
                "protocol": 3,
                "flags": 257,
                "algorithm": 5,
                "publicKey": " BQEAAAABt3Leno"
            }
        ],
        "zoneSigned": true,
        "maxSigLife": 1209600,
        "delegationSigned": true
    },
    "nameservers": [
        {
            "objectClassName": "nameserver",
            "handle": "a.ns.nic.cz",
            "ldhName": "a.ns.nic.cz"
            "ipAddresses": {
                "v4": [ "194.0.12.1" ],
                "v6": [ "2001:678:f::1" ]
            },
            "links": [
                {
                    "href": "https://rdap.nic.cz/nameserver/a.ns.nic.cz",
                    "type": "application/rdap+json",
                    "rel": "self",
                    "value": "https://rdap.nic.cz/nameserver/a.ns.nic.cz"
                }
            ],
        },
        {
            "objectClassName": "nameserver",
            "handle": "b.ns.nic.cz",
            "ldhName": "b.ns.nic.cz"
            "ipAddresses": {
                "v4": [ "194.0.13.1" ],
                "v6": [ "2001:678:10::1" ]
            },
            "links": [
                {
                    "href": "https://rdap.nic.cz/nameserver/b.ns.nic.cz",
                    "type": "application/rdap+json",
                    "rel": "self",
                    "value": "https://rdap.nic.cz/nameserver/b.ns.nic.cz"
                }
            ],
        }
    ],
    "entities": [
        {
            "objectClassName": "entity",
            "handle": "CZ-NIC",
            "links": [
                {
                    "href": "https://rdap.nic.cz/entity/CZ-NIC",
                    "type": "application/rdap+json",
                    "rel": "self",
                    "value": "https://rdap.nic.cz/entity/CZ-NIC"
                }
            ],
            "roles": [ "registrant" ]
        },
        {
            "objectClassName": "entity",
            "handle": "REG-CZNIC",
            "roles": [ "registrar" ]
        },
    ],
    "events": [
        {
            "eventAction": "registration",
            "eventDate": "1997-10-30T00:00:00+00:00"
        },
        {
            "eventAction": "expiration",
            "eventDate": "2017-03-15T13:00:00+00:00"
        },
        {
            "eventAction": "last changed",
            "eventDate": "2012-07-11T15:11:16+00:00"
        },
        {
            "eventAction": "transfer",
            "eventDate": "2007-02-28T13:55:00+00:00"
        }
    ],
    "links": [
        {
            "href": "https://rdap.nic.cz/domain/nic.cz",
            "type": "application/rdap+json",
            "rel": "self",
            "value": "https://rdap.nic.cz/domain/nic.cz"
        }
    ],
    "port43": "whois.nic.cz"
}

New JSON value for eventAction – "enum validation expiration"

This extension defines eventAction type named "enum validation expiration". This event refers only to ENUM domains. ENUM domains are domains corresponding to phone numbers. Phone numbers are generally assigned by regulatory organization and such assignment is not indefinite. When ENUM domain name is registered for corresponding phone number, there must be time in the future when it is necessary to confirm that phone number is still assigned to individual represented by registrant of the domain. Such period of time can be different from domain expiration and so new eventAction type must be registered. If value of this eventAction is in the past, such domain should not be considered as valid ENUM domain.

References

RFC7482 – Newton, A. and S. Hollenbeck, "Registration Data Access Protocol Query Format", RFC 7482, March 2015

RFC7483 – Newton, A. and S. Hollenbeck, "JSON Responses for the Registration Data Access Protocol (RDAP)", RFC 7483, March 2015