SRSplus


Technical Overview

The following chart outlines the basic progression of the API documentation:

TECHNICAL
OVERVIEW
DEVELOPER'S
GUIDE

C API
for linux reference
FAQs & HOW-TOs
multiple documents


PERL API
for linux reference

SRS COMPONENT
for Windows reference

  Table of Contents print  
    Introduction
  1. Technical Resources
  2. Shared Registry System Component
  3. Becoming a SRSplus Partner
  4. Certification
  Introduction Back to top  

SRSplus Partners sell and manage domain names through a system called SRS, the Shared Registry System. SRS is based on common Internet and cryptographic technologies. Using our published APIs and other freely available resources, an intermediate- to advanced-level developer can quickly build an SRS solution.

To integrate sales of domain names via the Shared Registry System, you must complete the following steps:

  1. Determine that you have adequate technical resources.
  2. Become familiar with the components and basic functions of the SRS.
  3. Sign up for the SRSplus Partner program and develop a custom SRS client.
  4. Attain certification and go live.

  1. Technical Resources Back to top  

The first step is to determine if you have adequate technical resources to successfully develop an SRS client. This process is straightforward and requires only moderate time and personnel commitments. The actual amount of effort required depends greatly on the experience of your development staff and the complexity of your own infrastructure. We estimate that it should take no longer than two days for an experienced C or Perl developer to download, configure, compile and install all software required to interact successfully with the SRS server. Beyond that, the time commitment depends greatly on how much effort is required to build or modify your website and backend systems. In general, your development team should:

  1. Have 3 to 5 years experience developing solutions for your target platform and programming language.
  2. For Linux implementations, be familiar with developing Open Source-like projects (i.e., how to download, configure, compile and install a typical Open Source project).
  3. Have functional knowledge of the operating system on which you will be running your SRS client (e.g., how to set up user accounts and set permissions).
  4. Understand core Internet protocols, especially HTTP.
  5. Understand web programming fundamentals such as how to process a form with CGI scripts.
  6. Have at least cursory knowledge of public key cryptography concepts.
The Developer's Library section of our website provides links to specific, step-by-step "HOW-TO" documents for common tasks your team will encounter. In addition, the API Development Resources section of our website provides links to required software packages and to information on external websites that may help your development efforts.
  2. Shared Registry System Components Back to top  
The SRS is comprised of three main elements:
  1. A protocol that defines the SRS commands.
    The protocol specifies a collection of simple text-based commands that clients use to query for name availability, provide registrant contact information, purchase domain names and manage domain information such as name servers.
  2. A means for authenticating messages sent between SRS clients and the SRS servers.
    Command messages are authenticated through the use of digital signatures. Our system uses the Gnu Privacy Guard for public key cryptography. GnuPG is a complete and free replacement for PGP (Pretty Good Privacy). SRS command messages will only be accepted from clients whose public keys are on record with the SRS servers. Similarly, clients only accept responses that are signed with the SRS public key. This system helps protect both SRSplus Partners and SRSplus from fraud and hacking.
  3. A transport mechanism, specifically SSL encrypted HTTP (i.e., HTTPS).
    Thanks to the success of e-commerce on the Internet, secure HTTP support is available for most programming languages via an appropriate API. It should be noted that our system requires 128-bit encryption (i.e., high encryption).
Example Use Case
(See diagram for visual example of transaction flow.)

The following is an example of a basic transaction, where an SRS client queries for the availability of a domain name. The steps are as follows:
  1. The client builds and formats a command packet according to the protocol specification.
  2. The packet is digitally signed with the secret key of the SRS client (i.e., registrar)
  3. The entire signed packet is sent to the SRS server via HTTPS.
  4. Upon receipt, the digital signature is verified with the public key on file for the client. If the signature is not verified, an error return packet is generated. Otherwise, the command is processed and an appropriate return packet is constructed.
  5. The return packet is then signed by the SRS server's secret key and returned to the client via HTTPS.
  6. The client receives the packet and verifies the digital signature to make sure the response actually came from the SRS server. If the signature cannot be verified by the SRS public key previously imported into the client's trust database, an error is returned. Otherwise, the results are parsed out of the packet and returned to the client. In the example, we see that the command was successful and returned the name-value pairs.
Each API handles the many steps of this process automatically. Each round-trip transaction is accomplished with a single function call in your client code.
  3. Becoming a SRSplus Partner Back to top  
To become a SRSplus Partner, the following steps are required:
  1. Sign up on our website
    Follow the steps and fill in all the required information at the SRSplus website.
  2. Deposit a minimum of US$250 in your Partner Registration Fund.
    See the 'Payment' link under the 'BECOME A PARTNER' section of the SRSplus website for more information.
  3. Download and install all necessary components
    We currently provide API Toolkits on our website for Perl and C running on Linux, as well as a COM-based solution for Windows systems. In addition, various 3rd party components are required by the APIs, all of which are freely available for download on the Internet. The API Toolkits can be found at:
    http://www.srsplus.com/en/srsplus/partners_dev_library.shtml
  4. E-mail in your public key to registry@srsplus.com
    Your public key is necessary for completion of the basic SRS functions, as indicated above.
  5. Develop your custom SRS client website and/or application
    Once the above steps have been completed, you will have access to the test server. The test server has the same functionality as the live SRS server: however, the data is not live. You will be working in this environment until you can demonstrate the ability to successfully perform various transactions as detailed in the Certification Process section of the Developer's Guide.
  6. Pass the certification test and meet all contract compliance requirements
    (Described below)
  7. Go live and sell names!
  4. Certification and Contract Compliance Back to top  

The certification process is a simple suite of tests that demonstrate your ability to communicate with the SRS server and successfully complete core transactions before going live and offering services to your customers. You must submit a log file to verify that you have successfully completed these transactions. Appropriate scripts and executables are provided in each API Toolkit for automatically performing the certification test suite and capturing the log file. We will review the log and inform you as to whether or not you were successful. If you pass, your account is made active in the live system and you can begin registering domains immediately, provided that you have met all other financial and contractual obligations. In the case of failure, we will reply to you with specific reasons and you may try again after taking corrective actions.

In addition to achieving certification, there is another business requirement in the SRSplus Partner Program that has production/technical ramifications. A link to the SRSplus Registrant Agreement must be provided on your website and agreed to by registrants before completing a registration. This link is documented in the Developer's Guide document.

  NEXT STEPS

If you feel confident about developing an SRS client, you should now read the Developer's Guide. The Developer's Guide provides the next level of detail about the SRS APIs and client development. It presents the following topics and more:
  • How to choose the appropriate API
  • Detailed SRS Command Reference
  • A primer for using GnuPG
  • Development considerations
  • How to perform and pass the Certification Process
Happy developing!

Go to Developer's Library

  © Network Solutions. All rights reserved.