| draft-ietf-sidr-publication-08.txt | draft-ietf-sidr-publication-09.txt | |||
|---|---|---|---|---|
| Network Working Group S. Weiler | Network Working Group S. Weiler | |||
| Internet-Draft Parsons | Internet-Draft Parsons | |||
| Intended status: Standards Track A. Sonalker | Intended status: Standards Track A. Sonalker | |||
| Expires: September 22, 2016 TowerSec | Expires: March 25, 2017 TowerSec | |||
| R. Austein | R. Austein | |||
| Dragon Research Labs | Dragon Research Labs | |||
| March 21, 2016 | September 21, 2016 | |||
| A Publication Protocol for the Resource Public Key Infrastructure (RPKI) | A Publication Protocol for the Resource Public Key Infrastructure (RPKI) | |||
| draft-ietf-sidr-publication-08 | draft-ietf-sidr-publication-09 | |||
| Abstract | Abstract | |||
| This document defines a protocol for publishing Resource Public Key | This document defines a protocol for publishing Resource Public Key | |||
| Infrastructure (RPKI) objects. Even though the RPKI will have many | Infrastructure (RPKI) objects. Even though the RPKI will have many | |||
| participants issuing certificates and creating other objects, it is | participants issuing certificates and creating other objects, it is | |||
| operationally useful to consolidate the publication of those objects. | operationally useful to consolidate the publication of those objects. | |||
| This document provides the protocol for doing so. | This document provides the protocol for doing so. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 37 | skipping to change at page 1, line 37 | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 22, 2016. | This Internet-Draft will expire on March 25, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 7, line 48 | skipping to change at page 7, line 48 | |||
| so. This error code just provides a way for the server to explain | so. This error code just provides a way for the server to explain | |||
| its (in-)action. | its (in-)action. | |||
| other_error: A meteor fell on the server. | other_error: A meteor fell on the server. | |||
| 2.6. XML Schema | 2.6. XML Schema | |||
| The following is a RelaxNG compact form schema describing the | The following is a RelaxNG compact form schema describing the | |||
| Publication Protocol. | Publication Protocol. | |||
| # $Id: rpki-publication.rnc 3595 2016-03-21 21:31:37Z sra $ | # $Id: rpki-publication.rnc 3785 2016-09-21 22:21:58Z sra $ | |||
| # RelaxNG schema for RPKI publication protocol. | # RelaxNG schema for RPKI publication protocol. | |||
| default namespace = | default namespace = | |||
| "http://www.hactrn.net/uris/rpki/publication-spec/" | "http://www.hactrn.net/uris/rpki/publication-spec/" | |||
| # This is version 4 of the protocol. | # This is version 4 of the protocol. | |||
| version = "4" | version = "4" | |||
| # Top level PDU is either a query or a reply. | # Top level PDU is either a query or a reply. | |||
| start |= element msg { | start |= element msg { | |||
| attribute version { version }, | attribute version { version }, | |||
| attribute type { "query" }, | attribute type { "query" }, | |||
| query_elt* | query_elt | |||
| } | } | |||
| start |= element msg { | start |= element msg { | |||
| attribute version { version }, | attribute version { version }, | |||
| attribute type { "reply" }, | attribute type { "reply" }, | |||
| reply_elt* | reply_elt | |||
| } | } | |||
| # Tag attributes for bulk operations. | # Tag attributes for bulk operations. | |||
| tag = attribute tag { xsd:token { maxLength="1024" } } | tag = attribute tag { xsd:token { maxLength="1024" } } | |||
| # Base64 encoded DER stuff. | # Base64 encoded DER stuff. | |||
| base64 = xsd:base64Binary | base64 = xsd:base64Binary | |||
| skipping to change at page 8, line 50 | skipping to change at page 8, line 50 | |||
| error |= "xml_error" | error |= "xml_error" | |||
| error |= "permission_failure" | error |= "permission_failure" | |||
| error |= "bad_cms_signature" | error |= "bad_cms_signature" | |||
| error |= "object_already_present" | error |= "object_already_present" | |||
| error |= "no_object_present" | error |= "no_object_present" | |||
| error |= "no_object_matching_hash" | error |= "no_object_matching_hash" | |||
| error |= "consistency_problem" | error |= "consistency_problem" | |||
| error |= "other_error" | error |= "other_error" | |||
| # <publish/> query | # <publish/> and <withdraw/> query elements | |||
| query_elt |= element publish { tag, uri, hash?, base64 } | ||||
| # <withdraw/> query | ||||
| query_elt |= element withdraw { tag, uri, hash } | query_elt |= ( | |||
| element publish { tag, uri, hash?, base64 } | | ||||
| element withdraw { tag, uri, hash } | ||||
| )* | ||||
| # <success/> reply | # <success/> reply | |||
| reply_elt |= element success { empty } | reply_elt |= element success { empty } | |||
| # <list/> query and reply | # <list/> query and reply | |||
| query_elt |= element list { empty } | query_elt |= element list { empty } | |||
| reply_elt |= element list { uri, hash } | reply_elt |= element list { uri, hash }* | |||
| # <report_error/> reply | # <report_error/> reply | |||
| reply_elt |= element report_error { | reply_elt |= element report_error { | |||
| tag?, | tag?, | |||
| attribute error_code { error }, | attribute error_code { error }, | |||
| element error_text { xsd:string { maxLength="512000" }}?, | element error_text { xsd:string { maxLength="512000" }}?, | |||
| element failed_pdu { query_elt }? | element failed_pdu { query_elt }? | |||
| } | }* | |||
| 3. Examples | 3. Examples | |||
| Following are examples of various queries and the corresponding | Following are examples of various queries and the corresponding | |||
| replies for the RPKI publication protocol. | replies for the RPKI publication protocol. | |||
| Note the authors have taken liberties with the Base64, hash, and URI | Note the authors have taken liberties with the Base64, hash, and URI | |||
| text in these examples in the interest of making the examples fit | text in these examples in the interest of making the examples fit | |||
| nicely into RFC text format. | nicely into RFC text format. | |||
| End of changes. 11 change blocks. | ||||
| 14 lines changed or deleted | 14 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||