-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Welcome to the rdap-conformance-tool wiki, which documents how to install and run this tool and explains some of the compliance codes and exit codes from the RDAP Conformance Tool.
Use the sidebar to find a compliance code or exit code.
An Online Version is also available for use.
There are two methods for installing and using the RDAP Conformance Tool. The first method uses Docker and the second method uses Java. Please be aware that running these this tool from within the network of a registry, registrar, or RDAP service provider may not find problems that are caused by CDNs, proxies, and other network elements. It is always advised to use this tool from "outside" your network. For this reason, an Online Version is also available for use.
With each method, the RDAP Conformance Tool must be given a full RDAP URL as defined by RFC 9082. For example, if the "base" RDAP URL for a domain registry or registrar is https://rdap.example
then the complete URL for a domain at that registry or registrar would be https://rdap.example/domain/example.net
.
The supplied configuration file, rdapct_config.json
(which can be downloaded from a release) is configured to instruct the tool to ignore known false positives. Work is in-progress to fix these false positives.
To use Docker, you must either download a source release or clone the repository. This repository contains a Dockerfile which builds an image containing the tool.
To build it, run this command:
docker buildx build -t [image_name] .
Replace [image_name]
with a unique memorable name such as rdapct
. Once the
image has been built, you can run the tool using
docker run rdapct ARGS
When run via Docker, a minimal configuration file is used, and the results are
printed to STDOUT
.
Datasets are added to the image at build time and are not refreshed, so the image should be rebuilt in order to ensure they are up-to-date.
To use with Java, you must obtain the rdapct JAR file and a configuration file. Both are available to download from a GitHub Release. You may also use Maven to build and compile it yourself.
To run the tool, invoke the Java command with the jar
option referencing the rdapct JAR file and the configuration file:
java -jar rdapct-1.0.jar -c ./rdapct-config.json https://rdap.registry.com/domain/example.com
where rdapct-config.json is the configuration file.
The tool issues the query specified on the command line, parses the response and tests the response.
The tool will return with exit code 0 if it was able to successfully query the RDAP server, otherwise it will return with a non-zero exit code. The details of the tests are found in the /results directory, and the datasets retrieved from the relevant IANA registries are found in the /datasets directory.
Queries such as domain, nameserver, entity are supported. Basic search (RFC 7482) is also supported.
By default, the RDAP Conformance Tool tests only for compliance with the IETF RDAP RFCs. To invoke the tool for this purpose, no special parameters are required:
Docker method:
docker run rdapct https://test.example
Java method:
java -jar rdapct-1.0.x.jar -c ./rdapct-config.json https://test.example
For gTLD registries, there are additional parameters to be used:
-
--gtld-registry
signifies to test the output for gTLD registry compliance -
--thin
if the gTLD registry is a "thin" registry -
--use-rdap-profile-february-2019
to test for compliance with the ICANN gTLD RDAP Profile.
Docker method:
docker run rdapct --gtld-registry --use-rdap-profile-february-2019 https://test.example
or for thin registries
docker run rdapct --gtld-registry --thin --use-rdap-profile-february-2019 https://test.example
Java method:
java -jar rdapct-1.0.x.jar -c ./rdapct-config.json --gtld-registry --use-rdap-profile-february-2019 https://test.example
or for thin registries
java -jar rdapct-1.0.x.jar -c ./rdapct-config.json --gtld-registry --thin --use-rdap-profile-february-2019 https://test.example
For gTLD registrars, the following parameters are requried:
-
--gtld-registrar
signifies to test the output for gTLD registrar compliance -
--use-rdap-profile-february-2019
to test for compliance with the ICANN gTLD RDAP Profile.
Docker method:
docker run rdapct --gtld-registrar --use-rdap-profile-february-2019 https://test.example
Java method:
java -jar rdapct-1.0.x.jar -c ./rdapct-config.json --gtld-registrar --use-rdap-profile-february-2019 https://test.example