| draft-ietf-sidr-publication-03.txt | draft-ietf-sidr-publication-04.txt | |||
|---|---|---|---|---|
| Network Working Group S. Weiler | Network Working Group S. Weiler | |||
| Internet-Draft SPARTA, Inc. | Internet-Draft SPARTA, Inc. | |||
| Intended status: Standards Track A. Sonalker | Intended status: Standards Track A. Sonalker | |||
| Expires: January 17, 2013 Battelle Memorial Institute | Expires: April 23, 2014 Battelle Memorial Institute | |||
| R. Austein | R. Austein | |||
| Dragon Research Labs | Dragon Research Labs | |||
| July 16, 2012 | October 20, 2013 | |||
| A Publication Protocol for the Resource Public Key Infrastructure (RPKI) | A Publication Protocol for the Resource Public Key Infrastructure (RPKI) | |||
| draft-ietf-sidr-publication-03 | draft-ietf-sidr-publication-04 | |||
| 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 | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 January 17, 2013. | This Internet-Draft will expire on April 23, 2014. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2013 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Context . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Context . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Protocol Specification . . . . . . . . . . . . . . . . . . . . 4 | 3. Protocol Specification . . . . . . . . . . . . . . . . . . . 3 | |||
| 3.1. Common Details . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Common Details . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1.1. Common XML Message Format . . . . . . . . . . . . . . 4 | 3.1.1. Common XML Message Format . . . . . . . . . . . . . . 4 | |||
| 3.2. Control Sub-Protocol . . . . . . . . . . . . . . . . . . . 5 | 3.2. Control Sub-Protocol . . . . . . . . . . . . . . . . . . 5 | |||
| 3.2.1. Config Object . . . . . . . . . . . . . . . . . . . . 5 | 3.2.1. Config Object . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.2.2. Client Object . . . . . . . . . . . . . . . . . . . . 5 | 3.2.2. Client Object . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.3. Publication Sub-Protocol . . . . . . . . . . . . . . . . . 6 | 3.3. Publication Sub-Protocol . . . . . . . . . . . . . . . . 6 | |||
| 3.4. Error handling . . . . . . . . . . . . . . . . . . . . . . 7 | 3.4. Error handling . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.5. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.5. XML Schema . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.1. Config Set Query and Response . . . . . . . . . . . . . . 9 | 4.1. <config/> Set Query . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.2. Config Get Query and Response . . . . . . . . . . . . . . 10 | 4.2. <config/> Set Reply . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.3. Example 3: Client Create Query and Reply . . . . . . . . . 11 | 4.3. <config/> Get Query . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.4. Example 4: Client Set Query and Reply . . . . . . . . . . 12 | 4.4. <config/> Get Reply . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.5. Example 5: Client Get Query and Reply . . . . . . . . . . 13 | 4.5. <client/> Create Query . . . . . . . . . . . . . . . . . 13 | |||
| 4.6. Example 6: Client List Query and Reply . . . . . . . . . . 13 | 4.6. <client/> Create Reply . . . . . . . . . . . . . . . . . 14 | |||
| 4.7. Example 7: Client Destroy Query and Reply . . . . . . . . 14 | 4.7. <client/> Set Query . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.8. Example 8: Publish Query and Reply . . . . . . . . . . . . 14 | 4.8. <client/> Set Reply . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.9. Example 9: Withdraw Query and Reply . . . . . . . . . . . 15 | 4.9. <client/> Get Query . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.10. Example 10: Report Error Reply . . . . . . . . . . . . . . 16 | 4.10. <client/> Get Reply . . . . . . . . . . . . . . . . . . . 15 | |||
| 5. Operational Considerations . . . . . . . . . . . . . . . . . . 16 | 4.11. <client/> List Query . . . . . . . . . . . . . . . . . . 16 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | 4.12. <client/> List Reply . . . . . . . . . . . . . . . . . . 16 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 | 4.13. <client/> Destroy Query . . . . . . . . . . . . . . . . . 17 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 4.14. <client/> Destroy Reply . . . . . . . . . . . . . . . . . 17 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . . 19 | 4.15. <publish/> Query . . . . . . . . . . . . . . . . . . . . 17 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . . 19 | 4.16. <publish/> Reply . . . . . . . . . . . . . . . . . . . . 18 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 | 4.17. <withdraw/> Query . . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.18. <withdraw/> Reply . . . . . . . . . . . . . . . . . . . . 19 | ||||
| 4.19. <report_error/> With Text . . . . . . . . . . . . . . . . 19 | ||||
| 4.20. <report_error/> Without Text . . . . . . . . . . . . . . 19 | ||||
| 5. Operational Considerations . . . . . . . . . . . . . . . . . 19 | ||||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | ||||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | ||||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | ||||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 21 | ||||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 22 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | ||||
| 1. Introduction | 1. Introduction | |||
| This document assumes a working knowledge of the Resource Public Key | This document assumes a working knowledge of the Resource Public Key | |||
| Infrastructure (RPKI), which is intended to support improved routing | Infrastructure (RPKI), which is intended to support improved routing | |||
| security on the Internet. [RFC6480] | security on the Internet. [RFC6480] | |||
| In order to make participation in the RPKI easier, it is helpful to | In order to make participation in the RPKI easier, it is helpful to | |||
| have a few consolidated repositories for RPKI objects, thus saving | have a few consolidated repositories for RPKI objects, thus saving | |||
| every participant from the cost of maintaining a new service. | every participant from the cost of maintaining a new service. | |||
| skipping to change at page 4, line 30 | skipping to change at page 4, line 27 | |||
| This section discusses details that the two subprotocols have in | This section discusses details that the two subprotocols have in | |||
| common, including the transport and CMS wrappers. | common, including the transport and CMS wrappers. | |||
| Both protocols use a simple request/response interaction. The client | Both protocols use a simple request/response interaction. The client | |||
| passes a request to the server, and the server generates a | passes a request to the server, and the server generates a | |||
| corresponding response. | corresponding response. | |||
| A message exchange commences with the client initiating an HTTP POST | A message exchange commences with the client initiating an HTTP POST | |||
| with content type of "application/rpki-publication", with the message | with content type of "application/rpki-publication", with the message | |||
| object as the body. The server's response will similarly be the body | object as the body. The server's response will similarly be the body | |||
| of the response with a content type of "application/ | of the response with a content type of "application/rpki- | |||
| rpki-publication". | publication". | |||
| The content of the POST and the server's response will be a well- | The content of the POST and the server's response will be a well- | |||
| formed Cryptographic Message Syntax (CMS) [RFC5652] object with OID = | formed Cryptographic Message Syntax (CMS) [RFC5652] object with OID = | |||
| 1.2.840.113549.1.7.2 as described in Section 3.1 of [RFC6492]. | 1.2.840.113549.1.7.2 as described in Section 3.1 of [RFC6492]. | |||
| 3.1.1. Common XML Message Format | 3.1.1. Common XML Message Format | |||
| The XML schema for this protocol (including both subprotocols) is | The XML schema for this protocol (including both subprotocols) is | |||
| below in Section 3.5. Both subprotocols use the same basic XML | below in Section 3.5. Both subprotocols use the same basic XML | |||
| message format, which looks like: | message format, which looks like: | |||
| <?xml version='1.0' encoding='us-ascii'?> | <?xml version='1.0' encoding='us-ascii'?> | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | |||
| version="2" | version="2" | |||
| type="message type"> | type="message type"> | |||
| [one or more PDUs] | [one or more PDUs] | |||
| </msg> | </msg> | |||
| version: | version: The value of this attribute is the version of this | |||
| The value of this attribute is the version of this protocol. | protocol. This document describes version 2. | |||
| This document describes version 2. | ||||
| type: | type: The possible values of this attribute are "reply" and "query". | |||
| The possible values of this attribute are "reply" and "query". | ||||
| A query PDU may be one of four types: config_query, client_query, | A query PDU may be one of four types: config_query, client_query, | |||
| publish_query, or withdraw_query. The first two are used by the | publish_query, or withdraw_query. The first two are used by the | |||
| control sub-protocol, the latter two by the publication sub-protocol. | control sub-protocol, the latter two by the publication sub-protocol. | |||
| A reply PDU may be one of five types: config_reply, client_reply, | A reply PDU may be one of five types: config_reply, client_reply, | |||
| publish_reply, withdraw_reply, or report_error_reply. | publish_reply, withdraw_reply, or report_error_reply. | |||
| Each of these PDUs may include an optional tag to facilitate bulk | Each of these PDUs may include an optional tag to facilitate bulk | |||
| operation. If a tag is set in a query PDU, the corresponding | operation. If a tag is set in a query PDU, the corresponding | |||
| skipping to change at page 6, line 10 | skipping to change at page 5, line 45 | |||
| 3.2.2. Client Object | 3.2.2. Client Object | |||
| Unlike the <config/> object, the <client/> object represents one | Unlike the <config/> object, the <client/> object represents one | |||
| client authorized to use the publication server. There may be more | client authorized to use the publication server. There may be more | |||
| than one <client/> object on each publication server. Again, its use | than one <client/> object on each publication server. Again, its use | |||
| is typically restricted to the respository operator. | is typically restricted to the respository operator. | |||
| The <client/> object supports five actions: "create", "set", "get", | The <client/> object supports five actions: "create", "set", "get", | |||
| "list", and "destroy". Each client has a "client_handle" attribute, | "list", and "destroy". Each client has a "client_handle" attribute, | |||
| which is used in responses and must be specified in "create", "set", | which is used in responses and must be specified in "create", "set", | |||
| "get", or "destroy" actions. The "create" and "set" actions take | "get", or "destroy" actions. The "create" and "set" actions have an | |||
| optional boolean attributes. The only attribute currently defined is | optional flag to clear CMS-timestamp-based replay protection, to | |||
| used to clear CMS-timestamp-based replay protection, to allow | allow recovery from misconfigured clocks. | |||
| recovery from misconfigured clocks. | ||||
| Payload data which can be configured in a <client/> object include: | Payload data which can be configured in a <client/> object include: | |||
| o base_uri (attribute): This attribute represents the base URI below | o base_uri (attribute): This attribute represents the base URI below | |||
| which the client will be allowed to publish data. Additional | which the client will be allowed to publish data. Additional | |||
| constraints may be imposed by the publication server in certain | constraints may be imposed by the publication server in certain | |||
| cases, for e.g., a child publishing directly under its parent. | cases, for e.g., a child publishing directly under its parent. | |||
| o bpki_cert (element): This represents the X.509 BPKI CA certificate | o bpki_cert (element): This represents the X.509 BPKI CA certificate | |||
| for this client. This should be used as part of the certificate | for this client. This should be used as part of the certificate | |||
| chain when validating incoming CMS messages. Two valid approaches | chain when validating incoming CMS messages. Two valid approaches | |||
| exist. If the optional bpki_glue certificate is being used, then | exist. If the optional bpki_glue certificate is being used, then | |||
| the bpki_cert certificate should be issued by the bpki_glue | the bpki_cert certificate should be issued by the bpki_glue | |||
| certificate; otherwise, the bpki_cert certificate should be issued | certificate; otherwise, the bpki_cert certificate should be issued | |||
| by the publication engine's bpki_ta certificate. | by the publication engine's bpki_ta certificate. | |||
| o bpki_glue (element): This is an additional (optional) X.509 | o bpki_glue (element): This is an additional (optional) type of | |||
| certificate for this client. It may be used in certain | X.509 certificate for this client. It may be used in certain | |||
| pathological cross-certification cases which require a two- | pathological cross-certification cases which require a two- | |||
| certificate chain due to issuer name conflicts. When being used, | certificate chain due to issuer name conflicts. When being used, | |||
| issuing order is that the bpki_glue certificate should be the | issuing order is that the bpki_glue certificate should be the | |||
| issuer of the bpki_cert certificate. Otherwise, it should be | issuer of the bpki_cert certificate. Otherwise, it should be | |||
| issued by the publication engine's bpki_ta certificate. Since | issued by the publication engine's bpki_ta certificate. Since | |||
| this is an optional use certificate, it may be left unset if not | this is an optional use certificate, it may be left unset if not | |||
| needed. | needed. | |||
| 3.3. Publication Sub-Protocol | 3.3. Publication Sub-Protocol | |||
| skipping to change at page 7, line 48 | skipping to change at page 7, line 43 | |||
| occurred. | occurred. | |||
| The body of the <report_error/> element itself is an optional text | The body of the <report_error/> element itself is an optional text | |||
| string; if present, this is debugging information. | string; if present, this is debugging information. | |||
| 3.5. XML Schema | 3.5. 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. | |||
| default namespace = "http://www.hactrn.net/uris/rpki/publication-spec/" | # $Id: rpki-publication.rnc 2601 2013-10-18 19:21:28Z sra $ | |||
| # RelaxNG schema for RPKI publication protocol. | ||||
| default namespace = | ||||
| "http://www.hactrn.net/uris/rpki/publication-spec/" | ||||
| # This is version 2 of the protocol. | ||||
| version = "2" | ||||
| # Top level PDU is either a query or a reply. | ||||
| # Top level PDU | ||||
| start = element msg { | start = element msg { | |||
| attribute version { "2" } , | attribute version { version } , | |||
| ( ( attribute type { "query" }, query_elt*) | | ( ( attribute type { "query" }, query_elt*) | | |||
| (attribute type { "reply" }, reply_elt*)) | (attribute type { "reply" }, reply_elt*)) | |||
| } | } | |||
| # PDUs allowed in a query | # PDUs allowed in a query. | |||
| query_elt = ( config_query | client_query | publish_query | | ||||
| withdraw_query ) | ||||
| # PDUs allowed in a reply | query_elt |= config_query | |||
| reply_elt = ( config_reply | client_reply | publish_reply | | query_elt |= client_query | |||
| withdraw_reply | report_error_reply ) | query_elt |= publish_query | |||
| query_elt |= withdraw_query | ||||
| # PDUs allowed in a reply. | ||||
| reply_elt |= config_reply | ||||
| reply_elt |= client_reply | ||||
| reply_elt |= publish_reply | ||||
| reply_elt |= withdraw_reply | ||||
| reply_elt |= report_error_reply | ||||
| # 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 | |||
| # Publication URLs | # Publication URLs. | |||
| uri_t = xsd:anyURI { maxLength="4096" } | uri_t = xsd:anyURI { maxLength="4096" } | |||
| uri = attribute uri { uri_t } | uri = attribute uri { uri_t } | |||
| # Handles on remote objects (replaces passing raw SQL IDs). NB: | # Handles on remote objects (replaces passing raw SQL IDs). | |||
| # Unlike the up-down protocol, handles in this protocol allow | ||||
| # "/" as a hierarchy delimiter. | ||||
| object_handle = xsd:string { | object_handle = xsd:string { | |||
| maxLength="255" pattern="[\-_A-Za-z0-9/]*" } | maxLength = "255" | |||
| pattern="[\-_A-Za-z0-9/]*" | ||||
| } | ||||
| # Error codes. | ||||
| error = xsd:token { maxLength="1024" } | ||||
| # <config/> element (use restricted to repository operator) | # <config/> element (use restricted to repository operator) | |||
| # config_handle attribute: create, list, and destroy commands | ||||
| # omitted deliberately. | ||||
| config_payload = (element bpki_crl { base64 }?) | config_payload = (element bpki_crl { base64 }?) | |||
| config_query |= element config { attribute action { "set" }, tag?, | ||||
| config_payload } | config_query |= element config { | |||
| config_reply |= element config { attribute action { "set" }, tag? } | attribute action { "set" }, | |||
| config_query |= element config { attribute action { "get" }, tag? } | tag?, | |||
| config_reply |= element config { attribute action { "get" }, tag?, | config_payload | |||
| config_payload } | } | |||
| config_reply |= element config { | ||||
| attribute action { "set" }, | ||||
| tag? | ||||
| } | ||||
| config_query |= element config { | ||||
| attribute action { "get" }, | ||||
| tag? | ||||
| } | ||||
| config_reply |= element config { | ||||
| attribute action { "get" }, | ||||
| tag?, | ||||
| config_payload | ||||
| } | ||||
| # <client/> element (use restricted to repository operator) | # <client/> element (use restricted to repository operator) | |||
| client_handle = attribute client_handle { object_handle } | client_handle = attribute client_handle { object_handle } | |||
| client_payload = (attribute base_uri { uri_t }?, element bpki_cert { | ||||
| base64 }?, element bpki_glue { base64 }?) | ||||
| client_bool = attribute clear_replay_protection { "yes" }? | ||||
| client_query |= element client { attribute action { "create" }, | client_payload = ( | |||
| tag?, client_handle, client_bool, client_payload } | attribute base_uri { uri_t }?, | |||
| client_reply |= element client { attribute action { "create" }, | element bpki_cert { base64 }?, | |||
| tag?, client_handle } | element bpki_glue { base64 }? | |||
| client_query |= element client { attribute action { "set" }, tag?, | ) | |||
| client_handle, client_bool, client_payload } | ||||
| client_reply |= element client { attribute action { "set" }, tag?, | client_clear_replay = ( | |||
| client_handle } | attribute clear_replay_protection { "yes" }? | |||
| client_query |= element client { attribute action { "get" }, tag?, | ) | |||
| client_handle } | ||||
| client_reply |= element client { attribute action { "get" }, tag?, | client_query |= element client { | |||
| client_handle, client_payload } | attribute action { "create" }, | |||
| client_query |= element client { attribute action { "list" }, tag? } | tag?, | |||
| client_reply |= element client { attribute action { "list" }, tag?, | client_handle, | |||
| client_handle, client_payload } | client_clear_replay, | |||
| client_query |= element client { attribute action { "destroy" }, | client_payload | |||
| tag?, client_handle } | } | |||
| client_reply |= element client { attribute action { "destroy" }, | ||||
| tag?, client_handle } | client_reply |= element client { | |||
| attribute action { "create" }, | ||||
| tag?, | ||||
| client_handle | ||||
| } | ||||
| client_query |= element client { | ||||
| attribute action { "set" }, | ||||
| tag?, | ||||
| client_handle, | ||||
| client_clear_replay, | ||||
| client_payload | ||||
| } | ||||
| client_reply |= element client { | ||||
| attribute action { "set" }, | ||||
| tag?, | ||||
| client_handle | ||||
| } | ||||
| client_query |= element client { | ||||
| attribute action { "get" }, | ||||
| tag?, | ||||
| client_handle | ||||
| } | ||||
| client_reply |= element client { | ||||
| attribute action { "get" }, | ||||
| tag?, | ||||
| client_handle, | ||||
| client_payload | ||||
| } | ||||
| client_query |= element client { | ||||
| attribute action { "list" }, | ||||
| tag? | ||||
| } | ||||
| client_reply |= element client { | ||||
| attribute action { "list" }, | ||||
| tag?, | ||||
| client_handle, | ||||
| client_payload | ||||
| } | ||||
| client_query |= element client { | ||||
| attribute action { "destroy" }, | ||||
| tag?, | ||||
| client_handle | ||||
| } | ||||
| client_reply |= element client { | ||||
| attribute action { "destroy" }, | ||||
| tag?, | ||||
| client_handle | ||||
| } | ||||
| # <publish/> element | # <publish/> element | |||
| publish_query |= element publish { tag?, uri, base64 } | ||||
| publish_reply |= element publish { tag?, uri } | publish_query |= element publish { | |||
| tag?, | ||||
| uri, | ||||
| base64 | ||||
| } | ||||
| publish_reply |= element publish { | ||||
| tag?, | ||||
| uri | ||||
| } | ||||
| # <withdraw/> element | # <withdraw/> element | |||
| withdraw_query |= element withdraw { tag?, uri } | ||||
| withdraw_reply |= element withdraw { tag?, uri } | withdraw_query |= element withdraw { | |||
| tag?, | ||||
| uri | ||||
| } | ||||
| withdraw_reply |= element withdraw { | ||||
| tag?, | ||||
| uri | ||||
| } | ||||
| # <report_error/> element | # <report_error/> element | |||
| error = xsd:token { maxLength="1024" } | ||||
| report_error_reply = element report_error { | report_error_reply = element report_error { | |||
| tag?, | tag?, | |||
| attribute error_code { error }, | attribute error_code { error }, | |||
| xsd:string { maxLength="512000" }? | xsd:string { maxLength="512000" }? | |||
| } | } | |||
| 4. Examples | 4. Examples | |||
| Following are various queries and the corresponding replies for the | Following are examples of various queries and the corresponding | |||
| RPKI publication protocol | replies for the RPKI publication protocol | |||
| 4.1. Config Set Query and Response | ||||
| A. Config "Set" Query | 4.1. <config/> Set Query | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| type="query" version="2"> | type="query" | |||
| <config action="set"> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <config | ||||
| action="set"> | ||||
| <bpki_crl> | <bpki_crl> | |||
| MIIBezBlAgEBMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMTGFRlc3QgQ2Vyd | MIIBezBlAgEBMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMTGFRlc3QgQ2Vy | |||
| GlmaWNhdGUgcHViZCBUQRcNMDgwNjAyMjE0OTQ1WhcNMDgwNzAyMjE0OTQ1Wq | dGlmaWNhdGUgcHViZCBUQRcNMDgwNjAyMjE0OTQ1WhcNMDgwNzAyMjE0OTQ1 | |||
| AOMAwwCgYDVR0UBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAFWCWgBl4ljVqX/ | WqAOMAwwCgYDVR0UBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAFWCWgBl4ljV | |||
| CHo+RpqYtvmKMnjPVflMXUB7i28RGP4DAq4l7deDU7Q82xEJyE4TXMWDWAV6U | qX/CHo+RpqYtvmKMnjPVflMXUB7i28RGP4DAq4l7deDU7Q82xEJyE4TXMWDW | |||
| G6uUGum0VHWOcj9ohqyiZUGfOsKg2hbwkETm8sAENOsi1yNdyKGk6jZ16aF5f | AV6UG6uUGum0VHWOcj9ohqyiZUGfOsKg2hbwkETm8sAENOsi1yNdyKGk6jZ1 | |||
| ubxQqZa1pdGCSac1/ZYC5sLLhEz3kmz+B9z9mXFVc5TgAh4dN3Gy5ftF8zZAF | 6aF5fubxQqZa1pdGCSac1/ZYC5sLLhEz3kmz+B9z9mXFVc5TgAh4dN3Gy5ft | |||
| pDGnS4biCnRVqhGv6R0Lh/5xmii+ZU6kNDhbeMsjJg+ZOmtN+wMeHSIbjiy0W | F8zZAFpDGnS4biCnRVqhGv6R0Lh/5xmii+ZU6kNDhbeMsjJg+ZOmtN+wMeHS | |||
| uuaZ3k2xSh0C94anrHBZAvvCRhbazjR0Ef5OMZ5lcllw3uO8IHuoisHKkehy4 | Ibjiy0WuuaZ3k2xSh0C94anrHBZAvvCRhbazjR0Ef5OMZ5lcllw3uO8IHuoi | |||
| Y0GySdj98fV+OuiRTH9vt/M= | sHKkehy4Y0GySdj98fV+OuiRTH9vt/M= | |||
| </bpki_crl> | </bpki_crl> | |||
| </config> | </config> | |||
| </msg> | </msg> | |||
| B. Config "Set" Reply | 4.2. <config/> Set Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| type="reply" version="2"> | type="reply" | |||
| <config action="set"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <config | ||||
| action="set"/> | ||||
| </msg> | </msg> | |||
| 4.2. Config Get Query and Response | 4.3. <config/> Get Query | |||
| A. Config "Get" Query | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| type="query" version="2"> | type="query" | |||
| <config action="get"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <config | ||||
| action="get"/> | ||||
| </msg> | </msg> | |||
| B. Config "Get" Reply | 4.4. <config/> Get Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | ||||
| type="reply" version="2"> | <msg | |||
| <config action="get"> | type="reply" | |||
| version="2" | ||||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <config | ||||
| action="get"> | ||||
| <bpki_crl> | <bpki_crl> | |||
| MIIBezBlAgEBMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMTGFRlc3QgQ2Vyd | MIIBezBlAgEBMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMTGFRlc3QgQ2Vy | |||
| GlmaWNhdGUgcHViZCBUQRcNMDgwNjAyMjE0OTQ1WhcNMDgwNzAyMjE0OTQ1Wq | dGlmaWNhdGUgcHViZCBUQRcNMDgwNjAyMjE0OTQ1WhcNMDgwNzAyMjE0OTQ1 | |||
| AOMAwwCgYDVR0UBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAFWCWgBl4ljVqX/ | WqAOMAwwCgYDVR0UBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAFWCWgBl4ljV | |||
| CHo+RpqYtvmKMnjPVflMXUB7i28RGP4DAq4l7deDU7Q82xEJyE4TXMWDWAV6U | qX/CHo+RpqYtvmKMnjPVflMXUB7i28RGP4DAq4l7deDU7Q82xEJyE4TXMWDW | |||
| G6uUGum0VHWOcj9ohqyiZUGfOsKg2hbwkETm8sAENOsi1yNdyKGk6jZ16aF5f | AV6UG6uUGum0VHWOcj9ohqyiZUGfOsKg2hbwkETm8sAENOsi1yNdyKGk6jZ1 | |||
| ubxQqZa1pdGCSac1/ZYC5sLLhEz3kmz+B9z9mXFVc5TgAh4dN3Gy5ftF8zZAF | 6aF5fubxQqZa1pdGCSac1/ZYC5sLLhEz3kmz+B9z9mXFVc5TgAh4dN3Gy5ft | |||
| pDGnS4biCnRVqhGv6R0Lh/5xmii+ZU6kNDhbeMsjJg+ZOmtN+wMeHSIbjiy0W | F8zZAFpDGnS4biCnRVqhGv6R0Lh/5xmii+ZU6kNDhbeMsjJg+ZOmtN+wMeHS | |||
| uuaZ3k2xSh0C94anrHBZAvvCRhbazjR0Ef5OMZ5lcllw3uO8IHuoisHKkehy4 | Ibjiy0WuuaZ3k2xSh0C94anrHBZAvvCRhbazjR0Ef5OMZ5lcllw3uO8IHuoi | |||
| Y0GySdj98fV+OuiRTH9vt/M= | sHKkehy4Y0GySdj98fV+OuiRTH9vt/M= | |||
| </bpki_crl> | </bpki_crl> | |||
| </config> | </config> | |||
| </msg> | </msg> | |||
| 4.3. Example 3: Client Create Query and Reply | 4.5. <client/> Create Query | |||
| A. Client "Create" Query | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="query"> | type="query" | |||
| <client action="create" client_handle="3" | version="2" | |||
| base_uri="rsync://wombat.invalid/"> | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| <client | ||||
| action="create" | ||||
| base_uri="rsync://wombat.invalid/" | ||||
| client_handle="3"> | ||||
| <bpki_cert> | <bpki_cert> | |||
| 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 | |||
| 1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | hdEq3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | |||
| </bpki_cert> | </bpki_cert> | |||
| </client> | </client> | |||
| </msg> | </msg> | |||
| B. Client "Create" Reply | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | 4.6. <client/> Create Reply | |||
| version="2" type="reply"> | ||||
| <client action="create" client_handle="3"/> | ||||
| </msg> | ||||
| 4.4. Example 4: Client Set Query and Reply | <msg | |||
| type="reply" | ||||
| version="2" | ||||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="create" | ||||
| client_handle="3"/> | ||||
| </msg> | ||||
| A. Client "Set" Query | 4.7. <client/> Set Query | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="query"> | type="query" | |||
| <client action="set" client_handle="3"> | version="2" | |||
| <bpki_glue> | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAgB | <client | |||
| gNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1Mz | action="set" | |||
| EwWhcNMDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmljYXR | client_handle="3"> | |||
| lIEJvYiBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKYU | <bpki_cert> | |||
| tJaM5PH5917SG2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79pWf3GI | MIIDGzCCAgOgAwIBAgIJAKi+/+wUhQlxMA0GCSqGSIb3DQEBBQUAMCQxIjAg | |||
| dnoupzMnoZVtY3GUx2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuEPPOG8U | BgNVBAMTGVRlc3QgQ2VydGlmaWNhdGUgQm9iIFJvb3QwHhcNMDcwODAxMTk1 | |||
| N17mUKKgujrch6ZvgCDO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShLi8GKgVd | MzEwWhcNMDcwODMxMTk1MzEwWjAkMSIwIAYDVQQDExlUZXN0IENlcnRpZmlj | |||
| qb/rW/6GTg0Xb/zLT6WWMuT++6sXTlztJdQYkRamJvKfQDU1naC8mAkGf79Tb | YXRlIEJvYiBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA | |||
| a0xyBGAUII0GfREY6t4/+NAP2Yyb3xNlBqcJoTov0JfNKHZcCZePr79j7LK/h | rKYUtJaM5PH5917SG2ACc7iBYdQO2HYyu8Gb6i9Q2Gxc3cWEX7RTBvgOL79p | |||
| kZxxip+Na9xDpE+oQRV+DRukCRJdiqg+wIDAQABo1AwTjAMBgNVHRMEBTADAQ | Wf3GIdnoupzMnoZVtY3GUx2G/0WkmLui2TCeDhcfXdQ4rcp8J3V/6ESj+yuE | |||
| H/MB0GA1UdDgQWBBTDEsXJe6pjAQD4ULlB7+GMDBlimTAfBgNVHSMEGDAWgBT | PPOG8UN17mUKKgujrch6ZvgCDO9AyOK/uXu+ABQXTPsn2pVe2EVh3V004ShL | |||
| DEsXJe6pjAQD4ULlB7+GMDBlimTANBgkqhkiG9w0BAQUFAAOCAQEAWWkNcW6S | i8GKgVdqb/rW/6GTg0Xb/zLT6WWMuT++6sXTlztJdQYkRamJvKfQDU1naC8m | |||
| 1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acgcum1YieNdtT0n96P7CUHOWP8Q | AkGf79Tba0xyBGAUII0GfREY6t4/+NAP2Yyb3xNlBqcJoTov0JfNKHZcCZeP | |||
| Bb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4XY39EZHhMW+Dv0PhIKu2Cg | r79j7LK/hkZxxip+Na9xDpE+oQRV+DRukCRJdiqg+wIDAQABo1AwTjAMBgNV | |||
| D4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Smsqep6LAlFj62qqaIJzN | HRMEBTADAQH/MB0GA1UdDgQWBBTDEsXJe6pjAQD4ULlB7+GMDBlimTAfBgNV | |||
| eQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdHYyMNrG2xMOtIC7T4 | HSMEGDAWgBTDEsXJe6pjAQD4ULlB7+GMDBlimTANBgkqhkiG9w0BAQUFAAOC | |||
| +IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6hdEq3ORv7RZMJNYqv | AQEAWWkNcW6S1tKKqtzJsdfhjJiAAPQmOXJskv0ta/8f6Acgcum1YieNdtT0 | |||
| 1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | n96P7CUHOWP8QBb91JzeewR7b6WJLwb1Offs3wNq3kk75pJe89r4XY39EZHh | |||
| </bpki_glue> | MW+Dv0PhIKu2CgD4LeyH1FVTQkF/QObGEmkn+s+HTsuzd1l2VLwcP1Smsqep | |||
| 6LAlFj62qqaIJzNeQ9NVkBqtkygnYlBOkaBTHfQTux3jYNpEo8JJB5e/WFdH | ||||
| YyMNrG2xMOtIC7T4+IOHgT8PgrNhaeDg9ctewj0X8Qi9nI9nXeinicLX8vj6 | ||||
| hdEq3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | ||||
| </bpki_cert> | ||||
| </client> | </client> | |||
| </msg> | </msg> | |||
| B. Client "Set" Reply | 4.8. <client/> Set Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <client action="set" client_handle="3"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="set" | ||||
| client_handle="3"/> | ||||
| </msg> | </msg> | |||
| 4.5. Example 5: Client Get Query and Reply | 4.9. <client/> Get Query | |||
| A. Client "Get" Query | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="query"> | type="query" | |||
| <client action="get" client_handle="3"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="get" | ||||
| client_handle="3"/> | ||||
| </msg> | </msg> | |||
| B. Client "Get" Reply | 4.10. <client/> Get Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <client action="get" client_handle="3" | version="2" | |||
| base_uri="rsync://wombat.invalid/"> | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| <client | ||||
| action="get" | ||||
| base_uri="rsync://wombat.invalid/" | ||||
| client_handle="3"> | ||||
| <bpki_cert> | <bpki_cert> | |||
| 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 | |||
| 1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | hdEq3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | |||
| </bpki_cert> | </bpki_cert> | |||
| </client> | </client> | |||
| </msg> | </msg> | |||
| 4.6. Example 6: Client List Query and Reply | 4.11. <client/> List Query | |||
| A. Client "List" Query | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="query"> | type="query" | |||
| <client action="list"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="list"/> | ||||
| </msg> | </msg> | |||
| B. Client "List" Reply | 4.12. <client/> List Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | ||||
| version="2" type="reply"> | <msg | |||
| <client action="list" client_handle="3"> | type="reply" | |||
| version="2" | ||||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="list" | ||||
| client_handle="3"> | ||||
| <bpki_cert> | <bpki_cert> | |||
| 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 | |||
| 1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | hdEq3ORv7RZMJNYqv1HQ3wUE2B7fCPFv7EUwzaCds1kgRQ== | |||
| </bpki_cert> | </bpki_cert> | |||
| </client> | </client> | |||
| </msg> | </msg> | |||
| 4.7. Example 7: Client Destroy Query and Reply | 4.13. <client/> Destroy Query | |||
| A. Client "Destroy" Query | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="query"> | type="query" | |||
| <client action="destroy" client_handle="3"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="destroy" | ||||
| client_handle="3"/> | ||||
| </msg> | </msg> | |||
| B. Client "Destroy" Reply | 4.14. <client/> Destroy Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <client action="destroy" client_handle="3"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <client | ||||
| action="destroy" | ||||
| client_handle="3"/> | ||||
| </msg> | </msg> | |||
| 4.8. Example 8: Publish Query and Reply | 4.15. <publish/> Query | |||
| A. Publish Query | <msg | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | type="query" | |||
| version="2" type="query"> | version="2" | |||
| <publish uri="rsync://wombat.invalid/testbed/RIR/1/j7ghjwblCr | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| cCp9ltyPDNzYKPfxc.cer"> | <publish | |||
| MIIE+jCCA+KgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAzMTEwLwYDVQQDEyhER | uri="rsync://wombat.invalid/Alice/blCrcCp9ltyPDNzYKPfxc.cer"> | |||
| jRBODAxN0U2NkE5RTkxNzJFNDYxMkQ4Q0Y0QzgzRjIzOERFMkEzMB4XDTA4MD | MIIE+jCCA+KgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAzMTEwLwYDVQQDEyhE | |||
| UyMjE4MDUxMloXDTA4MDUyNDE3NTQ1M1owMzExMC8GA1UEAxMoOEZCODIxOEY | RjRBODAxN0U2NkE5RTkxNzJFNDYxMkQ4Q0Y0QzgzRjIzOERFMkEzMB4XDTA4 | |||
| wNkU1MEFCNzAyQTdEOTZEQzhGMENEQ0Q4MjhGN0YxNzCCASIwDQYJKoZIhvcN | MDUyMjE4MDUxMloXDTA4MDUyNDE3NTQ1M1owMzExMC8GA1UEAxMoOEZCODIx | |||
| AQEBBQADggEPADCCAQoCggEBAMeziKp0k5nP7v6SZoNsXIMQYRgNtC6Fr/9Xm | OEYwNkU1MEFCNzAyQTdEOTZEQzhGMENEQ0Q4MjhGN0YxNzCCASIwDQYJKoZI | |||
| /1yQHomiPqHUk47rHhGojYiK5AhkrwoYhkH4UjJl2iwklDYczXuaBU3F5qrKl | hvcNAQEBBQADggEPADCCAQoCggEBAMeziKp0k5nP7v6SZoNsXIMQYRgNtC6F | |||
| Z4aZnjIxdlP7+hktVpeApL6yuJTUAYeC3UIxnLDVdD6phydZ/FOQluffiNDjz | r/9Xm/1yQHomiPqHUk47rHhGojYiK5AhkrwoYhkH4UjJl2iwklDYczXuaBU3 | |||
| teCCvoyOUatqt8WB+oND6LToHp028g1YUYLHG6mur0dPdcHOVXLSmUDuZ1HDz | F5qrKlZ4aZnjIxdlP7+hktVpeApL6yuJTUAYeC3UIxnLDVdD6phydZ/FOQlu | |||
| 1nDuYvIVKjB/MpH9aW9XeaQ6ZFIlZVPwuuvI2brR+ThH7Gv27GL/o8qFdC300 | ffiNDjzteCCvoyOUatqt8WB+oND6LToHp028g1YUYLHG6mur0dPdcHOVXLSm | |||
| VQfoTZ+rKPGDE8K1cI906BL4kiwx9z0oiDcE96QCz+B0vsjc9mGaA1jgAxlXW | UDuZ1HDz1nDuYvIVKjB/MpH9aW9XeaQ6ZFIlZVPwuuvI2brR+ThH7Gv27GL/ | |||
| sCAwEAAaOCAhcwggITMB0GA1UdDgQWBBSPuCGPBuUKtwKn2W3I8M3Ngo9/FzA | o8qFdC300VQfoTZ+rKPGDE8K1cI906BL4kiwx9z0oiDcE96QCz+B0vsjc9mG | |||
| fBgNVHSMEGDAWgBTfSoAX5mqekXLkYS2M9Mg/I43iozBVBgNVHR8ETjBMMEqg | aA1jgAxlXWsCAwEAAaOCAhcwggITMB0GA1UdDgQWBBSPuCGPBuUKtwKn2W3I | |||
| SKBGhkRyc3luYzovL2xvY2FsaG9zdDo0NDAwL3Rlc3RiZWQvUklSLzEvMzBxQ | 8M3Ngo9/FzAfBgNVHSMEGDAWgBTfSoAX5mqekXLkYS2M9Mg/I43iozBVBgNV | |||
| UYtWnFucEZ5NUdFdGpQVElQeU9ONHFNLmNybDBFBggrBgEFBQcBAQQ5MDcwNQ | HR8ETjBMMEqgSKBGhkRyc3luYzovL2xvY2FsaG9zdDo0NDAwL3Rlc3RiZWQv | |||
| YIKwYBBQUHMAKGKXJzeW5jOi8vbG9jYWxob3N0OjQ0MDAvdGVzdGJlZC9XT01 | UklSLzEvMzBxQUYtWnFucEZ5NUdFdGpQVElQeU9ONHFNLmNybDBFBggrBgEF | |||
| CQVQuY2VyMBgGA1UdIAEB/wQOMAwwCgYIKwYBBQUHDgIwDwYDVR0TAQH/BAUw | BQcBAQQ5MDcwNQYIKwYBBQUHMAKGKXJzeW5jOi8vbG9jYWxob3N0OjQ0MDAv | |||
| AwEB/zAOBgNVHQ8BAf8EBAMCAQYwgZsGCCsGAQUFBwELBIGOMIGLMDQGCCsGA | dGVzdGJlZC9XT01CQVQuY2VyMBgGA1UdIAEB/wQOMAwwCgYIKwYBBQUHDgIw | |||
| QUFBzAFhihyc3luYzovL2xvY2FsaG9zdDo0NDAwL3Rlc3RiZWQvUklSL1IwLz | DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgZsGCCsGAQUFBwEL | |||
| EvMFMGCCsGAQUFBzAKhkdyc3luYzovL2xvY2FsaG9zdDo0NDAwL3Rlc3RiZWQ | BIGOMIGLMDQGCCsGAQUFBzAFhihyc3luYzovL2xvY2FsaG9zdDo0NDAwL3Rl | |||
| vUklSL1IwLzEvajdnaGp3YmxDcmNDcDlsdHlQRE56WUtQZnhjLm1uZjAaBggr | c3RiZWQvUklSL1IwLzEvMFMGCCsGAQUFBzAKhkdyc3luYzovL2xvY2FsaG9z | |||
| BgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwPgYIKwYBBQUHAQcBAf8ELzAtMCsEA | dDo0NDAwL3Rlc3RiZWQvUklSL1IwLzEvajdnaGp3YmxDcmNDcDlsdHlQRE56 | |||
| gABMCUDAwAKAzAOAwUAwAACAQMFAcAAAiAwDgMFAsAAAiwDBQDAAAJkMA0GCS | WUtQZnhjLm1uZjAaBggrBgEFBQcBCAEB/wQLMAmgBzAFAgMA/BUwPgYIKwYB | |||
| qGSIb3DQEBCwUAA4IBAQCEhuH7jtI2PJY6+zwv306vmCuXhtu9Lr2mmRw2ZEr | BQUHAQcBAf8ELzAtMCsEAgABMCUDAwAKAzAOAwUAwAACAQMFAcAAAiAwDgMF | |||
| B8EMcb5xypMrNqMoKeu14K2x4a4RPJkK4yAThM81FPNRsU5mM0acIRnAPtxjH | AsAAAiwDBQDAAAJkMA0GCSqGSIb3DQEBCwUAA4IBAQCEhuH7jtI2PJY6+zwv | |||
| vPME7PHN2w2nGLASRsZmaa+b8A7SSOxVcFURazENztppsolHeTpm0cpLItK7m | 306vmCuXhtu9Lr2mmRw2ZErB8EMcb5xypMrNqMoKeu14K2x4a4RPJkK4yATh | |||
| NpudUg1JGuFo94VLf1MnE2EqARG1vTsNhel/SM/UvOArCCOBvf0Gz7kSuupDS | M81FPNRsU5mM0acIRnAPtxjHvPME7PHN2w2nGLASRsZmaa+b8A7SSOxVcFUR | |||
| Z7qx+LiDmtEsLdbGNQBiYPbLrDk41PHrxdx28qIj7ejZkRzNFw/3pi8/XK281 | azENztppsolHeTpm0cpLItK7mNpudUg1JGuFo94VLf1MnE2EqARG1vTsNhel | |||
| h8zeHoFVu6ghRPy5dbOA4akX/KG6b8XIx0iwPYdLiDbdWFbtTdPcXBauY | /SM/UvOArCCOBvf0Gz7kSuupDSZ7qx+LiDmtEsLdbGNQBiYPbLrDk41PHrxd | |||
| x28qIj7ejZkRzNFw/3pi8/XK281h8zeHoFVu6ghRPy5dbOA4akX/KG6b8XIx | ||||
| 0iwPYdLiDbdWFbtTdPcXBauY | ||||
| </publish> | </publish> | |||
| </msg> | </msg> | |||
| B. Publish Reply | 4.16. <publish/> Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <publish uri="rsync://wombat.invalid/testbed/RIR/1/j7ghjwblCr | version="2" | |||
| cCp9ltyPDNzYKPfxc.cer"/> | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| <publish | ||||
| uri="rsync://wombat.invalid/Alice/blCrcCp9ltyPDNzYKPfxc.cer"/> | ||||
| </msg> | </msg> | |||
| 4.9. Example 9: Withdraw Query and Reply | 4.17. <withdraw/> Query | |||
| A. Withdraw Query | <msg | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | type="query" | |||
| version="2" type="query"> | version="2" | |||
| <withdraw uri="rsync://wombat.invalid/testbed/RIR/1/j7ghjwblCr | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| cCp9ltyPDNzYKPfxc.cer"/> | <withdraw | |||
| uri="rsync://wombat.invalid/Alice/blCrcCp9ltyPDNzYKPfxc.cer"/> | ||||
| </msg> | </msg> | |||
| B. Withdraw Reply | 4.18. <withdraw/> Reply | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <withdraw uri="rsync://wombat.invalid/testbed/RIR/1/j7ghjwblCr | version="2" | |||
| cCp9ltyPDNzYKPfxc.cer"/> | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| <withdraw | ||||
| uri="rsync://wombat.invalid/Alice/blCrcCp9ltyPDNzYKPfxc.cer"/> | ||||
| </msg> | </msg> | |||
| 4.10. Example 10: Report Error Reply | 4.19. <report_error/> With Text | |||
| A. Report Error Reply 1 | ||||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <report_error error_code="your_hair_is_on_fire">text string</ | version="2" | |||
| report_error> | xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | |||
| <report_error | ||||
| error_code="your_hair_is_on_fire"> | ||||
| Shampooing with sterno again, are we? | ||||
| </report_error> | ||||
| </msg> | </msg> | |||
| B. Report Error Reply 2 | 4.20. <report_error/> Without Text | |||
| <msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" | <msg | |||
| version="2" type="reply"> | type="reply" | |||
| <report_error error_code="your_hair_is_on_fire"/> | version="2" | |||
| xmlns="http://www.hactrn.net/uris/rpki/publication-spec/"> | ||||
| <report_error | ||||
| error_code="your_hair_is_on_fire"/> | ||||
| </msg> | </msg> | |||
| 5. Operational Considerations | 5. Operational Considerations | |||
| There are two basic options open to the repository operator as to how | There are two basic options open to the repository operator as to how | |||
| the publication tree is laid out. The first option is simple: each | the publication tree is laid out. The first option is simple: each | |||
| publication client is given its own directory one level below the top | publication client is given its own directory one level below the top | |||
| of the rcynic module, and there is no overlap between the publication | of the rcynic module, and there is no overlap between the publication | |||
| spaces used by different clients. For example: | spaces used by different clients. For example: | |||
| skipping to change at page 19, line 8 | skipping to change at page 21, line 43 | |||
| attacker gaining access to BPKI keys could use this protocol delete | attacker gaining access to BPKI keys could use this protocol delete | |||
| (withdraw) RPKI objects, leading to routing changes or failures. | (withdraw) RPKI objects, leading to routing changes or failures. | |||
| Accordingly, as in most PKIs, good key management practices are | Accordingly, as in most PKIs, good key management practices are | |||
| important. | important. | |||
| 8. References | 8. References | |||
| 8.1. Normative References | 8.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", RFC 2119, BCP 14, March 1997. | |||
| [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, | [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", RFC | |||
| RFC 5652, September 2009. | 5652, STD 70, September 2009. | |||
| [RFC6492] Huston, G., Loomans, R., Ellacott, B., and R. Austein, "A | [RFC6492] Huston, G., Loomans, R., Ellacott, B., and R. Austein, "A | |||
| Protocol for Provisioning Resource Certificates", | Protocol for Provisioning Resource Certificates", RFC | |||
| RFC 6492, February 2012. | 6492, February 2012. | |||
| 8.2. Informative References | 8.2. Informative References | |||
| [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support | [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support | |||
| Secure Internet Routing", RFC 6480, February 2012. | Secure Internet Routing", RFC 6480, February 2012. | |||
| Authors' Addresses | Authors' Addresses | |||
| Samuel Weiler | Samuel Weiler | |||
| SPARTA, Inc. | SPARTA, Inc. | |||
| 7110 Samuel Morse Drive | 7110 Samuel Morse Drive | |||
| Columbia, Maryland 21046 | Columbia, Maryland 21046 | |||
| US | US | |||
| Email: weiler@tislabs.com | Email: weiler@tislabs.com | |||
| Anuja Sonalker | Anuja Sonalker | |||
| Battelle Memorial Institute | Battelle Memorial Institute | |||
| Columbia, Maryland 21046 | ||||
| US | ||||
| Email: sonalkera@battelle.org | Email: sonalkera@battelle.org | |||
| Rob Austein | Rob Austein | |||
| Dragon Research Labs | Dragon Research Labs | |||
| Email: sra@hactrn.net | Email: sra@hactrn.net | |||
| End of changes. 81 change blocks. | ||||
| 329 lines changed or deleted | 492 lines changed or added | |||
This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||