aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/left-right-protocol100
1 files changed, 55 insertions, 45 deletions
diff --git a/docs/left-right-protocol b/docs/left-right-protocol
index 26c0cd2f..5b935e33 100644
--- a/docs/left-right-protocol
+++ b/docs/left-right-protocol
@@ -231,13 +231,17 @@ stub.
Every <parent/> object has a parent_id, which must be specified for
the "get", "set", and "destroy" actions. Every <parent/> also has a
self_id attribute which indicates the <self/> object with which this
-<bsc/> object is associated, a bsc_id attribute indicating the <bsc/>
+<parent/> object is associated, a bsc_id attribute indicating the <bsc/>
object to be used when signing messages sent to this parent, and a
repository_id indicating the <repository/> object to be used when
publishing issued by the certificate issued by this parent.
Payload data which can be configured in a <parent/> object:
+@li peer_contact_uri (attribute)
+
+ HTTPS URI used to contact this parent.
+
@li sia_base (attribute)
The leading portion of an rsync URI that the RPKI engine should
@@ -309,10 +313,10 @@ Control attributes that can be set to "yes" to force actions:
The <child/> object represents the RPKI engine's view of particular
child of the current <self/> in the up-down protocol.
-Every <child/> object has a parent_id, which must be specified for
-the "get", "set", and "destroy" actions. Every <child/> also has a
+Every <child/> object has a parent_id, which must be specified for the
+"get", "set", and "destroy" actions. Every <child/> also has a
self_id attribute which indicates the <self/> object with which this
-<bsc/> object is associated.
+<child/> object is associated.
Payload data which can be configured in a <child/> object:
@@ -341,48 +345,54 @@ Control attributes that can be set to "yes" to force actions:
Not implemented, may be removed from protocol.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Repository context -- represents one repository in which this RPKI engine
-;; publishes objects it signs.
-;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+@subsubsection <repository/> object
+
+The <repository/> object represents the RPKI engine's view of a
+particular publication repository used by the current <self/> object.
+
+Every <repository/> object has a repository_id, which must be
+specified for the "get", "set", and "destroy" actions. Every
+<repository/> also has a self_id attribute which indicates the <self/>
+object with which this <repository/> object is associated.
+
+Payload data which can be configured in a <repository/> object:
+
+@li peer_contact_uri (attribute)
+
+ HTTPS URI used to contact this repository.
+
+@li bpki_cms_cert (subelement)
+
+ BPKI CMS CA certificate for this <repository/>. This is used as part
+ of the certificate chain when validating incoming CMS messages If
+ the bpki_cms_glue certificate is in use (below), the bpki_cms_cert
+ certificate should be issued by the bpki_cms_glue certificate;
+ otherwise, the bpki_cms_cert certificate should be issued by the
+ bpki_cert certificate in the <self/> object.
+
+@li bpki_cms_glue (subelement)
+
+ Another BPKI CMS CA certificate for this <repository/>, usually not
+ needed. Certain pathological cross-certification cases require a
+ two-certificate chain due to issuer name conflicts. If used, the
+ bpki_cms_glue certificate should be the issuer of the
+ bpki_cms_cert certificate and should be issued by the bpki_cert
+ certificate in the <self/> object; if not needed, the
+ bpki_cms_glue certificate should be left unset.
+
+@li bpki_https_cert (subelement)
+
+ BPKI HTTPS CA certificate for this <repository/>. This is like the
+ bpki_cms_cert object, only used for validating incoming TLS
+ messages rather than CMS.
+
+@li bpki_cms_glue (subelement)
+
+ Another BPKI HTTPS CA certificate for this <repository/>, usually not
+ needed. This is like the bpki_cms_glue certificate, only used for
+ validating incoming TLS messages rather than CMS.
-(repository :action :create
- :self-id 42
- (:uri uri)
- (:ta ta)
- (:biz-signing-context biz-signing-context))
-=> (repository :repository-id 120)
-
-(repository :action :set
- :self-id 42
- :repository-id 120
- (:uri uri)
- (:ta ta)
- (:biz-signing-context biz-signing-context))
-=> (repository :repository-id 120)
-
-(repository :action :get
- :self-id 42
- :repository-id 120)
-=> (repository :repository-id 120
- (:uri uri)
- (:ta ta)
- (:biz-signing-context biz-signing-context))
-
-(repository :action :list
- :self-id 42
- :repository-id 120)
-=> ((repository :repository-id 120
- (:uri uri)
- (:ta ta)
- (:biz-signing-context biz-signing-context)))
-
-(repository :action :destroy
- :self-id 42
- :repository-id 120)
-=> (repository :repository-id 120)
+At present there are no control attributes for <repository/> objects.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;