Extensible Provisioning Protocol
The Extensible Provisioning Protocol (EPP) is a flexible protocol designed for allocating objects within registries over the Internet. The motivation for the creation of EPP was to create a robust and flexible protocol that could provide communication between domain name registries and domain name registrars. These transactions are required whenever a domain name is registered or renewed, thereby also preventing domain hijacking. Prior to its introduction, registries had no uniform approach, and many different proprietary interfaces existed. While its use for domain names was the initial driver, the protocol is designed to be usable for any kind of ordering and fulfilment system.
EPP is based on XML - a structured, text-based format. The underlying network transport is not fixed, although the only currently specified method is over TCP. The protocol has been designed with the flexibility to allow it to use other transports such as BEEP, SMTP, or SOAP.
The first protocol drafts were published as IETF individual submission Internet-Draft documents by Scott Hollenbeck of Verisign in November 2000:
- Extensible Provisioning Protocol
- Extensible Provisioning Protocol Contact Mapping
- Extensible Provisioning Protocol Domain Name Mapping
- Extensible Provisioning Protocol Host Mapping
- Extensible Provisioning Protocol Transport Over TCP
The individual submission documents were adopted by the IETF Provisioning Registry (provreg) working group, which was created after a BoF session was held at IETF-49 in December 2000. Proposed Standard documents (RFCs 3730 - 3734) were published by the RFC Editor in March 2004. Draft Standard documents (RFCs 4930 - 4934) were published in May 2007. In August 2009 IETF granted EPP the status of full standard, STD 69.
Adoption
The protocol has been adopted by a number of domain name registries, such as: .ac, .aero, .ag, .asia, .at, .au, .be, .biz, .br, .bz, .ca, .cat, .cc, .ch, .cl, .cn, .co, .cr, .cz, .com, .coop, .cx, .cz, .dk, .ee, .es (over HTTPS), .eu, .fi, .fm, .fr, .gr (over HTTPS), .gs, .hn, .ht, .im, .in, .info, .io, .it (over HTTPS), .jobs, .ke, .ki, .kz, .la, .lc, .li, .lt, .lu, .lv, .md, .me, .mk, .mn, .mobi, .ms, .mu, .mx, .na, .name, .net, .nf, .ng, .nl, .no, .nu, .nz, .org, .pe, .pk, .pl (over HTTPS), .pro, .ps, .pt, .ru, .ro, .sc, .se, .sh, .si, .su, .tel, .tl, .tm, .travel, .tv, .tw, .uk, .us, .vc, .ve and .za as well as ENUM registries such as those operating the +31, +41, +43, +44 and +48 country codes.
EPP authInfo "codes" or "keys" are also required in the transfer of generic top-level domain names between registrars (.com, .net, .org, .biz, .info).
.com and .net domain names only began requiring the EPP key from fourth quarter 2006.
References
Related RFCs
- RFC 3375 - Generic Registry-Registrar Protocol Requirements
- RFC 3735 - Guidelines for Extending EPP
- RFC 3915 - Domain Registry Grace Period Mapping (e.g. Add Grace Period, Redemption Grace Period)
- RFC 4114 - Using EPP for ENUM addresses
- RFC 5910 - Domain Name System (DNS) Security Extensions Mapping for the Extensible Provisioning Protocol (EPP) (obsoletes RFC 4310, DNSSEC)
- RFC 5730 - Extensible Provisioning Protocol (EPP) (obsoletes RFC 4930, which obsoleted RFC 3730)
- RFC 5731 - Extensible Provisioning Protocol (EPP) Domain Name Mapping (obsoletes RFC 4931)
- RFC 5732 - Extensible Provisioning Protocol (EPP) Host Mapping (obsoletes RFC 4932)
- RFC 5733 - Extensible Provisioning Protocol (EPP) Contact Mapping (obsoletes RFC 4933)
- RFC 5734 - Extensible Provisioning Protocol (EPP) Transport over TCP (obsoletes RFC 4934)
Adoption
- IETF Implementation Report for RFCs 4930-4934. (This includes a list of top-level domain registries that have implemented EPP.)