<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.26 (Ruby 2.7.4) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc compact="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-anima-brski-prm-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BRSKI-PRM">BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>

    <author initials="S." surname="Fries" fullname="Steffen Fries">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>steffen.fries@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>
    <author initials="T." surname="Werner" fullname="Thomas Werner">
      <organization abbrev="Siemens">Siemens AG</organization>
      <address>
        <postal>
          <street>Otto-Hahn-Ring 6</street>
          <city>Munich</city>
          <code>81739</code>
          <country>Germany</country>
        </postal>
        <email>thomas-werner@siemens.com</email>
        <uri>https://www.siemens.com/</uri>
      </address>
    </author>
    <author initials="E." surname="Lear" fullname="Eliot Lear">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Richtistrasse 7</street>
          <city>Wallisellen</city>
          <code>CH-8304</code>
          <country>Switzerland</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>lear@cisco.com</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael C. Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
        <uri>http://www.sandelman.ca/</uri>
      </address>
    </author>

    <date year="2023"/>

    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    

    <abstract>


<t>This document defines enhancements to Bootstrapping a Remote Secure Key Infrastructure (BRSKI) <xref target="RFC8995"/> to enable bootstrapping in domains featuring no or only limited connectivity between a pledge and the domain registrar.
It specifically changes the interaction model from a pledge-initiated mode, as used in BRSKI, to a pledge-responding mode, where the pledge is in server role.
For this, BRSKI with Pledge in Responder Mode (BRSKI-PRM) introduces a new component, the registrar-agent, which facilitates the communication between pledge and registrar during the bootstrapping phase.
To establish the trust relation between pledge and registrar, BRSKI-PRM relies on object security rather than transport security.
The approach defined here is agnostic to the enrollment protocol that connects the domain registrar to the domain CA.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-anima-brski-prm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/anima-wg/anima-brski-prm"/>.</t>
    </note>


  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>BRSKI as defined in <xref target="RFC8995"/> specifies a solution for secure zero-touch (automated) bootstrapping of devices (pledges) in a (customer) site domain.
This includes the discovery of network elements in the customer site/domain and the exchange of security information necessary to establish trust between a pledge and the domain.</t>

<t>Security information about the customer site/domain, specifically the customer site/domain certificate, are exchanged and authenticated utilizing voucher-request and voucher-response artifacts as defined in <xref target="RFC8995"/>.
Vouchers are signed objects from the Manufacturer's Authorized Signing Authority (MASA).
The MASA issues the voucher and provides it via the domain registrar to the pledge.
<xref target="RFC8366"/> specifies the format of the voucher artifacts.
<xref target="I-D.ietf-anima-rfc8366bis"/> further enhances the format of the voucher artifacts and also the voucher-request.</t>

<t>For the certificate enrollment of devices, BRSKI relies on EST <xref target="RFC7030"/> to request and distribute customer site/domain specific device certificates.
EST in turn relies relies for authentication and authorization of the certification request on the credentials used by the underlying TLS between the EST client and the EST server.</t>

<t>BRSKI addresses scenarios in which the pledge initiates the bootstrapping acting as client (referred to as initiator mode by this document).
BRSKI with pledge in responder mode (BRSKI-PRM) defined in this document allows the pledge to act as server, so that it can be triggered to generate bootstrapping requests in the customer site/domain.
For this approach, this document:</t>

<t><list style="symbols">
  <t>introduces the registrar-agent as new component to facilitate the communication between the pledge and the domain registrar; the registrar-agent may be implemented as an integrated functionality of a commissioning tool or be co-located with the registrar itself.</t>
  <t>specifies the interaction (data exchange and data objects) between a pledge acting as server, the registrar-agent acting as client, and the domain registrar.</t>
  <t>enables the usage of arbitrary transports between the pledge and the domain registrar via the registrar-agent; security is addressed at the application layer, and both IP-based and non-IP connectivity can be used between pledge and registrar-agent.</t>
  <t>allows the application of registrar-agent credentials to establish TLS connections to the domain registrar; these are different from the IDevID of the pledge.</t>
</list></t>

<t>The term endpoint used in the context of this document is equivalent to resource in HTTP <xref target="RFC9110"/> and CoAP <xref target="RFC7252"/>; it is not used to describe a device.
Endpoints are accessible via Well-Known URIs <xref target="RFC8615"/>.
For the interaction with the domain registrar, the registrar-agent will use existing BRSKI <xref target="RFC8995"/> endpoints as well as additional endpoints defined in this document.
To utilize the EST server endpoints on the domain registrar, the registrar-agent will act as client toward the registrar.</t>

<t>The registrar-agent also acts as a client when communicating with a pledge in responder mode.
Here, TLS with server-side, certificate-based authentication is not directly applicable, as the pledge only possesses an IDevID certificate.
First, the IDevID does not contain any anchor for which any kind of <xref target="RFC6125"/> validation can be done.
Second, the registrar-agent may not be aware of manufacturer trust anchors to validate the IDevIDs.
Finally, IDevIDs do not typically set Extended Key Usage (EKU) for TLS WWW Server authentication.</t>

<t>The inability to effectively do TLS in responder mode is one reason for relying on object security at the application layer.
Another reason is the support for alternative transports for which TLS may not be available, e.g., Bluetooth or NFC.
Therefore, BRSKI-PRM relies on an additional signature wrapping of the exchanged data objects involving the registrar-agent for transport.
To utilize EST <xref target="RFC7030"/> for enrollment, the domain registrar must perform the pre-processing of this wrapping signature before actually using EST as defined in <xref target="RFC7030"/>.</t>

<t>There may be pledges which can support both modes, initiator and responder mode.
In these cases BRSKI-PRM can be combined with BRSKI as defined in <xref target="RFC8995"/> or BRSKI-AE <xref target="I-D.ietf-anima-brski-ae"/> to allow for more bootstrapping flexibility.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<t>This document relies on the terminology defined in <xref target="RFC8995"/>, section 1.2.
The following terms are defined additionally:</t>

<dl>
  <dt>authenticated self-contained object:</dt>
  <dd>
    <t>Describes an object, which is cryptographically bound to the end entity (EE) certificate (IDevID certificate or LDEVID certificate).
The binding is assumed to be provided through a digital signature of the actual object using the corresponding private key of the EE certificate.</t>
  </dd>
  <dt>CA:</dt>
  <dd>
    <t>Certification Authority, issues certificates.</t>
  </dd>
  <dt>Commissioning tool:</dt>
  <dd>
    <t>Tool to interact with devices to provide configuration data.</t>
  </dd>
  <dt>CSR:</dt>
  <dd>
    <t>Certificate Signing Request.</t>
  </dd>
  <dt>EE:</dt>
  <dd>
    <t>End Entity.</t>
  </dd>
  <dt>endpoint:</dt>
  <dd>
    <t>term equivalent to resource in HTTP <xref target="RFC9110"/> and CoAP <xref target="RFC7252"/>; not a device.</t>
  </dd>
  <dt>mTLS:</dt>
  <dd>
    <t>mutual Transport Layer Security.</t>
  </dd>
  <dt>on-site:</dt>
  <dd>
    <t>Describes a component or service or functionality available in the customer site/domain.</t>
  </dd>
  <dt>off-site:</dt>
  <dd>
    <t>Describes a component or service or functionality not available on-site.
It may be at a central site or an internet resident "cloud" service.
The on-site to off-site connection may also be temporary and, e.g., only available at times when workers are present on a construction side, for instance.</t>
  </dd>
  <dt>PER:</dt>
  <dd>
    <t>Pledge Enrollment-Request is a signature wrapped CSR, signed by the pledge that requests enrollment to a domain.</t>
  </dd>
  <dt>POP:</dt>
  <dd>
    <t>Proof-of-Possession (of a private key), as defined in <xref target="RFC5272"/>.</t>
  </dd>
  <dt>POI:</dt>
  <dd>
    <t>Proof-of-Identity, as defined in <xref target="RFC5272"/>.</t>
  </dd>
  <dt>PVR:</dt>
  <dd>
    <t>Pledge Voucher-Request is a request for a voucher sent to the domain registrar.
The PVR is signed by the Pledge.</t>
  </dd>
  <dt>RA:</dt>
  <dd>
    <t>Registration Authority, an optional system component to which a CA delegates certificate management functions such as authorization checks.
In BRSKI-PRM this is a functionality of the domain registrar, as in BRSKI <xref target="RFC8995"/>.</t>
  </dd>
  <dt>RER:</dt>
  <dd>
    <t>Registrar Enrollment-Request is the CSR of a PER sent to the CA by the domain registrar (RA).</t>
  </dd>
  <dt>RVR:</dt>
  <dd>
    <t>Registrar Voucher-Request is a request for a voucher signed by the domain registrar to the MASA.
It may contain the PVR received from the pledge.</t>
  </dd>
</dl>

<t>This document includes many examples that would contain many long sequences of base64 encoded objects with no content directly comprehensible to a human reader.
In order to keep those examples short, they use the token "base64encodedvalue==" as a placeholder for base64 data. 
The full base64 data is included in the appendices of this document.</t>

<t>This protocol unavoidably has a mix of both base64 encoded data (as is normal for many JSON encoded protocols), and also BASE64URL encoded data, as specified by JWS.
The latter is indicated by a string like "BASE64URL(content-name)".</t>

</section>
<section anchor="scope-of-solution"><name>Scope of Solution</name>

<section anchor="sup-env"><name>Supported Environments and Use Case Examples</name>

<t>BRSKI-PRM is applicable to scenarios where pledges may have no direct connection to the domain registrar, may have no continuous connection, or require coordination of the pledge requests to be provided to a domain registrar.</t>

<t>This can be motivated by pledges deployed in environments not yet connected to the operational customer site/domain network, e.g., at a building construction site, or environments intentionally disconnected from the Internet, e.g., critical industrial facilities.
Another example is the assembly of electrical cabinets, which are prepared in advance before the installation at a customer site/domain.</t>

<section anchor="building-automation"><name>Building Automation</name>

<t>In building automation a typical use case exists where a detached building or the basement is equipped with sensors, actuators, and controllers, but with only limited or no connection to the central building management system.
This limited connectivity may exist during installation time or also during operation time.</t>

<t>During the installation, for instance, a service technician collects the device-specific information from the basement network and provides them to the central building management system.
This could be done using a laptop, common mobile device, or dedicated commissioning tool to transport the information.
The service technician may successively collect device-specific information in different parts of the building before connecting to the domain registrar for bulk bootstrapping.</t>

<t>A domain registrar may be part of the central building management system and already be operational in the installation network.
The central building management system can then provide operational parameters for the specific devices in the basement or other detached areas.
These operational parameters may comprise values and settings required in the operational phase of the sensors/actuators, among them a certificate issued by the operator to authenticate against other components and services.
These operational parameters are then provided to the devices in the basement facilitated by the service technician's laptop.
The registrar-agent, defined in this document, may be run on the technician's laptop to interact with pledges.</t>

</section>
<section anchor="infrastructure-isolation-policy"><name>Infrastructure Isolation Policy</name>

<t>This refers to any case in which the network infrastructure is normally isolated from the Internet as a matter of policy, most likely for security reasons.
In such a case, limited access to a domain registrar may be allowed in carefully controlled short periods of time, for example when a batch of new devices are deployed, but prohibited at other times.</t>

</section>
<section anchor="less-operational-security-in-the-target-domain"><name>Less Operational Security in the Target-Domain</name>

<t>The registration authority (RA) performing the authorization of a certificate request is a critical PKI component and therefore requires higher operational security than other components utilizing the issued certificates.
CAs may also require higher security in the registration procedures.
There may be situations in which the customer site/domain does not offer enough security to operate a RA/CA and therefore this service is transferred to a backend that offers a higher level of operational security.</t>

</section>
</section>
<section anchor="limitations"><name>Limitations</name>

<t>The mechanism described in this document presumes the availability of the pledge and the registrar-agent to communicate with another.
This may not be possible in constrained environments where, in particular, power must be conserved.
In these situations, it is anticipated that the transceiver will be powered down most of the time.
This presents a rendezvous problem: the pledge is unavailable for certain periods of time, and the registrar-agent is similarly presumed to be unavailable for certain periods of time.
To overcome this situation, the pledges may need to be powered on, either manually or by sending a trigger signal.</t>

</section>
</section>
<section anchor="req-sol"><name>Requirements Discussion and Mapping to Solution-Elements</name>

<t>Based on the intended target environment described in <xref target="sup-env"/>, the following requirements are derived to support bootstrapping of pledges in responder mode (acting as server):</t>

<t><list style="symbols">
  <t>To facilitate the communication between a pledge in responder mode and the registrar, additional functionality is needed either on the registrar or as a stand-alone component.
This new functionality is defined as registrar-agent and acts as an agent of the registrar to trigger the pledge to generate requests for voucher and enrollment.
These requests are then provided by the registrar-agent to the registrar.
This requires the definition of pledge endpoints to allow interaction with the registrar-agent.</t>
  <t>The communication between the registrar-agent and the pledge must not rely on Transport Layer Security (TLS) because the pledge does not have a certificate that can easily be verified by <xref target="RFC6125"/> methods.
It is also more difficult to use TLS over other technology stacks (e.g., NFC).</t>
  <t>The use of authenticated self-contained objects provides a work around for both the TLS challenges and the technology stack challenge.</t>
  <t>By contrast, the registrar-agent can be authenticated by the registrar as a component, acting on behalf of the registrar.
In addition the registrar must be able to verify, which registrar-agent was in direct contact with the pledge.</t>
  <t>It would be inaccurate for the voucher-request and voucher-response to use an assertion with value "proximity" in the voucher, as the pledge was not in direct contact with the registrar for bootstrapping.
Therefore, a new "agent-proximity" assertion value is necessary for distinguishing assertions the MASA can state.</t>
</list></t>

<t>At least the following properties are required for the voucher and enrollment processing:</t>

<t><list style="symbols">
  <t>POI: provides data-origin authentication of a data object, e.g., a voucher-request or an enrollment-request, utilizing an existing IDevID.
Certificate updates may utilize the certificate that is to be updated.</t>
  <t>POP: proves that an entity possesses and controls the private key corresponding to the public key contained in the certification request, typically by adding a signature computed using the private key to the certification request.</t>
</list></t>

<t>Solution examples based on existing technology are provided with the focus on existing IETF RFCs:</t>

<t><list style="symbols">
  <t>Voucher-requests and -responses as used in <xref target="RFC8995"/> already provide both, POP and POI, through a digital signature to protect the integrity of the voucher, while the corresponding signing certificate contains the identity of the signer.</t>
  <t>Certification requests are data structures containing the information from a requester for a CA to create a certificate.
The certification request format in BRSKI is PKCS#10 <xref target="RFC2986"/>.
In PKCS#10, the structure is signed to ensure integrity protection and POP of the private key of the requester that corresponds to the contained public key.
In the application examples, this POP alone is not sufficient.
A POI is also required for the certification request and therefore the certification request needs to be additionally bound to the existing credential of the pledge (IDevID).
This binding supports the authorization decision for the certification request and may be provided directly with the certification request.
While BRSKI uses the binding to TLS, BRSKI-PRM aims at an additional signature of the PKCS#10 using existing credentials on the pledge (IDevID). This allows the process to be independent of the selected transport.</t>
</list></t>

</section>
<section anchor="architecture"><name>Architectural Overview</name>

<t>For BRSKI with pledge in responder mode, the base system architecture defined in BRSKI <xref target="RFC8995"/> is enhanced to facilitate new use cases in which the pledge acts as server.
The responder mode allows delegated bootstrapping using a registrar-agent instead of a direct connection between the pledge and the domain registrar.</t>

<t>Necessary enhancements to support authenticated self-contained objects for certificate enrollment are kept at a minimum to enable reuse of already defined architecture elements and interactions.
The format of the bootstrapping objects produced or consumed by the pledge is based on JOSE <xref target="RFC7515"/> and further specified in <xref target="exchanges_uc2"/> to address the requirements stated in <xref target="req-sol"/> above.<br />
In constrained environments it may be provided based on COSE <xref target="RFC9052"/> and <xref target="RFC9053"/>.</t>

<t>An abstract overview of the BRSKI-PRM protocol can be found in  <xref target="BRSKI-PRM-abstract"/>.</t>

<t>To support mutual trust establishment between the domain registrar and pledges not directly connected to the customer site/domain, this document specifies the exchange of authenticated self-contained objects (the voucher-request/response as known from BRSKI and the enrollment-request/response as introduced by BRSKI-PRM) with the help of a registrar-agent.</t>

<t>This leads to extensions of the logical components in the BRSKI architecture as shown in <xref target="uc2figure"/>.
Note that the Join Proxy is neglected in the figure. 
It <bcp14>MAY</bcp14>  be used as specified in BRSKI <xref target="RFC8995"/> by the registrar-agent to connect to the registrar.
The registrar-agent interacts with the pledge to transfer the required data objects for bootstrapping, which are then also exchanged between the registrar-agent and the domain registrar.
The addition of the registrar-agent influences the sequences of the data exchange between the pledge and the domain registrar described in <xref target="RFC8995"/>.
To enable reuse of BRSKI defined functionality as much as possible, BRSKI-PRM:</t>

<t><list style="symbols">
  <t>uses existing endpoints where the required functionality is provided.</t>
  <t>enhances existing endpoints with new supported media types, e.g., for JWS voucher.</t>
  <t>defines new endpoints where additional functionality is required, e.g., for wrapped certification request, CA certificates, or new status information.</t>
</list></t>

<figure title="BRSKI-PRM architecture overview using registrar-agent" anchor="uc2figure"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="456" viewBox="0 0 456 480" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,240 L 8,384" fill="none" stroke="black"/>
<path d="M 40,48 L 40,232" fill="none" stroke="black"/>
<path d="M 80,240 L 80,384" fill="none" stroke="black"/>
<path d="M 152,240 L 152,336" fill="none" stroke="black"/>
<path d="M 208,32 L 208,144" fill="none" stroke="black"/>
<path d="M 224,368 L 224,432" fill="none" stroke="black"/>
<path d="M 256,240 L 256,336" fill="none" stroke="black"/>
<path d="M 328,240 L 328,336" fill="none" stroke="black"/>
<path d="M 336,64 L 336,144" fill="none" stroke="black"/>
<path d="M 376,152 L 376,232" fill="none" stroke="black"/>
<path d="M 376,336 L 376,368" fill="none" stroke="black"/>
<path d="M 424,240 L 424,336" fill="none" stroke="black"/>
<path d="M 424,368 L 424,432" fill="none" stroke="black"/>
<path d="M 432,32 L 432,144" fill="none" stroke="black"/>
<path d="M 208,32 L 432,32" fill="none" stroke="black"/>
<path d="M 40,48 L 72,48" fill="none" stroke="black"/>
<path d="M 168,48 L 200,48" fill="none" stroke="black"/>
<path d="M 208,64 L 432,64" fill="none" stroke="black"/>
<path d="M 208,144 L 432,144" fill="none" stroke="black"/>
<path d="M 8,240 L 80,240" fill="none" stroke="black"/>
<path d="M 152,240 L 256,240" fill="none" stroke="black"/>
<path d="M 328,240 L 424,240" fill="none" stroke="black"/>
<path d="M 88,304 L 144,304" fill="none" stroke="black"/>
<path d="M 264,304 L 320,304" fill="none" stroke="black"/>
<path d="M 152,336 L 256,336" fill="none" stroke="black"/>
<path d="M 328,336 L 424,336" fill="none" stroke="black"/>
<path d="M 224,368 L 424,368" fill="none" stroke="black"/>
<path d="M 8,384 L 80,384" fill="none" stroke="black"/>
<path d="M 224,432 L 424,432" fill="none" stroke="black"/>
<polygon class="arrowhead" points="384,232 372,226.4 372,237.6" fill="black" transform="rotate(90,376,232)"/>
<polygon class="arrowhead" points="384,152 372,146.4 372,157.6" fill="black" transform="rotate(270,376,152)"/>
<polygon class="arrowhead" points="328,304 316,298.4 316,309.6" fill="black" transform="rotate(0,320,304)"/>
<polygon class="arrowhead" points="272,304 260,298.4 260,309.6" fill="black" transform="rotate(180,264,304)"/>
<polygon class="arrowhead" points="152,304 140,298.4 140,309.6" fill="black" transform="rotate(0,144,304)"/>
<polygon class="arrowhead" points="96,304 84,298.4 84,309.6" fill="black" transform="rotate(180,88,304)"/>
<polygon class="arrowhead" points="48,232 36,226.4 36,237.6" fill="black" transform="rotate(90,40,232)"/>
<g class="text">
<text x="100" y="52">Drop</text>
<text x="140" y="52">Ship</text>
<text x="244" y="52">Vendor</text>
<text x="304" y="52">Service</text>
<text x="224" y="84">M</text>
<text x="280" y="84">anufacturer</text>
<text x="224" y="100">A</text>
<text x="272" y="100">uthorized</text>
<text x="384" y="100">Ownership</text>
<text x="224" y="116">S</text>
<text x="260" y="116">igning</text>
<text x="376" y="116">Tracker</text>
<text x="224" y="132">A</text>
<text x="268" y="132">uthority</text>
<text x="412" y="180">BRSKI-</text>
<text x="404" y="196">MASA</text>
<text x="248" y="212">...............................</text>
<text x="416" y="212">.........</text>
<text x="128" y="228">.</text>
<text x="448" y="228">.</text>
<text x="128" y="244">.</text>
<text x="448" y="244">.</text>
<text x="128" y="260">.</text>
<text x="448" y="260">.</text>
<text x="44" y="276">Pledge</text>
<text x="116" y="276">BRSKI-</text>
<text x="204" y="276">Registrar-</text>
<text x="292" y="276">BRSKI-</text>
<text x="364" y="276">Domain</text>
<text x="448" y="276">.</text>
<text x="112" y="292">PRM</text>
<text x="184" y="292">Agent</text>
<text x="288" y="292">EST</text>
<text x="376" y="292">Registrar</text>
<text x="448" y="292">.</text>
<text x="356" y="308">(PKI</text>
<text x="392" y="308">RA)</text>
<text x="448" y="308">.</text>
<text x="128" y="324">.</text>
<text x="220" y="324">LDevID</text>
<text x="448" y="324">.</text>
<text x="128" y="340">.</text>
<text x="448" y="340">.</text>
<text x="44" y="356">IDevID</text>
<text x="128" y="356">.</text>
<text x="448" y="356">.</text>
<text x="128" y="372">.</text>
<text x="448" y="372">.</text>
<text x="128" y="388">.</text>
<text x="248" y="388">Key</text>
<text x="324" y="388">Infrastructure</text>
<text x="448" y="388">.</text>
<text x="128" y="404">.</text>
<text x="260" y="404">(e.g.,</text>
<text x="304" y="404">PKI</text>
<text x="368" y="404">Certificate</text>
<text x="448" y="404">.</text>
<text x="128" y="420">.</text>
<text x="332" y="420">Authority)</text>
<text x="448" y="420">.</text>
<text x="128" y="436">.</text>
<text x="448" y="436">.</text>
<text x="288" y="452">.........................................</text>
<text x="236" y="468">&quot;Domain&quot;</text>
<text x="316" y="468">Components</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
                         +---------------------------+
    +---- Drop Ship -----| Vendor Service            |
    |                    +---------------+-----------+
    |                    | M anufacturer |           |
    |                    | A uthorized   | Ownership |
    |                    | S igning      | Tracker   |
    |                    | A uthority    |           |
    |                    +---------------+-----------+
    |                                         ^
    |                                         | BRSKI-
    |                                         | MASA
    |          ...............................|.........
    V          .                              v        .
+--------+     .  +------------+        +-----------+  .
|        |     .  |            |        |           |  .
| Pledge | BRSKI- | Registrar- | BRSKI- | Domain    |  .
|        |  PRM   | Agent      |  EST   | Registrar |  .
|        |<------>|            |<------>| (PKI RA)  |  .
|        |     .  |     LDevID |        |           |  .
|        |     .  +------------+        +-----+-----+  .
| IDevID |     .                              |        .
|        |     .           +------------------+-----+  .
+--------+     .           | Key Infrastructure     |  .
               .           | (e.g., PKI Certificate |  .
               .           |        Authority)      |  .
               .           +------------------------+  .
               .........................................
                         "Domain" Components
]]></artwork></artset></figure>

<t><xref target="uc2figure"/> shows the relations between the following main components:</t>

<t><list style="symbols">
  <t>Pledge: The pledge is expected to respond with the necessary data objects for bootstrapping to the registrar-agent.
The protocol used between the pledge and the registrar-agent is assumed to be HTTP in the context of this document.
Other protocols such as CoAP, NFC, or Bluetooth may be used, but are out of scope of this document.
A pledge acting as a server during bootstrapping leads to some differences for BRSKI:  <list style="symbols">
      <t>Discovery of the pledge by the registrar-agent <bcp14>MUST</bcp14> be possible.</t>
      <t>As the registrar-agent <bcp14>MUST</bcp14> be able to request data objects for bootstrapping of the pledge, the pledge <bcp14>MUST</bcp14> offer corresponding endpoints as defined in <xref target="pledge_ep"/>.</t>
      <t>The registrar-agent <bcp14>MUST</bcp14> provide additional data to the pledge in the context of the voucher-request trigger, which the pledge <bcp14>MUST</bcp14> include into the PVR as defined in <xref target="pvrt"/> and <xref target="pvrr"/>.
This allows the registrar to identify, with which registrar-agent the pledge was in contact.</t>
      <t>Order of exchanges in the BRSKI-PRM call flow is different those in BRSKI <xref target="RFC8995"/>, as the PVR and PER are collected at once and provided to the registrar.
This enables bulk bootstrapping of several devices.</t>
      <t>The data objects utilized for the data exchange between the pledge and the registrar are self-contained authenticated objects (signature-wrapped objects).</t>
    </list></t>
  <t>Registrar-agent: provides a communication path to exchange data objects between the pledge and the domain registrar.
The registrar-agent brokers in situations in which the domain registrar is not directly reachable by the pledge.
This may be due to a different technology stack or due to missing connectivity.
The registrar-agent triggers a pledge to create bootstrapping artifacts such as the voucher-request and the enrollment-request on one or multiple pledges and performs a (bulk) bootstrapping based on the collected data.
The registrar-agent is expected to possess information about the domain registrar: the registrar EE certificate, LDevID(CA) certificate, IP address, either by configuration or by using the discovery mechanism defined in <xref target="RFC8995"/>.
There is no trust assumption between the pledge and the registrar-agent as only authenticated self-contained objects are used, which are transported via the registrar-agent and provided either by the pledge or the registrar.
The trust assumption between the registrar-agent and the registrar is based on the LDevID of the registrar-agent, provided by the PKI responsible for the domain.
This allows the registrar-agent to authenticate towards the registrar, e.g., in a TLS handshake.
Based on this, the registrar is able to distinguish a pledge from a registrar-agent during the TLS session establishment and also to verify that the registrar-agent is authorized to perform the bootstrapping of the distinct pledge.</t>
  <t>Join Proxy (not shown): same functionality as described in <xref target="RFC8995"/> if needed.
Note that a registrar-agent may use a join proxy to facilitate the TLS connection to the registrar, in the same way that a BRSKI pledge would use a join proxy. This is useful in cases where the registrar-agent does not have full IP connectivity via the domain network, or cases where it has no other means to locate the registrar on the network.</t>
  <t>Domain Registrar: In general, the domain registrar fulfills the same functionality regarding the bootstrapping of the pledge in a (customer) site domain by facilitating the communication of the pledge with the MASA service and the domain PKI service.
In contrast to <xref target="RFC8995"/>, the domain registrar does not interact with a pledge directly but through the registrar-agent.
The registrar detects if the bootstrapping is performed by the pledge directly or by the registrar-agent.</t>
  <t>The manufacturer provided components/services (MASA and Ownership tracker) are used as defined in <xref target="RFC8995"/>.
For issuing a voucher, the MASA may perform additional checks on a voucher-request, to issue a voucher indicating agent-proximity instead of (registrar-)proximity.</t>
</list></t>

<section anchor="agt_prx"><name>Agent-Proximity Assertion</name>

<t>"Agent-proximity" is a statement, that the proximity registrar certificate was provided via the registrar-agent as defined in <xref target="exchanges_uc2"/> and not directly to the pledge.
"Agent-proximity" is therefore a weaker assertion then "proximity".
It is defined as additional assertion type in <xref target="I-D.ietf-anima-rfc8366bis"/>.
This can be verified by the registrar and also by the MASA during the voucher-request processing.
Note that at the time of creating the voucher-request, the pledge cannot verify the registrar's registrar EE  certificate and has no proof-of-possession of the corresponding private key for the certificate.
The pledge therefore accepts the registrar EE certificate provisionally until it receives the voucher as described in <xref target="exchanges_uc2_3"/>.
See also <xref target="RFC8995"/> "PROVISIONAL accept of server cert".</t>

<t>Trust handover to the domain is established via the "pinned-domain-certificate" in the voucher.</t>

<t>In contrast to the above, "proximity" provides a statement, that the pledge was in direct contact with the registrar and was able to verify proof-of-possession of the private key in the context of the TLS handshake.
The provisionally accepted registrar EE certificate can be verified after the voucher has been processed by the pledge.
As the returned voucher includes an additional signature by the registrar as defined in <xref target="exchanges_uc2_2_vs"/>, the pledge can also verify that the registrar possesses the corresponding private key.</t>

</section>
<section anchor="pledge_ep"><name>Behavior of Pledge in Pledge-Responder-Mode</name>

<t>The pledge is triggered by the registrar-agent to generate the PVR and PER as well as for the processing of the responses and the generation of status information.
Due to the use of the registrar-agent, the interaction with the domain registrar is changed as shown in <xref target="exchangesfig_uc2_1"/>.
To enable interaction with the registrar-agent, the pledge provides endpoints using the BRSKI defined endpoints based on the "/.well-known/brski" URI tree.</t>

<t>The following endpoints are defined for the <em>pledge</em> in this document.
The endpoints are defined with short names to also accommodate for the constraint case.
The URI path begins with "http://www.example.com/.well-known/brski" followed by a path-suffix that indicates the intended operation.</t>

<t>Operations and their corresponding URIs:</t>

<texttable title="Endpoints on the pledge" anchor="eppfigure1">
      <ttcol align='left'>Operation</ttcol>
      <ttcol align='left'>Operation path</ttcol>
      <ttcol align='left'>Details</ttcol>
      <c>Trigger pledge voucher-request creation - Returns PVR</c>
      <c>/tv</c>
      <c><xref target="exchanges_uc2_1"/></c>
      <c>Trigger pledge enrollment-request - Returns PER</c>
      <c>/te</c>
      <c><xref target="exchanges_uc2_1"/></c>
      <c>Provide voucher to pledge - Returns pledge voucher-status</c>
      <c>/sv</c>
      <c><xref target="exchanges_uc2_3"/></c>
      <c>Provide enrollment-response to pledge - Returns pledge enrollment-status</c>
      <c>/se</c>
      <c><xref target="exchanges_uc2_3"/></c>
      <c>Provide CA certs to pledge</c>
      <c>/cc</c>
      <c><xref target="exchanges_uc2_3"/></c>
      <c>Query bootstrapping status of pledge - Returns pledge-status</c>
      <c>/ps</c>
      <c><xref target="exchanges_uc2_5"/></c>
</texttable>

</section>
<section anchor="behavior-of-registrar-agent"><name>Behavior of Registrar-Agent</name>

<t>The registrar-agent as a new component provides connectivity between the pledge and the domain registrar.
It facilitates the exchange of data between the pledge and the domain registrar, which are the voucher-request/response, the enrollment-request/response, as well as related telemetry and status information.</t>

<t>For the communication with the pledge the registrar-agent utilizes communication endpoints provided by the pledge.
The transport in this specification is based on HTTP but may also be done using other transport mechanisms.
This new component changes the general interaction between the pledge and the domain registrar as shown in <xref target="uc2figure"/>.</t>

<t>For the communication with the registrar, the registrar-agent uses the endpoints of the domain registrar side already specified in <xref target="RFC8995"/> if suitable.
The EST <xref target="RFC7030"/> standard endpoints used by BRSKI do not expect signature wrapped-objects, which are used b BRSKI-PRM.
This specifically applies for the enrollment-request and the provisioning of CA certificates.
To accommodate the use of signature-wrapped object, the following additional endpoints are defined for the <em>registrar</em>.
Operations and their corresponding URIs:</t>

<texttable title="Additional endpoints on the registrar" anchor="eppfigure2">
      <ttcol align='left'>Operation</ttcol>
      <ttcol align='left'>Operation path</ttcol>
      <ttcol align='left'>Details</ttcol>
      <c>Supply PER to registrar</c>
      <c>/requestenroll</c>
      <c><xref target="exchanges_uc2_2_per"/></c>
      <c>Request (wrapped) CA certificates - Returns wrapped CA Certificates</c>
      <c>/wrappedcacerts</c>
      <c><xref target="exchanges_uc2_2_wca"/></c>
</texttable>

<t>For authentication to the domain registrar, the registrar-agent uses its LDevID(RegAgt).
The provisioning of the registrar-agent LDevID is out of scope for this document, but may be done in advance using a separate BRSKI run or by other means like configuration.
It is recommended to use short lived registrar-agent LDevIDs in the range of days or weeks as outlined in <xref target="sec_cons_reg-agt"/>.</t>

<t>The registrar-agent will use its LDevID(RegAgt) when establishing a TLS session with the domain registrar for TLS client authentication.
The LDevID(RegAgt) certificate <bcp14>MUST</bcp14> include a SubjectKeyIdentifier (SKID), which is used as reference in the context of an agent-signed-data object as defined in <xref target="exchanges_uc2_1"/>.
Note that this is an additional requirement for issuing the certificate, as <xref target="IEEE-802.1AR"/> only requires the SKID to be included for intermediate CA certificates.
<xref target="RFC8995"/> makes a similar requirement.
In BRSKI-PRM, the SKID is used in favor of a certificate fingerprint to avoid additional computations.</t>

<t>Using an LDevID for TLS client authentication of the registrar-agent is a deviation from <xref target="RFC8995"/>, in which the pledge's IDevID credential is used to perform TLS client authentication.
The use of the LDevID(RegAgt) allows the domain registrar to distinguish, if bootstrapping is initiated from a pledge or from a registrar-agent and to adopt different internal handling accordingly.
If a registrar detects a request that originates from a registrar-agent it is able to switch the operational mode from BRSKI to BRSKI-PRM.
This may be supported by a specific naming in the SAN (subject alternative name) component of the LDevID(RegAgt) certificate.
Alternatively, the domain may feature a CA specifically for issuing registrar-agent LDevID certificates.
This allows the registrar to detect registrar-agents based on the issuing CA.</t>

<t>As BRSKI-PRM uses authenticated self-contained data objects between the pledge and the domain registrar, the binding of the pledge identity to the requests is provided by the data object signature employing the pledge's IDevID.
The objects exchanged between the pledge and the domain registrar used in the context of this specifications are JOSE objects.</t>

<t>In addition to the LDevID(RegAgt), the registrar-agent is provided with the product-serial-number(s) of the pledge(s) to be bootstrapped.
This is necessary to allow the discovery of pledge(s) by the registrar-agent using mDNS (see <xref target="discovery_uc2_ppa"/>)
The list may be provided by administrative means or the registrar agent may get the information via an interaction with the pledge.
For instance, <xref target="RFC9238"/> describes scanning of a QR code, the product-serial-number would be initialized from the 12N B005 Product Serial Number.</t>

<t>According to <xref target="RFC8995"/> section 5.3, the domain registrar performs the pledge authorization for bootstrapping within his domain based on the pledge voucher-request object.</t>

<t>The following information <bcp14>MUST</bcp14> be available at the registrar-agent:</t>

<t><list style="symbols">
  <t>LDevID(RegAgt): own operational key pair.</t>
  <t>Registrar EE certificate: certificate of the domain registrar.</t>
  <t>Serial-number(s): product-serial-number(s) of pledge(s) to be bootstrapped.</t>
</list></t>

<section anchor="discovery_uc2_reg"><name>Discovery of Registrar by Registrar-Agent</name>

<t>The discovery of the domain registrar may be done as specified in <xref target="RFC8995"/> with the
deviation that it is done between the registrar-agent and the domain registrar.
Alternatively, the registrar-agent may be configured with the address of the domain registrar and the certificate of the domain registrar.</t>

</section>
<section anchor="discovery_uc2_ppa"><name>Discovery of Pledge by Registrar-Agent</name>

<t>The discovery of the pledge by registrar-agent should be done by using DNS-based Service Discovery <xref target="RFC6763"/> over Multicast DNS <xref target="RFC6762"/> to discover the pledge. The pledge constructs a local host name based on device local information (product-serial-number), which results in "product-serial-number._brski-pledge._tcp.local".</t>

<t>The registrar-agent <bcp14>MAY</bcp14> use</t>

<t><list style="symbols">
  <t>"product-serial-number._brski-pledge._tcp.local", to discover a specific pledge, e.g., when connected to a local network.</t>
  <t>"_brski-pledge._tcp.local" to get a list of pledges to be bootstrapped.</t>
</list></t>

<t>A manufacturer may allow the pledge to react on mDNS discovery without his product-serial-number contained. This allows a commissioning tool to discover pledges to be bootstrapped in the domain. The manufacturer may opt out of this functionality as outlined in <xref target="sec_cons_mDNS"/>.</t>

<t>To be able to detect the pledge using mDNS, network connectivity is required.
For Ethernet it is provided by simply connecting the network cable.
For WiFi networks, connectivity can be provided by using a pre-agreed SSID for bootstrapping.
The same approach can be used by 6LoWPAN/mesh using a pre-agreed PAN ID.
How to gain network connectivity is out of scope of this document.</t>

</section>
</section>
<section anchor="behavior-of-pledge-with-combined-functionality"><name>Behavior of Pledge with Combined Functionality</name>

<t>Pledges <bcp14>MAY</bcp14> support both initiator or responder mode.</t>

<t>A pledge in initiator mode should listen for announcement messages as described in <xref section="4.1" sectionFormat="of" target="RFC8995"/>.
Upon discovery of a potential registrar, it initiates the bootstrapping to that registrar.
At the same time (so as to avoid the Slowloris-attack described in <xref target="RFC8995"/>), it <bcp14>SHOULD</bcp14> also respond to the triggers for responder mode described in this document.</t>

<t>Once a pledge with combined functionality has been bootstrapped, it <bcp14>MAY</bcp14> act as client for enrollment of further certificates needed, e.g., using the enrollment protocol of choice.
If it still acts as server, the defined BRSKI-PRM endpoints to trigger a pledge enrollment-request (PER) or to provide an enrollment-response can be used for further certificates.</t>

</section>
</section>
<section anchor="exchanges_uc2"><name>Bootstrapping Data Objects and Corresponding Exchanges</name>

<t>The interaction of the pledge with the registrar-agent may be accomplished using different transport means (protocols and/or network technologies).
This specification describes the usage of HTTP as in BRSKI <xref target="RFC8995"/>.
Alternative transport channels may be CoAP, Bluetooth Low Energy (BLE), or Nearfield Communication (NFC).
These transport means may differ from, and are independent of, the ones used between the registrar-agent and the registrar.
Transport channel independence is realized by data objects which are not bound to specific transport security.
Therefore, authenticated self-contained objects (here: signature-wrapped objects) are applied for data exchanges between the pledge and the registrar.</t>

<t>The registrar-agent provides the domain registrar certificate (registrar EE certificate) to the pledge to be included in the PVR leaf "agent-provided-proximity-registrar-certificate".
This enables the registrar to verify that it is the desired registrar for handling the request.</t>

<t>The registrar certificate may be configured at the registrar-agent or may be fetched by the registrar-agent based on a prior TLS connection with this domain registrar.
In addition, the registrar-agent provides agent-signed-data containing the pledge product-serial-number, signed with the LDevID(RegAgt).
This enables the registrar to verify and log, which registrar-agent was in contact with the pledge, when verifying the PVR.</t>

<t>The registrar <bcp14>MUST</bcp14> fetch the LDevID(RegAgt) certificate based on the SubjectKeyIdentifier (SKID) in the header of the agent-signed-data from the PVR.
The registrar includes the LDevID(RegAgt) certificate information into the RVR if the PVR asked for the assertion "agent-proximity".</t>

<t>The MASA in turn verifies the registrar EE certificate is included in the PVR ("prior-signed-voucher-request" of RVR) in the "agent-provided-proximity-registrar-certificate" leaf
and may assert the PVR as "verified" or "logged" instead of "proximity", as there is no direct connection between the pledge and the registrar.</t>

<t>In addition, the MASA can state the assertion "agent-proximity" as follows:
The MASA can verify the signature of the agent-signed-data contained in the prior-signed-voucher-request, based on the provided LDevID(RegAgt) certificate in the "agent-sign-cert" leaf of the RVR.
If both can be verified successfully, the MASA can assert "agent-proximity" in the voucher.</t>

<t>Depending on the MASA verification policy, it may also respond with a suitable 4xx or 5xx status code as described in section 5.6 of <xref target="RFC8995"/>.
The voucher then can be supplied via the registrar to the registrar-agent.</t>

<t><xref target="exchangesfig_uc2_all"/> provides an overview of the exchanges detailed in the following sub sections.</t>

<figure title="Overview pledge-responder-mode exchanges" anchor="exchangesfig_uc2_all"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1056" width="560" viewBox="0 0 560 1056" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 32,104 L 32,208" fill="none" stroke="black"/>
<path d="M 32,256 L 32,320" fill="none" stroke="black"/>
<path d="M 32,384 L 32,576" fill="none" stroke="black"/>
<path d="M 32,624 L 32,688" fill="none" stroke="black"/>
<path d="M 32,720 L 32,736" fill="none" stroke="black"/>
<path d="M 32,800 L 32,864" fill="none" stroke="black"/>
<path d="M 32,928 L 32,1040" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 112,32 L 112,96" fill="none" stroke="black"/>
<path d="M 168,104 L 168,208" fill="none" stroke="black"/>
<path d="M 168,248 L 168,320" fill="none" stroke="black"/>
<path d="M 168,384 L 168,576" fill="none" stroke="black"/>
<path d="M 168,624 L 168,688" fill="none" stroke="black"/>
<path d="M 168,720 L 168,736" fill="none" stroke="black"/>
<path d="M 168,800 L 168,864" fill="none" stroke="black"/>
<path d="M 168,928 L 168,1040" fill="none" stroke="black"/>
<path d="M 208,32 L 208,96" fill="none" stroke="black"/>
<path d="M 240,32 L 240,96" fill="none" stroke="black"/>
<path d="M 312,104 L 312,208" fill="none" stroke="black"/>
<path d="M 312,256 L 312,320" fill="none" stroke="black"/>
<path d="M 312,496 L 312,576" fill="none" stroke="black"/>
<path d="M 312,624 L 312,688" fill="none" stroke="black"/>
<path d="M 312,720 L 312,736" fill="none" stroke="black"/>
<path d="M 312,800 L 312,864" fill="none" stroke="black"/>
<path d="M 312,928 L 312,976" fill="none" stroke="black"/>
<path d="M 312,1008 L 312,1040" fill="none" stroke="black"/>
<path d="M 336,32 L 336,96" fill="none" stroke="black"/>
<path d="M 376,32 L 376,96" fill="none" stroke="black"/>
<path d="M 432,104 L 432,208" fill="none" stroke="black"/>
<path d="M 432,256 L 432,320" fill="none" stroke="black"/>
<path d="M 432,384 L 432,480" fill="none" stroke="black"/>
<path d="M 432,560 L 432,576" fill="none" stroke="black"/>
<path d="M 432,624 L 432,688" fill="none" stroke="black"/>
<path d="M 432,720 L 432,736" fill="none" stroke="black"/>
<path d="M 432,800 L 432,864" fill="none" stroke="black"/>
<path d="M 432,928 L 432,944" fill="none" stroke="black"/>
<path d="M 432,1008 L 432,1040" fill="none" stroke="black"/>
<path d="M 448,32 L 448,96" fill="none" stroke="black"/>
<path d="M 472,32 L 472,96" fill="none" stroke="black"/>
<path d="M 536,104 L 536,208" fill="none" stroke="black"/>
<path d="M 536,256 L 536,320" fill="none" stroke="black"/>
<path d="M 536,384 L 536,496" fill="none" stroke="black"/>
<path d="M 536,544 L 536,576" fill="none" stroke="black"/>
<path d="M 536,624 L 536,688" fill="none" stroke="black"/>
<path d="M 536,720 L 536,736" fill="none" stroke="black"/>
<path d="M 536,800 L 536,864" fill="none" stroke="black"/>
<path d="M 536,928 L 536,976" fill="none" stroke="black"/>
<path d="M 536,1008 L 536,1040" fill="none" stroke="black"/>
<path d="M 552,32 L 552,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 112,32 L 208,32" fill="none" stroke="black"/>
<path d="M 240,32 L 336,32" fill="none" stroke="black"/>
<path d="M 376,32 L 448,32" fill="none" stroke="black"/>
<path d="M 472,32 L 552,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 112,96 L 208,96" fill="none" stroke="black"/>
<path d="M 240,96 L 336,96" fill="none" stroke="black"/>
<path d="M 376,96 L 448,96" fill="none" stroke="black"/>
<path d="M 472,96 L 552,96" fill="none" stroke="black"/>
<path d="M 40,176 L 160,176" fill="none" stroke="black"/>
<path d="M 40,192 L 160,192" fill="none" stroke="black"/>
<path d="M 40,256 L 80,256" fill="none" stroke="black"/>
<path d="M 136,256 L 160,256" fill="none" stroke="black"/>
<path d="M 40,272 L 80,272" fill="none" stroke="black"/>
<path d="M 128,272 L 160,272" fill="none" stroke="black"/>
<path d="M 40,304 L 80,304" fill="none" stroke="black"/>
<path d="M 136,304 L 160,304" fill="none" stroke="black"/>
<path d="M 40,320 L 80,320" fill="none" stroke="black"/>
<path d="M 128,320 L 160,320" fill="none" stroke="black"/>
<path d="M 176,384 L 216,384" fill="none" stroke="black"/>
<path d="M 264,384 L 304,384" fill="none" stroke="black"/>
<path d="M 176,432 L 208,432" fill="none" stroke="black"/>
<path d="M 256,432 L 304,432" fill="none" stroke="black"/>
<path d="M 320,496 L 408,496" fill="none" stroke="black"/>
<path d="M 456,496 L 528,496" fill="none" stroke="black"/>
<path d="M 320,544 L 392,544" fill="none" stroke="black"/>
<path d="M 472,544 L 528,544" fill="none" stroke="black"/>
<path d="M 176,560 L 200,560" fill="none" stroke="black"/>
<path d="M 280,560 L 304,560" fill="none" stroke="black"/>
<path d="M 176,624 L 216,624" fill="none" stroke="black"/>
<path d="M 264,624 L 304,624" fill="none" stroke="black"/>
<path d="M 320,640 L 344,640" fill="none" stroke="black"/>
<path d="M 392,640 L 424,640" fill="none" stroke="black"/>
<path d="M 320,656 L 344,656" fill="none" stroke="black"/>
<path d="M 400,656 L 424,656" fill="none" stroke="black"/>
<path d="M 176,672 L 192,672" fill="none" stroke="black"/>
<path d="M 288,672 L 304,672" fill="none" stroke="black"/>
<path d="M 288,720 L 304,720" fill="none" stroke="black"/>
<path d="M 176,736 L 192,736" fill="none" stroke="black"/>
<path d="M 40,800 L 64,800" fill="none" stroke="black"/>
<path d="M 144,800 L 160,800" fill="none" stroke="black"/>
<path d="M 40,816 L 64,816" fill="none" stroke="black"/>
<path d="M 144,816 L 160,816" fill="none" stroke="black"/>
<path d="M 40,832 L 64,832" fill="none" stroke="black"/>
<path d="M 144,832 L 160,832" fill="none" stroke="black"/>
<path d="M 40,848 L 56,848" fill="none" stroke="black"/>
<path d="M 40,864 L 56,864" fill="none" stroke="black"/>
<path d="M 136,864 L 160,864" fill="none" stroke="black"/>
<path d="M 176,928 L 224,928" fill="none" stroke="black"/>
<path d="M 272,928 L 304,928" fill="none" stroke="black"/>
<path d="M 176,944 L 200,944" fill="none" stroke="black"/>
<path d="M 288,944 L 304,944" fill="none" stroke="black"/>
<path d="M 320,960 L 336,960" fill="none" stroke="black"/>
<path d="M 512,960 L 528,960" fill="none" stroke="black"/>
<path d="M 320,976 L 352,976" fill="none" stroke="black"/>
<path d="M 504,976 L 528,976" fill="none" stroke="black"/>
<path d="M 176,1024 L 200,1024" fill="none" stroke="black"/>
<path d="M 280,1024 L 304,1024" fill="none" stroke="black"/>
<polygon class="arrowhead" points="536,960 524,954.4 524,965.6" fill="black" transform="rotate(0,528,960)"/>
<polygon class="arrowhead" points="536,496 524,490.4 524,501.6" fill="black" transform="rotate(0,528,496)"/>
<polygon class="arrowhead" points="432,640 420,634.4 420,645.6" fill="black" transform="rotate(0,424,640)"/>
<polygon class="arrowhead" points="328,976 316,970.4 316,981.6" fill="black" transform="rotate(180,320,976)"/>
<polygon class="arrowhead" points="328,656 316,650.4 316,661.6" fill="black" transform="rotate(180,320,656)"/>
<polygon class="arrowhead" points="328,544 316,538.4 316,549.6" fill="black" transform="rotate(180,320,544)"/>
<polygon class="arrowhead" points="312,1024 300,1018.4 300,1029.6" fill="black" transform="rotate(0,304,1024)"/>
<polygon class="arrowhead" points="312,944 300,938.4 300,949.6" fill="black" transform="rotate(0,304,944)"/>
<polygon class="arrowhead" points="312,928 300,922.4 300,933.6" fill="black" transform="rotate(0,304,928)"/>
<polygon class="arrowhead" points="312,720 300,714.4 300,725.6" fill="black" transform="rotate(0,304,720)"/>
<polygon class="arrowhead" points="312,624 300,618.4 300,629.6" fill="black" transform="rotate(0,304,624)"/>
<polygon class="arrowhead" points="312,432 300,426.4 300,437.6" fill="black" transform="rotate(0,304,432)"/>
<polygon class="arrowhead" points="312,384 300,378.4 300,389.6" fill="black" transform="rotate(0,304,384)"/>
<polygon class="arrowhead" points="184,928 172,922.4 172,933.6" fill="black" transform="rotate(180,176,928)"/>
<polygon class="arrowhead" points="184,736 172,730.4 172,741.6" fill="black" transform="rotate(180,176,736)"/>
<polygon class="arrowhead" points="184,672 172,666.4 172,677.6" fill="black" transform="rotate(180,176,672)"/>
<polygon class="arrowhead" points="184,560 172,554.4 172,565.6" fill="black" transform="rotate(180,176,560)"/>
<polygon class="arrowhead" points="184,384 172,378.4 172,389.6" fill="black" transform="rotate(180,176,384)"/>
<polygon class="arrowhead" points="168,864 156,858.4 156,869.6" fill="black" transform="rotate(0,160,864)"/>
<polygon class="arrowhead" points="168,816 156,810.4 156,821.6" fill="black" transform="rotate(0,160,816)"/>
<polygon class="arrowhead" points="168,320 156,314.4 156,325.6" fill="black" transform="rotate(0,160,320)"/>
<polygon class="arrowhead" points="168,272 156,266.4 156,277.6" fill="black" transform="rotate(0,160,272)"/>
<polygon class="arrowhead" points="168,192 156,186.4 156,197.6" fill="black" transform="rotate(0,160,192)"/>
<polygon class="arrowhead" points="48,848 36,842.4 36,853.6" fill="black" transform="rotate(180,40,848)"/>
<polygon class="arrowhead" points="48,832 36,826.4 36,837.6" fill="black" transform="rotate(180,40,832)"/>
<polygon class="arrowhead" points="48,800 36,794.4 36,805.6" fill="black" transform="rotate(180,40,800)"/>
<polygon class="arrowhead" points="48,304 36,298.4 36,309.6" fill="black" transform="rotate(180,40,304)"/>
<polygon class="arrowhead" points="48,256 36,250.4 36,261.6" fill="black" transform="rotate(180,40,256)"/>
<polygon class="arrowhead" points="48,176 36,170.4 36,181.6" fill="black" transform="rotate(180,40,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="160" y="52">Registrar</text>
<text x="276" y="52">Domain</text>
<text x="412" y="52">Domain</text>
<text x="508" y="52">Vendor</text>
<text x="144" y="68">Agent</text>
<text x="288" y="68">Registrar</text>
<text x="396" y="68">CA</text>
<text x="512" y="68">Service</text>
<text x="156" y="84">(RegAgt)</text>
<text x="280" y="84">(JRC)</text>
<text x="508" y="84">(MASA)</text>
<text x="492" y="116">Internet</text>
<text x="92" y="132">discover</text>
<text x="92" y="148">pledge</text>
<text x="60" y="164">mDNS</text>
<text x="104" y="164">query</text>
<text x="56" y="244">trigger</text>
<text x="104" y="244">PVR</text>
<text x="148" y="244">(tPVR)</text>
<text x="192" y="244">and</text>
<text x="224" y="244">PER</text>
<text x="268" y="244">(tPER)</text>
<text x="340" y="244">generation</text>
<text x="396" y="244">on</text>
<text x="436" y="244">pledge</text>
<text x="108" y="260">tPVR</text>
<text x="104" y="276">PVR</text>
<text x="108" y="308">tPER</text>
<text x="104" y="324">PER</text>
<text x="32" y="340">~</text>
<text x="168" y="340">~</text>
<text x="312" y="340">~</text>
<text x="432" y="340">~</text>
<text x="536" y="340">~</text>
<text x="56" y="372">provide</text>
<text x="104" y="372">PVR</text>
<text x="132" y="372">to</text>
<text x="204" y="372">infrastructure</text>
<text x="240" y="388">TLS</text>
<text x="312" y="388">|</text>
<text x="276" y="404">[Reg-Agt</text>
<text x="368" y="404">authenticated</text>
<text x="264" y="420">and</text>
<text x="332" y="420">authorized?]</text>
<text x="232" y="436">PVR</text>
<text x="312" y="436">|</text>
<text x="276" y="452">[Reg-Agt</text>
<text x="364" y="452">authorized?]</text>
<text x="272" y="468">[accept</text>
<text x="340" y="468">device?]</text>
<text x="276" y="484">[contact</text>
<text x="344" y="484">vendor]</text>
<text x="432" y="500">RVR</text>
<text x="436" y="516">[extract</text>
<text x="512" y="516">DomainID]</text>
<text x="432" y="532">[update</text>
<text x="488" y="532">audit</text>
<text x="532" y="532">log]</text>
<text x="432" y="548">Voucher</text>
<text x="240" y="564">Voucher</text>
<text x="56" y="612">provide</text>
<text x="104" y="612">PER</text>
<text x="132" y="612">to</text>
<text x="204" y="612">infrastructure</text>
<text x="240" y="628">PER</text>
<text x="368" y="644">CSR</text>
<text x="372" y="660">Cert</text>
<text x="240" y="676">Enroll-Resp</text>
<text x="48" y="708">query</text>
<text x="104" y="708">cACerts</text>
<text x="156" y="708">from</text>
<text x="236" y="708">infrastructure</text>
<text x="180" y="724">--</text>
<text x="236" y="724">cACert-Req</text>
<text x="256" y="740">cACert-Resp--</text>
<text x="32" y="756">~</text>
<text x="168" y="756">~</text>
<text x="312" y="756">~</text>
<text x="432" y="756">~</text>
<text x="536" y="756">~</text>
<text x="56" y="788">provide</text>
<text x="120" y="788">voucher</text>
<text x="168" y="788">and</text>
<text x="232" y="788">certificate</text>
<text x="296" y="788">and</text>
<text x="344" y="788">collect</text>
<text x="404" y="788">status</text>
<text x="452" y="788">info</text>
<text x="104" y="804">Voucher</text>
<text x="104" y="820">vStatus</text>
<text x="104" y="836">cACerts</text>
<text x="112" y="852">Enroll-Resp--</text>
<text x="96" y="868">eStatus</text>
<text x="32" y="884">~</text>
<text x="168" y="884">~</text>
<text x="312" y="884">~</text>
<text x="432" y="884">~</text>
<text x="536" y="884">~</text>
<text x="56" y="916">provide</text>
<text x="120" y="916">voucher</text>
<text x="180" y="916">status</text>
<text x="224" y="916">and</text>
<text x="268" y="916">enroll</text>
<text x="324" y="916">status</text>
<text x="364" y="916">to</text>
<text x="416" y="916">registrar</text>
<text x="248" y="932">TLS</text>
<text x="248" y="948">vStatus</text>
<text x="360" y="964">req</text>
<text x="404" y="964">device</text>
<text x="456" y="964">audit</text>
<text x="496" y="964">log</text>
<text x="388" y="980">device</text>
<text x="440" y="980">audit</text>
<text x="480" y="980">log</text>
<text x="288" y="996">[verify</text>
<text x="344" y="996">audit</text>
<text x="388" y="996">log]</text>
<text x="240" y="1028">eStatus</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+   +-----------+   +-----------+    +--------+  +---------+
| Pledge |   | Registrar |   | Domain    |    | Domain |  | Vendor  |
|        |   | Agent     |   | Registrar |    | CA     |  | Service |
|        |   | (RegAgt)  |   |  (JRC)    |    |        |  | (MASA)  |
+--------+   +-----------+   +-----------+    +--------+  +---------+
   |                |                 |              |   Internet |
   |   discover     |                 |              |            |
   |    pledge      |                 |              |            |
   | mDNS query     |                 |              |            |
   |<---------------|                 |              |            |
   |--------------->|                 |              |            |
   |                |                 |              |            |

   trigger PVR (tPVR) and PER (tPER) generation on pledge
   |<----- tPVR ----|                 |              |            |
   |------ PVR ---->|                 |              |            |
   |                |                 |              |            |
   |<----- tPER ----|                 |              |            |
   |------ PER ---->|                 |              |            |
   ~                ~                 ~              ~            ~

   provide PVR to infrastructure
   |                |<----- TLS ----->|              |            |
   |                |         [Reg-Agt authenticated |            |
   |                |          and authorized?]      |            |
   |                |----- PVR ------>|              |            |
   |                |         [Reg-Agt authorized?]  |            |
   |                |         [accept device?]       |            |
   |                |         [contact vendor]       |            |
   |                |                 |------------ RVR --------->|
   |                |                 |           [extract DomainID]
   |                |                 |           [update audit log]
   |                |                 |<--------- Voucher --------|
   |                |<--- Voucher ----|              |            |
   |                |                 |              |            |

   provide PER to infrastructure
   |                |------ PER ----->|              |            |
   |                |                 |---- CSR ---->|            |
   |                |                 |<--- Cert ----|            |
   |                |<--Enroll-Resp---|              |            |
   |                |                 |              |            |
   query cACerts from infrastructure
   |                |-- cACert-Req -->|              |            |
   |                |<-- cACert-Resp--|              |            |
   ~                ~                 ~              ~            ~

   provide voucher and certificate and collect status info
   |<--- Voucher ---|                 |              |            |
   |---- vStatus -->|                 |              |            |
   |<--- cACerts ---|                 |              |            |
   |<--Enroll-Resp--|                 |              |            |
   |--- eStatus --->|                 |              |            |
   ~                ~                 ~              ~            ~

   provide voucher status and enroll status to registrar
   |                |<------ TLS ---->|              |            |
   |                |----  vStatus -->|              |            |
   |                |                 |--- req device audit log-->|
   |                |                 |<---- device audit log ----|
   |                |           [verify audit log]
   |                |                 |              |            |
   |                |---- eStatus --->|              |            |
   |                |                 |              |            |
]]></artwork></artset></figure>

<t>The following sub sections split the interactions between the different components into:</t>

<t><list style="symbols">
  <t><xref target="exchanges_uc2_1"/> describes the request object acquisition by the registrar-agent from pledge.</t>
  <t><xref target="exchanges_uc2_2"/> describes the request object processing initiated by the registrar-agent to the registrar and also the interaction of the registrar with the MASA and the domain CA including the response object processing by these entities.</t>
  <t><xref target="exchanges_uc2_3"/> describes the supply of response objects between the registrar-agent and the pledge including the status information.</t>
  <t><xref target="exchanges_uc2_5"/> describes the general status handling and addresses corresponding exchanges between the registrar-agent and the registrar.</t>
</list></t>

<section anchor="exchanges_uc2_1"><name>Request Objects Acquisition by Registrar-Agent from Pledge</name>

<t>The following description assumes that the registrar-agent has already discovered the pledge.
This may be done as described in <xref target="discovery_uc2_ppa"/> based on mDNS or similar.</t>

<t>The focus is on the exchange of signature-wrapped objects using endpoints defined for the pledge in <xref target="pledge_ep"/>.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Pledge: possesses IDevID</t>
  <t>Registrar-agent: possesses/trusts IDevID CA certificate and has own LDevID(RegAgt) credentials for the registrar domain (site).
In addition, the registrar-agent <bcp14>MUST</bcp14> know the product-serial-number(s) of the pledge(s) to be bootstrapped.
The registrar-agent <bcp14>MAY</bcp14> be provided with the product-serial-number(s) in different ways:
  <list style="symbols">
      <t>configured, e.g., as a list of pledges to be bootstrapped via QR code scanning</t>
      <t>discovered by using standard approaches like mDNS as described in <xref target="discovery_uc2_ppa"/></t>
      <t>discovered by using a vendor specific approach, e.g., RF beacons.
The registrar-agent <bcp14>SHOULD</bcp14> have synchronized time.</t>
    </list></t>
  <t>Registrar: possesses/trusts IDevID CA certificate and has own registrar EE credentials.</t>
</list></t>

<figure title="Request collection (registrar-agent - pledge)" anchor="exchangesfig_uc2_1"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="520" viewBox="0 0 520 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,104 L 40,304" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 320,32 L 320,96" fill="none" stroke="black"/>
<path d="M 368,104 L 368,304" fill="none" stroke="black"/>
<path d="M 416,32 L 416,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 320,32 L 416,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 320,96 L 416,96" fill="none" stroke="black"/>
<path d="M 48,144 L 72,144" fill="none" stroke="black"/>
<path d="M 336,144 L 360,144" fill="none" stroke="black"/>
<path d="M 48,208 L 80,208" fill="none" stroke="black"/>
<path d="M 280,208 L 360,208" fill="none" stroke="black"/>
<path d="M 48,240 L 88,240" fill="none" stroke="black"/>
<path d="M 320,240 L 360,240" fill="none" stroke="black"/>
<path d="M 48,288 L 88,288" fill="none" stroke="black"/>
<path d="M 312,288 L 360,288" fill="none" stroke="black"/>
<polygon class="arrowhead" points="368,288 356,282.4 356,293.6" fill="black" transform="rotate(0,360,288)"/>
<polygon class="arrowhead" points="368,208 356,202.4 356,213.6" fill="black" transform="rotate(0,360,208)"/>
<polygon class="arrowhead" points="56,240 44,234.4 44,245.6" fill="black" transform="rotate(180,48,240)"/>
<polygon class="arrowhead" points="56,144 44,138.4 44,149.6" fill="black" transform="rotate(180,48,144)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="368" y="52">Registrar</text>
<text x="352" y="68">Agent</text>
<text x="364" y="84">(RegAgt)</text>
<text x="400" y="116">-create</text>
<text x="448" y="132">agent-signed-data</text>
<text x="112" y="148">trigger</text>
<text x="172" y="148">pledge</text>
<text x="264" y="148">voucher-request</text>
<text x="204" y="164">-agent-provided-proximity-registrar-cert</text>
<text x="116" y="180">-agent-signed-data</text>
<text x="116" y="212">pledge</text>
<text x="208" y="212">voucher-request</text>
<text x="396" y="212">-store</text>
<text x="440" y="212">PVR</text>
<text x="128" y="244">trigger</text>
<text x="236" y="244">enrollment-request</text>
<text x="128" y="260">(empty)</text>
<text x="124" y="292">pledge</text>
<text x="228" y="292">enrollment-request</text>
<text x="396" y="292">-store</text>
<text x="448" y="292">(PER)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                             +-----------+
| Pledge |                             | Registrar |
|        |                             | Agent     |
|        |                             | (RegAgt)  |
+--------+                             +-----------+
    |                                        |-create
    |                                        | agent-signed-data
    |<--- trigger pledge voucher-request ----|
    |-agent-provided-proximity-registrar-cert|
    |-agent-signed-data                      |
    |                                        |
    |----- pledge voucher-request ---------->|-store PVR
    |                                        |
    |<----- trigger enrollment-request ------|
    |       (empty)                          |
    |                                        |
    |------ pledge enrollment-request ------>|-store (PER)
    |                                        |
]]></artwork></artset></figure>

<t>Note: The registrar-agent may trigger the pledge for the PVR or the PER or both. It is expected that this will be aligned with a service technician workflow, visiting and installing each pledge.</t>

<section anchor="pvrt"><name>Pledge-Voucher-Request (PVR) - Trigger</name>

<t>Triggering the pledge to create the PVR is done using HTTP POST on the defined pledge endpoint: "/.well-known/brski/tv"</t>

<t>The registrar-agent PVR trigger Content-Type header is: <spanx style="verb">application/json</spanx>.
Following parameters are provided in the JSON object:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: base64-encoded registrar EE TLS certificate.</t>
  <t>agent-signed-data: base64-encoded JSON-in-JWS object.</t>
</list></t>

<t>The trigger for the pledge to create a PVR is depicted in the following figure:</t>

<figure title="Representation of trigger to create PVR" anchor="pavrt"><artwork align="left"><![CDATA[
{
  "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
  "agent-signed-data": "base64encodedvalue=="
}
]]></artwork></figure>

<t>The pledge provisionally accepts the agent-provided-proximity-registrar-cert, it <bcp14>SHOULD</bcp14> verify it after a voucher is received.
The pledge will be unable to verify the agent-signed-data itself as it does not possess the LDevID(RegAgt) certificate and the domain trust has not been established at this point of the communication.
It <bcp14>SHOULD</bcp14> be done, after the voucher has been received.</t>

<t>The agent-signed-data is a JSON-in-JWS object and contains the following information:</t>

<t>The header of the agent-signed-data contains:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>kid: <bcp14>MUST</bcp14> contain the base64-encoded bytes of the SubjectKeyIdentifier (the "KeyIdentifier" OCTET STRING value), excluding the ASN.1 encoding of "OCTET STRING" of the LDevID(RegAgt) certificate.</t>
</list></t>

<t>The body of the agent-signed-data contains an "ietf-voucher-request:agent-signed-data" element (defined in <xref target="I-D.ietf-anima-rfc8366bis"/>):</t>

<t><list style="symbols">
  <t>created-on: <bcp14>MUST</bcp14> contain the creation date and time in yang:date-and-time format.</t>
  <t>serial-number: <bcp14>MUST</bcp14> contain the product-serial-number as type string as defined in <xref target="RFC8995"/>, section 2.3.1.
The serial-number corresponds with the product-serial-number contained in the X520SerialNumber field of the IDevID certificate of the pledge.</t>
</list></t>

<figure title="Representation of agent-signed-data in General JWS Serialization syntax" anchor="asd"><artwork align="left"><![CDATA[
# The agent-signed-data in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher-request-prm:agent-signed-data)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "ietf-voucher-request-prm:agent-signed-data"
  representation in JSON syntax

"ietf-voucher-request-prm:agent-signed-data": {
  "created-on": "2021-04-16T00:00:01.000Z",
  "serial-number": "callee4711"
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "kid": "base64encodedvalue=="
}
]]></artwork></figure>

</section>
<section anchor="pvrr"><name>Pledge-Voucher-Request (PVR) - Response</name>

<t>Upon receiving the voucher-request trigger, the pledge <bcp14>SHALL</bcp14> construct the body of the PVR as defined in <xref target="RFC8995"/>.
It will contain additional information provided by the registrar-agent as specified in the following.
This PVR becomes a JSON-in-JWS object as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
If the pledge is unable to construct the PVR it <bcp14>SHOULD</bcp14> respond with a HTTP error code to the registrar-agent to indicate that it is not able to create the PVR.</t>

<t>The following client error responses <bcp14>MAY</bcp14> be used:</t>

<t><list style="symbols">
  <t>400 Bad Request: if the pledge detected an error in the format of the request, e.g. missing field, wrong data types, etc. or if the request is not valid JSON even though the PVR media type was set to <spanx style="verb">application/json</spanx>.</t>
  <t>403 Forbidden: if the pledge detected that one or more security parameters from the trigger message to create the PVR were not valid, e.g., the LDevID (Reg) certificate.</t>
</list></t>

<t>The header of the PVR <bcp14>SHALL</bcp14> contain the following parameters as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded pledge IDevID certificate.
It may optionally contain the certificate chain for this certificate.</t>
</list></t>

<t>The payload of the PVR <bcp14>MUST</bcp14> contain the following parameters as part of the ietf-voucher-request-prm:voucher as defined in <xref target="RFC8995"/>:</t>

<t><list style="symbols">
  <t>created-on: <bcp14>SHALL</bcp14> contain the current date and time in yang:date-and-time format.
If the pledge does not have synchronized time, it <bcp14>SHALL</bcp14> use the created-on time from the agent-signed-data, received in the trigger to create a PVR.</t>
  <t>nonce: <bcp14>SHALL</bcp14> contain a cryptographically strong pseudo-random number.</t>
  <t>serial-number: <bcp14>SHALL</bcp14> contain the pledge product-serial-number as X520SerialNumber.</t>
  <t>assertion: <bcp14>SHALL</bcp14> contain the requested voucher assertion "agent-proximity".</t>
</list></t>

<t>The ietf-voucher-request:voucher is enhanced with additional parameters:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: <bcp14>MUST</bcp14> be included and contains the base64-encoded registrar EE certificate (provided as trigger parameter by the registrar-agent).</t>
  <t>agent-signed-data: <bcp14>MUST</bcp14> contain the base64-encoded agent-signed-data (as defined in <xref target="asd"/>) and provided as trigger parameter.</t>
</list></t>

<t>The enhancements of the YANG module for the ietf-voucher-request with these new leaves are defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.</t>

<t>The PVR is signed using the pledge's IDevID credential contained as x5c parameter of the JOSE header.</t>

<figure title="Representation of PVR" anchor="pvr"><artwork align="left"><![CDATA[
# The PVR in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher-request-prm:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded Payload "ietf-voucher-request-prm:voucher" Representation
  in JSON syntax
"ietf-voucher-request-prm:voucher": {
   "created-on": "2021-04-16T00:00:02.000Z",
   "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
   "serial-number": "callee4711",
   "assertion": "agent-proximity",
   "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
   "agent-signed-data": "base64encodedvalue=="
}

# Decoded "JWS Protected Header" Representation in JSON syntax
{
    "alg": "ES256",
    "x5c": [
      "base64encodedvalue==",
      "base64encodedvalue=="
    ],
    "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The PVR Content-Type is defined in <xref target="I-D.ietf-anima-jws-voucher"/> as <spanx style="verb">application/voucher-jws+json</spanx>.</t>

<t>The pledge <bcp14>SHOULD</bcp14> include this Content-Type header field indicating the included media type for the PVR.
Note that this is also an indication regarding the acceptable format of the voucher-response.
This format is included by the registrar as described in <xref target="exchanges_uc2_2"/>.</t>

</section>
<section anchor="pledge-enrollment-request-per-trigger"><name>Pledge Enrollment-Request (PER) - Trigger</name>

<t>Once the registrar-agent has received the PVR it can trigger the pledge to generate a PER.
As in BRSKI the PER contains a PKCS#10, but additionally signed using the pledge's IDevID.
Note, as the initial enrollment aims to request a generic certificate, no certificate attributes are provided to the pledge.</t>

<t>Triggering the pledge to create the enrollment-request is done using HTTP POST on the defined pledge endpoint: "/.well-known/brski/te"</t>

<t>The registrar-agent PER trigger Content-Type header is: <spanx style="verb">application/json</spanx> with an empty body by default.
Note that using HTTP POST allows for an empty body, but also to provide additional data, like CSR attributes or information about the enroll type "enroll-generic-cert" or "re-enroll-generic-cert".
The "enroll-generic-cert" case is shown in <xref target="raer"/>.</t>

<figure title="Example of trigger to create a PER" anchor="raer"><artwork align="left"><![CDATA[
{
  "enroll-type" : "enroll-generic-cert"
}
]]></artwork></figure>

</section>
<section anchor="PER-response"><name>Pledge Enrollment-Request (PER) - Response</name>

<t>In the following the enrollment is described as initial enrollment with an empty HTTP POST body.</t>

<t>Upon receiving the enrollment trigger, the pledge <bcp14>SHALL</bcp14> construct the PER as authenticated self-contained object.
The CSR already assures POP of the private key corresponding to the contained public key.
In addition, based on the additional signature using the IDevID, POI is provided.
Here, a JOSE object is being created in which the body utilizes the YANG module ietf-ztp-types with the grouping for csr-grouping for the CSR as defined in <xref target="I-D.ietf-netconf-sztp-csr"/>.</t>

<t>Depending on the capability of the pledge, it constructs the pledge enrollment-request (PER) as plain PKCS#10.
Note, the focus in this use case is placed on PKCS#10 as PKCS#10 can be transmitted in different enrollment protocols in the infrastructure like EST, CMP, CMS, and SCEP.
If the pledge has already implemented an enrollment protocol, it may leverage that functionality for the creation of the CSR.
Note, <xref target="I-D.ietf-netconf-sztp-csr"/> also allows for inclusion of certification requests in different formats used by CMP or CMC.</t>

<t>The pledge <bcp14>SHOULD</bcp14> construct the PER as PKCS#10.
In BRSKI-PRM it <bcp14>MUST</bcp14> sign it additionally with its IDevID credentials to provide proof-of-identity bound to the PKCS#10 as described below.</t>

<t>If the pledge is unable to construct the PER it <bcp14>SHOULD</bcp14> respond with a HTTP 4xx/5xx error code to the registrar-agent to indicate that it is not able to create the PER.</t>

<t>The following 4xx client error codes <bcp14>MAY</bcp14> be used:</t>

<t><list style="symbols">
  <t>400 Bad Request: if the pledge detected an error in the format of the request or detected invalid JSON even though the PER media type was set to <spanx style="verb">application/json</spanx>.</t>
  <t>403 Forbidden: if the pledge detected that one or more security parameters (if provided) from the trigger message to create the PER are not valid.</t>
  <t>406 Not Acceptable: if the request's Accept header indicates a type that is unknown or unsupported. For example, a type other than <spanx style="verb">application/jose+json</spanx>.</t>
  <t>415 Unsupported Media Type: if the request's Content-Type header indicates a type that is unknown or unsupported. For example, a type other than 'application/json'.</t>
</list></t>

<t>A successful enrollment will result in a generic LDevID certificate for the pledge in the new domain, which can be used to request further (application specific) LDevID certificates if necessary for operation.
The registrar-agent <bcp14>SHALL</bcp14> use the endpoints specified in this document.</t>

<t><xref target="I-D.ietf-netconf-sztp-csr"/> considers PKCS#10 but also CMP and CMC as certification request format. Note that the wrapping signature is only necessary for plain PKCS#10 as other request formats like CMP and CMS support the signature wrapping as part of their own certificate request format.</t>

<t>The registrar-agent enrollment-request Content-Type header for a signature-wrapped PKCS#10 is: <spanx style="verb">application/jose+json</spanx></t>

<t>The header of the pledge enrollment-request <bcp14>SHALL</bcp14> contain the following parameter as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used for creating the object signature.</t>
  <t>x5c: contains the base64-encoded pledge IDevID certificate.
It may optionally contain the certificate chain for this certificate.</t>
</list></t>

<t>The body of the pledge enrollment-request <bcp14>SHOULD</bcp14> contain a P10 parameter (for PKCS#10) as defined for ietf-ztp-types:p10-csr in <xref target="I-D.ietf-netconf-sztp-csr"/>:</t>

<t><list style="symbols">
  <t>P10: contains the base64-encoded PKCS#10 of the pledge.</t>
</list></t>

<t>The JOSE object is signed using the pledge's IDevID credential, which corresponds to the certificate signaled in the JOSE header.</t>

<figure title="Representation of PER" anchor="per"><artwork align="left"><![CDATA[
# The PER in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-ztp-types)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded Payload "ietf-ztp-types" Representation in JSON Syntax
"ietf-ztp-types": {
  "p10-csr": "base64encodedvalue=="
}

# Decoded "JWS Protected Header" Representation in JSON Syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "crit":["created-on"],
  "created-on": "2022-09-13T00:00:02.000Z"
}
]]></artwork></figure>

<t>With the collected PVR and PER, the registrar-agent starts the interaction with the domain registrar.</t>

<t>The new protected header field "created-on" is introduced to reflect freshness of the PER.
The field is marked critical "crit" to ensure that it must be understood and validated by the receiver (here the domain registrar) according to section 4.1.11 of <xref target="RFC7515"/>.
It allows the registrar to verify the timely correlation between the PER and previously exchanged messages, i.e., created-on of PER &gt;= created-on of PVR &gt;= created-on of PVR trigger.</t>

<t>As the registrar-agent is intended to facilitate communication between the pledge and the domain registrar, a collection of requests from more than one pledge is possible.
This allows bulk bootstrapping of several pledges using the same connection between the registrar-agent and the domain registrar.</t>

</section>
</section>
<section anchor="exchanges_uc2_2"><name>Request Object Handling initiated by the Registrar-Agent on Registrar, MASA and Domain CA</name>

<t>The BRSKI-PRM bootstrapping exchanges between registrar-agent and domain registrar resemble the BRSKI exchanges between pledge and domain registrar (pledge-initiator-mode) with some deviations.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses its own LDevID(RegAgt) credentials of the site domain.
In addition, it <bcp14>MAY</bcp14> possess the IDevID CA certificate of the pledge vendor/manufacturer to verify the pledge certificate in the received request messages.
It has the address of the domain registrar through configuration or by discovery, e.g., mDNS/DNSSD.
The registrar-agent has acquired one or more PVR and PER objects.</t>
  <t>Registrar: possesses the IDevID CA certificate of the pledge vendor/manufacturer and its own registrar EE credentials of the site domain.</t>
  <t>MASA: possesses its own vendor/manufacturer credentials (voucher signing key, TLS server certificate) related to pledges IDevID and <bcp14>MAY</bcp14> possess the site-specific domain CA certificate.
The latter is only necessary if the MASA needs to verify that the domain of the Registrar is a-priori authorized to enroll a particular pledge, or a particular type of pledge.
In such case is out of scope of this document how the MASA will obtain the domain CA certificate.
In other cases, a MASA may allow the pledge to enroll into an anonymous and/or yet-unknown domain and then the a-priori possession of the domain CA certificate is not needed.</t>
</list></t>

<figure title="Request processing between registrar-agent and bootstrapping services" anchor="exchangesfig_uc2_2"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="624" width="504" viewBox="0 0 504 624" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,144 L 40,608" fill="none" stroke="black"/>
<path d="M 104,32 L 104,96" fill="none" stroke="black"/>
<path d="M 152,32 L 152,96" fill="none" stroke="black"/>
<path d="M 200,104 L 200,176" fill="none" stroke="black"/>
<path d="M 200,224 L 200,256" fill="none" stroke="black"/>
<path d="M 200,320 L 200,608" fill="none" stroke="black"/>
<path d="M 248,32 L 248,96" fill="none" stroke="black"/>
<path d="M 312,32 L 312,96" fill="none" stroke="black"/>
<path d="M 352,104 L 352,288" fill="none" stroke="black"/>
<path d="M 352,416 L 352,608" fill="none" stroke="black"/>
<path d="M 384,32 L 384,96" fill="none" stroke="black"/>
<path d="M 416,32 L 416,96" fill="none" stroke="black"/>
<path d="M 456,104 L 456,352" fill="none" stroke="black"/>
<path d="M 456,400 L 456,608" fill="none" stroke="black"/>
<path d="M 496,32 L 496,96" fill="none" stroke="black"/>
<path d="M 8,32 L 104,32" fill="none" stroke="black"/>
<path d="M 152,32 L 248,32" fill="none" stroke="black"/>
<path d="M 312,32 L 384,32" fill="none" stroke="black"/>
<path d="M 416,32 L 496,32" fill="none" stroke="black"/>
<path d="M 8,96 L 104,96" fill="none" stroke="black"/>
<path d="M 152,96 L 248,96" fill="none" stroke="black"/>
<path d="M 312,96 L 384,96" fill="none" stroke="black"/>
<path d="M 416,96 L 496,96" fill="none" stroke="black"/>
<path d="M 48,176 L 88,176" fill="none" stroke="black"/>
<path d="M 144,176 L 192,176" fill="none" stroke="black"/>
<path d="M 48,240 L 64,240" fill="none" stroke="black"/>
<path d="M 176,240 L 192,240" fill="none" stroke="black"/>
<path d="M 208,320 L 304,320" fill="none" stroke="black"/>
<path d="M 360,320 L 448,320" fill="none" stroke="black"/>
<path d="M 208,336 L 272,336" fill="none" stroke="black"/>
<path d="M 384,336 L 448,336" fill="none" stroke="black"/>
<path d="M 208,400 L 288,400" fill="none" stroke="black"/>
<path d="M 368,400 L 448,400" fill="none" stroke="black"/>
<path d="M 48,416 L 80,416" fill="none" stroke="black"/>
<path d="M 160,416 L 192,416" fill="none" stroke="black"/>
<path d="M 48,448 L 64,448" fill="none" stroke="black"/>
<path d="M 168,448 L 192,448" fill="none" stroke="black"/>
<path d="M 208,480 L 248,480" fill="none" stroke="black"/>
<path d="M 304,480 L 344,480" fill="none" stroke="black"/>
<path d="M 208,496 L 224,496" fill="none" stroke="black"/>
<path d="M 328,496 L 344,496" fill="none" stroke="black"/>
<path d="M 208,528 L 224,528" fill="none" stroke="black"/>
<path d="M 328,528 L 344,528" fill="none" stroke="black"/>
<path d="M 48,544 L 64,544" fill="none" stroke="black"/>
<path d="M 176,544 L 192,544" fill="none" stroke="black"/>
<path d="M 48,576 L 64,576" fill="none" stroke="black"/>
<path d="M 176,576 L 192,576" fill="none" stroke="black"/>
<path d="M 48,592 L 64,592" fill="none" stroke="black"/>
<path d="M 176,592 L 192,592" fill="none" stroke="black"/>
<polygon class="arrowhead" points="456,336 444,330.4 444,341.6" fill="black" transform="rotate(0,448,336)"/>
<polygon class="arrowhead" points="456,320 444,314.4 444,325.6" fill="black" transform="rotate(0,448,320)"/>
<polygon class="arrowhead" points="352,496 340,490.4 340,501.6" fill="black" transform="rotate(0,344,496)"/>
<polygon class="arrowhead" points="352,480 340,474.4 340,485.6" fill="black" transform="rotate(0,344,480)"/>
<polygon class="arrowhead" points="216,528 204,522.4 204,533.6" fill="black" transform="rotate(180,208,528)"/>
<polygon class="arrowhead" points="216,480 204,474.4 204,485.6" fill="black" transform="rotate(180,208,480)"/>
<polygon class="arrowhead" points="216,400 204,394.4 204,405.6" fill="black" transform="rotate(180,208,400)"/>
<polygon class="arrowhead" points="200,576 188,570.4 188,581.6" fill="black" transform="rotate(0,192,576)"/>
<polygon class="arrowhead" points="200,448 188,442.4 188,453.6" fill="black" transform="rotate(0,192,448)"/>
<polygon class="arrowhead" points="200,240 188,234.4 188,245.6" fill="black" transform="rotate(0,192,240)"/>
<polygon class="arrowhead" points="200,176 188,170.4 188,181.6" fill="black" transform="rotate(0,192,176)"/>
<polygon class="arrowhead" points="56,592 44,586.4 44,597.6" fill="black" transform="rotate(180,48,592)"/>
<polygon class="arrowhead" points="56,544 44,538.4 44,549.6" fill="black" transform="rotate(180,48,544)"/>
<polygon class="arrowhead" points="56,416 44,410.4 44,421.6" fill="black" transform="rotate(180,48,416)"/>
<polygon class="arrowhead" points="56,176 44,170.4 44,181.6" fill="black" transform="rotate(180,48,176)"/>
<g class="text">
<text x="60" y="52">Registrar-</text>
<text x="188" y="52">Domain</text>
<text x="348" y="52">Domain</text>
<text x="452" y="52">Vendor</text>
<text x="40" y="68">agent</text>
<text x="200" y="68">Registrar</text>
<text x="332" y="68">CA</text>
<text x="456" y="68">Service</text>
<text x="52" y="84">(RegAgt)</text>
<text x="192" y="84">(JRC)</text>
<text x="452" y="84">(MASA)</text>
<text x="40" y="116">|</text>
<text x="412" y="116">Internet</text>
<text x="36" y="132">[voucher</text>
<text x="80" y="132">+</text>
<text x="136" y="132">enrollment]</text>
<text x="20" y="148">[PVR</text>
<text x="64" y="148">PER</text>
<text x="120" y="148">available</text>
<text x="168" y="148">]</text>
<text x="116" y="180">mTLS</text>
<text x="164" y="196">[Reg-Agt</text>
<text x="256" y="196">authenticated</text>
<text x="152" y="212">and</text>
<text x="220" y="212">authorized?]</text>
<text x="120" y="244">Voucher-Req</text>
<text x="120" y="260">(PVR)</text>
<text x="164" y="276">[Reg-Agt</text>
<text x="252" y="276">authorized?]</text>
<text x="160" y="292">[accept</text>
<text x="228" y="292">device?]</text>
<text x="164" y="308">[contact</text>
<text x="232" y="308">vendor]</text>
<text x="332" y="324">mTLS</text>
<text x="328" y="340">Voucher-Req</text>
<text x="328" y="356">(RVR)</text>
<text x="388" y="372">[extract</text>
<text x="464" y="372">DomainID]</text>
<text x="384" y="388">[update</text>
<text x="440" y="388">audit</text>
<text x="484" y="388">log]</text>
<text x="328" y="404">Voucher</text>
<text x="120" y="420">Voucher</text>
<text x="116" y="452">Enroll-Req</text>
<text x="112" y="468">(PER)</text>
<text x="276" y="484">mTLS</text>
<text x="276" y="500">Enroll-Req</text>
<text x="264" y="516">(RER)</text>
<text x="280" y="532">Enroll-Resp</text>
<text x="120" y="548">Enroll-Resp</text>
<text x="120" y="580">caCerts-Req</text>
<text x="120" y="596">caCerts-Res</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+-----------+     +-----------+       +--------+   +---------+
| Registrar-|     | Domain    |       | Domain |   | Vendor  |
| agent     |     | Registrar |       | CA     |   | Service |
| (RegAgt)  |     |  (JRC)    |       |        |   | (MASA)  |
+-----------+     +-----------+       +--------+   +---------+
    |                   |                  |   Internet |
[voucher + enrollment]  |                  |            |
[PVR, PER available ]   |                  |            |
    |                   |                  |            |
    |<----- mTLS ------>|                  |            |
    |           [Reg-Agt authenticated     |            |
    |            and authorized?]          |            |
    |                   |                  |            |
    |--- Voucher-Req -->|                  |            |
    |       (PVR)       |                  |            |
    |           [Reg-Agt authorized?]      |            |
    |           [accept device?]           |            |
    |           [contact vendor]                        |
    |                   |------------- mTLS ----------->|
    |                   |--------- Voucher-Req -------->|
    |                   |             (RVR)             |
    |                   |                   [extract DomainID]
    |                   |                   [update audit log]
    |                   |<---------- Voucher -----------|
    |<---- Voucher -----|                  |            |
    |                   |                  |            |
    |--- Enroll-Req --->|                  |            |
    |      (PER)        |                  |            |
    |                   |<----- mTLS ----->|            |
    |                   |--- Enroll-Req -->|            |
    |                   |     (RER)        |            |
    |                   |<-- Enroll-Resp---|            |
    |<-- Enroll-Resp ---|                  |            |
    |                   |                  |            |
    |--- caCerts-Req -->|                  |            |
    |<-- caCerts-Res ---|                  |            |
    |                   |                  |            |
]]></artwork></artset></figure>

<t>The registrar-agent establishes a TLS connection to the registrar.
As already stated in <xref target="RFC8995"/>, the use of TLS 1.3 (or newer) is encouraged.
TLS 1.2 or newer is <bcp14>REQUIRED</bcp14> on the registrar-agent side.
TLS 1.3 (or newer) <bcp14>SHOULD</bcp14> be available on the registrar, but TLS 1.2 <bcp14>MAY</bcp14> be used.
TLS 1.3 (or newer) <bcp14>SHOULD</bcp14> be available on the MASA, but TLS 1.2 <bcp14>MAY</bcp14> be used.</t>

<section anchor="connection-establishment-registrar-agent-to-registrar"><name>Connection Establishment (Registrar-Agent to Registrar)</name>

<t>In contrast to BRSKI <xref target="RFC8995"/> TLS client authentication to the registrar is achieved by using registrar-agent LDevID(RegAgt) credentials instead of pledge IDevID credentials.
Consequently BRSKI (pledge-initiator-mode) is distinguishable from BRSKI-PRM (pledge-responder-mode) by the registrar.
The registrar <bcp14>SHOULD</bcp14> verify that the registrar-agent is authorized to establish a connection to the registrar by TLS client authentication using LDevID(RegAgt) credentials.
If the connection from registrar-agent to registrar is established, the authorization <bcp14>SHALL</bcp14> be verified again based on agent-signed-data contained in the PVR.
This ensures that the pledge has been triggered by an authorized registrar-agent.</t>

<t>The registrar can receive request objects in different formats as defined in <xref target="RFC8995"/>.
Specifically, the registrar will receive JSON-in-JWS objects generated by the pledge for voucher-request and enrollment-request (instead of BRSKI voucher-request as CMS-signed JSON and enrollment-request as PKCS#10).</t>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the PVR by HTTP POST to the registrar endpoint: "/.well-known/brski/requestvoucher"</t>

<t>The Content-Type header field for JSON-in-JWS PVR is: <spanx style="verb">application/voucher-jws+json</spanx> (see <xref target="pvr"/> for the content definition), as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>The registrar-agent <bcp14>SHOULD</bcp14> set the Accept field in the request-header indicating the acceptable Content-Type for the voucher-response.
The voucher-response Content-Type header field <bcp14>SHOULD</bcp14> be set to <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

</section>
<section anchor="pledge-voucher-request-pvr-processing-by-registrar"><name>Pledge-Voucher-Request (PVR) Processing by Registrar</name>

<t>After receiving the PVR from registrar-agent, the registrar <bcp14>SHALL</bcp14> perform the verification as defined in section 5.3 of <xref target="RFC8995"/>.
In addition, the registrar <bcp14>SHALL</bcp14> verify the following parameters from the PVR:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: <bcp14>MUST</bcp14> contain registrar's own registrar EE certificate to ensure the registrar in proximity of the registrar-agent is the desired registrar for this PVR.</t>
  <t>agent-signed-data: The registrar <bcp14>MUST</bcp14> verify that the agent provided data has been signed with the LDevID(RegAgt) credentials indicated in the "kid" JOSE header parameter.
The registrar <bcp14>MUST</bcp14> verify that the LDevID(ReAgt) certificate, corresponding to the signature, is still valid.
If the certificate is already expired, the registrar <bcp14>SHALL</bcp14> reject the request.
Validity of used signing certificates at the time of signing the agent-signed-data is necessary to avoid that a rogue registrar-agent generates agent-signed-data objects to onboard arbitrary pledges at a later point in time, see also <xref target="sec_cons_reg-agt"/>.
The registrar <bcp14>MUST</bcp14> fetch the LDevID(RegAgt) certificate, based on the provided SubjectKeyIdentifier (SKID) contained in the "kid" header parameter of the agent-signed-data, and perform this verification.
This requires, that the registrar can fetch the LDevID(RegAgt) certificate data (including intermediate CA certificates if existent) based on the SKID.</t>
</list></t>

<t>If the registrar is unable to validate the PVR it <bcp14>SHOULD</bcp14> respond with a HTTP 4xx/5xx error code to the registrar-agent.</t>

<t>The following 4xx client error codes <bcp14>SHOULD</bcp14> be used:</t>

<t><list style="symbols">
  <t>403 Forbidden: if the registrar detected that one or more security related parameters are not valid.</t>
  <t>404 Not Found status code if the pledge provided information could not be used with automated allowance, as described in section 5.3 of <xref target="RFC8995"/>.</t>
  <t>406 Not Acceptable: if the Content-Type indicated by the Accept header is unknown or unsupported.</t>
</list></t>

<t>If the validation succeeds, the registrar <bcp14>SHOULD</bcp14> accept the PVR to join the domain as defined in section 5.3 of <xref target="RFC8995"/>.
The registrar then establishes a TLS connection to MASA as described in section 5.4 of <xref target="RFC8995"/> to obtain a voucher for the pledge.</t>

</section>
<section anchor="registrar-voucher-request-rvr-processing-registrar-to-masa"><name>Registrar-Voucher-Request (RVR) Processing (Registrar to MASA)</name>

<t>The registrar <bcp14>SHALL</bcp14> construct the payload of the RVR as defined in <xref target="RFC8995"/>.
The RVR encoding <bcp14>SHALL</bcp14> be JSON-in-JWS as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>The header of the RVR <bcp14>SHALL</bcp14> contain the following parameter as defined for JWS <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t>alg: algorithm used to create the object signature</t>
  <t>x5c: base64-encoded registrar LDevID certificate(s)
(It optionally contains the certificate chain for this certificate)</t>
</list></t>

<t>The payload of the RVR <bcp14>MUST</bcp14> contain the following parameter as part of the voucher-request as defined in <xref target="RFC8995"/>:</t>

<t><list style="symbols">
  <t>created-on: current date and time in yang:date-and-time format of RVR creation</t>
  <t>nonce: copied from the PVR</t>
  <t>serial-number: product-serial-number of pledge.
The registrar <bcp14>MUST</bcp14> verify that the IDevID certificate subject serialNumber of the pledge (X520SerialNumber) matches the serial-number value in the PVR.
In addition, it <bcp14>MUST</bcp14> be equal to the serial-number value contained in the agent-signed data of PVR.</t>
  <t>assertion: voucher assertion requested by the pledge (agent-proximity).
The registrar provides this information to assure successful verification of agent proximity based on the agent-signed-data.</t>
  <t>prior-signed-voucher-request: PVR as in <xref target="RFC8995"/></t>
</list></t>

<t>The RVR <bcp14>MUST</bcp14> be enhanced with the following parameter, when the assertion "agent-proximity" is requested, as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>:</t>

<t><list style="symbols">
  <t>agent-sign-cert: LDevID(RegAgt) certificate or the LDevID(RegAgt) certificate including certificate chain.
In the context of this document it is a JSON array of base64encoded certificate information and handled in the same way as x5c header objects.</t>
</list></t>

<t>If only a single object is contained in the x5c it <bcp14>MUST</bcp14> be the base64-encoded LDevID(RegAgt) certificate.
If multiple certificates are included in the x5c, the first <bcp14>MUST</bcp14> be the base64-encoded LDevID(RegAgt) certificate.</t>

<t>The MASA uses this information for verification that the registrar-agent is in proximity to the registrar to state the corresponding assertion "agent-proximity".</t>

<t>The object is signed using the registrar EE credentials, which corresponds to the certificate referenced in the JOSE header.</t>

<figure title="Representation of RVR" anchor="rvr"><artwork align="left"><![CDATA[
# The RVR in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher-request-prm:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "ietf-voucher-request-prm:voucher" representation
  in JSON syntax
"ietf-voucher-request-prm:voucher": {
   "created-on": "2022-01-04T02:37:39.235Z",
   "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
   "serial-number": "callee4711",
   "assertion": "agent-proximity",
   "prior-signed-voucher-request": "base64encodedvalue==",
   "agent-sign-cert": [
     "base64encodedvalue==",
     "base64encodedvalue==",
     "..."
   ]
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The registrar <bcp14>SHALL</bcp14> send the RVR to the MASA endpoint by HTTP POST: "/.well-known/brski/requestvoucher"</t>

<t>The RVR Content-Type header field is defined in <xref target="I-D.ietf-anima-jws-voucher"/> as: <spanx style="verb">application/voucher-jws+json</spanx></t>

<t>The registrar <bcp14>SHOULD</bcp14> set the Accept header of the RVR indicating the desired media type for the voucher-response.
The media type is <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>Once the MASA receives the RVR it <bcp14>SHALL</bcp14> perform the verification as described in section 5.5 in <xref target="RFC8995"/>.</t>

<t>In addition, the following processing <bcp14>SHALL</bcp14> be performed for PVR contained in RVR "prior-signed-voucher-request" field:</t>

<t><list style="symbols">
  <t>agent-provided-proximity-registrar-cert: The MASA <bcp14>MAY</bcp14> verify that this field contains the registrar EE certificate.
If so, it <bcp14>MUST</bcp14> correspond to the registrar EE credentials used to sign the RVR.
Note: Correspond here relates to the case that a single registrar EE certificate is used or that different registrar EE certificates are used, which are issued by the same CA.</t>
  <t>agent-signed-data: The MASA <bcp14>MAY</bcp14> verify this data to issue "agent-proximity" assertion.
If so, the agent-signed-data <bcp14>MUST</bcp14> contain the pledge product-serial-number, contained in the "serial-number" field of the PVR (from "prior-signed-voucher-request" field) and also in "serial-number" field of the RVR.
The LDevID(RegAgt) certificate to be used for signature verification is identified by the "kid" parameter of the JOSE header.
If the assertion "agent-proximity" is requested, the RVR <bcp14>MUST</bcp14> contain the corresponding LDevID(RegAgt) certificate data in the "agent-sign-cert" field of the RVR.
It <bcp14>MUST</bcp14> be verified by the MASA to the same domain CA as the registrar EE certificate.
If the "agent-sign-cert" field is not set, the MASA <bcp14>MAY</bcp14> state a lower level assertion value, e.g.: "logged" or "verified".
Note: Sub-CA certificate(s) <bcp14>MUST</bcp14> also be carried by "agent-sign-cert", in case the LDevID(RegAgt) certificate is issued by a sub-CA and not the domain CA known to the MASA.
As the "agent-sign-cert" field is defined as array (x5c), it can handle multiple certificates.</t>
</list></t>

<t>If validation fails, the MASA <bcp14>SHOULD</bcp14> respond with an HTTP 4xx client error status code to the registrar.
The HTTP error status codes are kept the same as defined in section 5.6 of <xref target="RFC8995"/> and comprise the codes: 403, 404, 406, and 415.</t>

</section>
<section anchor="voucher-issuance-by-masa"><name>Voucher Issuance by MASA</name>

<t>The expected voucher-response format for BRSKI-PRM (pledge-responder-mode) <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/> <bcp14>SHOULD</bcp14> be applied.
If the MASA detects that the Accept header of the PVR does not match the <spanx style="verb">application/voucher-jws+json</spanx> it <bcp14>SHOULD</bcp14> respond with the HTTP status code 406 Not Acceptable as the pledge will not be able to parse the response.
The voucher syntax is described in detail by <xref target="RFC8366"/>. <xref target="MASA-vr"/> shows an example of the contents of a voucher.</t>

<figure title="Representation of MASA issued voucher" anchor="MASA-vr"><artwork align="left"><![CDATA[
# The MASA issued voucher in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "ietf-voucher:voucher" representation in
  JSON syntax
"ietf-voucher:voucher": {
  "assertion": "agent-proximity",
  "serial-number": "callee4711",
  "nonce": "base64encodedvalue==",
  "created-on": "2022-01-04T00:00:02.000Z",
  "pinned-domain-cert": "base64encodedvalue=="
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The MASA returns the voucher-response (voucher) to the registrar.</t>

</section>
<section anchor="exchanges_uc2_2_vs"><name>MASA issued Voucher Processing by Registrar</name>

<t>After receiving the voucher the registrar <bcp14>SHOULD</bcp14> evaluate it for transparency and logging purposes as outlined in section 5.6 of <xref target="RFC8995"/>.
The registrar <bcp14>MUST</bcp14> add an additional signature to the MASA provided voucher using its registrar credentials.
The signature is created by signing the original "JWS Payload" produced by MASA and the registrar added "JWS Protected Header" using the registrar EE credentials (see <xref target="RFC7515"/>, section 5.2 point 8.
The x5c component of the "JWS Protected Header" <bcp14>MUST</bcp14> contain the registrar EE certificate as well as potential intermediate CA certificates up to the pinned domain certificate.
The pinned domain certificate is already contained in the voucher payload ("pinned-domain-cert").</t>

<t>This signature provides POP of the private key corresponding to the registrar EE certificate the pledge received in the trigger for the PVR (see <xref target="pavrt"/>).
The registrar <bcp14>MUST</bcp14> use the same registrar EE credentials used for authentication in the TLS handshake to authenticate towards the registrar-agent.
This ensures that the same registrar EE certificate can be used to verify the signature as transmitted in the voucher-request as also transferred in the PVR in the "agent-provided-proximity-registrar-cert".
<xref target="MASA-REG-vr"/> below provides an example of the voucher with two signatures.</t>

<figure title="Representation of MASA issued voucher with additional registrar signature" anchor="MASA-REG-vr"><artwork align="left"><![CDATA[
# The MASA issued voucher with additional registrar signature in
  General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-voucher:voucher)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header (MASA)))",
      "signature": "base64encodedvalue=="
    },
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header (Reg)))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "ietf-voucher:voucher" representation in
  JSON syntax
"ietf-voucher:voucher": {
   "assertion": "agent-proximity",
   "serial-number": "callee4711",
   "nonce": "base64encodedvalue==",
   "created-on": "2022-01-04T00:00:02.000Z",
   "pinned-domain-cert": "base64encodedvalue=="
}

# Decoded "JWS Protected Header (MASA)" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}

# Decoded "JWS Protected Header (Reg)" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

<t>Depending on the security policy of the operator, this signature can also be interpreted by the pledge as explicit authorization of the registrar to install the contained trust anchor.
The registrar sends the voucher to the registrar-agent.</t>

</section>
<section anchor="exchanges_uc2_2_per"><name>Pledge Enrollment-Request (PER) Processing (Registrar-Agent to Registrar)</name>

<t>After receiving the voucher, the registrar-agent sends the PER to the registrar.
Deviating from BRSKI the PER is not a raw PKCS#10.
As the registrar-agent is involved in the exchange, the PKCS#10 is wrapped in a JWS object by the pledge and signed with pledge's IDevID to ensure proof-of-identity as outlined in <xref target="per"/>.</t>

<t>EST <xref target="RFC7030"/> standard endpoints (/simpleenroll, /simplereenroll, /serverkeygen, /cacerts) on the registrar cannot be used for BRSKI-PRM.
This is caused by the utilization of signature wrapped-objects in BRSKI-PRM.
As EST requires to sent a raw PKCS#10 request to e.g., "/.well-known/est/simpleenroll" endpoint, this document makes an enhancement by utilizing EST but with the exception to transport a signature wrapped PKCS#10 request.
Therefore a new endpoint for BRSKI-PRM on the registrar is defined as "/.well-known/brski/requestenroll"</t>

<t>The Content-Type header of PER is: <spanx style="verb">application/jose+json</spanx>.</t>

<t>This is a deviation from the Content-Type header values used in <xref target="RFC7030"/> and results in additional processing at the domain registrar (as EST server).
Note, the registrar is already aware that the bootstrapping is performed in a pledge-responder-mode due to the use of the LDevID(RegAgt) certificate for TLS and the provided PVR as JSON-in-JWS object.</t>

<t><list style="symbols">
  <t>If the registrar receives a PER with Content-Type header: <spanx style="verb">application/jose+json</spanx>, it <bcp14>MUST</bcp14> verify the wrapping signature using the certificate indicated in the JOSE header.</t>
  <t>The registrar verifies that the pledge's certificate (here IDevID), carried in "x5c" header field, is accepted to join the domain after successful validation of the PVR.</t>
  <t>If both succeed, the registrar utilizes the PKCS#10 request contained in the JWS object body as "P10" parameter of "ietf-sztp-csr:csr" for further processing of the enrollment-request with the corresponding domain CA.
It creates a registrar enrollment-request (RER) by utilizing the protocol expected by the domain CA.
The domain registrar may either directly forward the provided PKCS#10 request to the CA or provide additional information about attributes to be included by the CA into the requested LDevID certificate.
The approach of sending this information to the CA depends on the utilized certificate management protocol between the RA and the CA and is out of scope for this document.</t>
</list></t>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the PER to the registrar by HTTP POST to the endpoint: "/.well-known/brski/requestenroll"</t>

<t>The registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes as defined by the HTTP standard.</t>

<t>A successful interaction with the domain CA will result in a pledge LDevID certificate, which is then forwarded by the registrar to the registrar-agent using the Content-Type header: <spanx style="verb">application/pkcs7-mime</spanx>.</t>

</section>
<section anchor="exchanges_uc2_2_wca"><name>Request Wrapped-CA-certificate(s) (Registrar-Agent to Registrar)</name>

<t>As the pledge will verify it own certificate LDevID certificate when received, it also needs the corresponding CA certificates.
This is done in EST <xref target="RFC7030"/> using the "/.well-known/est/cacerts" endpoint, which provides the CA certificates over a TLS protected connection.
BRSKI-PRM requires a signature wrapped CA certificate object, to avoid that the pledge can be provided with arbitrary CA certificates in an authorized way.
The registrar signed CA certificate object will allow the pledge to verify the authorization to install the received CA certificate(s).
As the CA certificate(s) are provided to the pledge after the voucher, the pledge has the required information (the domain certificate) to verify the wrapped CA certificate object.</t>

<t>To support registrar-agents requesting a signature wrapped CA certificate(s) object, a new endpoint for BRSKI-PRM is defined on the registrar: "/.well-known/brski/wrappedcacerts"</t>

<t>The registrar-agent <bcp14>SHALL</bcp14> requests the EST CA trust anchor database information (in form of CA certificates) by HTTP GET.</t>

<t>The Content-Type header of the response <bcp14>SHALL</bcp14> be: <spanx style="verb">application/jose+json</spanx>.</t>

<t>This is a deviation from the Content-Type header values used in EST <xref target="RFC7030"/> and results in additional processing at the domain registrar (as EST server).
The additional processing is to sign the CA certificate(s) information using the registrar EE credentials.
This results in a signed CA certificate(s) object (JSON-in-JWS), the CA certificates are provided as base64 encoded "x5b" in the JWS payload.</t>

<figure title="Representation of CA certificate(s) data with additional registrar signature" anchor="PCAC"><artwork align="left"><![CDATA[
# The CA certificates data with additional registrar signature in
  General JWS Serialization syntax
{
  "payload": "BASE64URL(certs)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "certs" representation in JSON syntax
{
  "x5b": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}


# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

</section>
</section>
<section anchor="exchanges_uc2_3"><name>Response Object Supply by Registrar-Agent to Pledge</name>

<t>It is assumed that the registrar-agent already obtained the bootstrapping response objects from the domain registrar and can supply them to the pledge:</t>

<t><list style="symbols">
  <t>voucher-response - Voucher (from MASA via Registrar)</t>
  <t>wrapped-CA-certificate(s)-response - CA certificates</t>
  <t>enrollment-response - LDevID (Pledge) certificate (from CA via registrar)</t>
</list></t>

<t>The registrar-agent will re-connect to the pledge.
To contact the pledge, it may either discover the pledge as described in <xref target="discovery_uc2_ppa"/> or use stored information from the first contact with the pledge.</t>

<t>Preconditions in addition to <xref target="exchanges_uc2_2"/>:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses voucher and LDevID certificate and optionally CA certificates.</t>
</list></t>

<figure title="Responses and status handling between pledge and registrar-agent" anchor="exchangesfig_uc2_3"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="368" width="528" viewBox="0 0 528 368" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,104 L 40,336" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 280,32 L 280,96" fill="none" stroke="black"/>
<path d="M 328,144 L 328,336" fill="none" stroke="black"/>
<path d="M 376,32 L 376,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 280,32 L 376,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 280,96 L 376,96" fill="none" stroke="black"/>
<path d="M 48,160 L 104,160" fill="none" stroke="black"/>
<path d="M 240,160 L 320,160" fill="none" stroke="black"/>
<path d="M 48,192 L 112,192" fill="none" stroke="black"/>
<path d="M 248,192 L 320,192" fill="none" stroke="black"/>
<path d="M 48,224 L 88,224" fill="none" stroke="black"/>
<path d="M 296,224 L 320,224" fill="none" stroke="black"/>
<path d="M 48,256 L 72,256" fill="none" stroke="black"/>
<path d="M 304,256 L 320,256" fill="none" stroke="black"/>
<path d="M 48,288 L 112,288" fill="none" stroke="black"/>
<path d="M 240,288 L 320,288" fill="none" stroke="black"/>
<path d="M 48,320 L 72,320" fill="none" stroke="black"/>
<path d="M 296,320 L 320,320" fill="none" stroke="black"/>
<polygon class="arrowhead" points="328,288 316,282.4 316,293.6" fill="black" transform="rotate(0,320,288)"/>
<polygon class="arrowhead" points="328,192 316,186.4 316,197.6" fill="black" transform="rotate(0,320,192)"/>
<polygon class="arrowhead" points="56,320 44,314.4 44,325.6" fill="black" transform="rotate(180,48,320)"/>
<polygon class="arrowhead" points="56,256 44,250.4 44,261.6" fill="black" transform="rotate(180,48,256)"/>
<polygon class="arrowhead" points="56,224 44,218.4 44,229.6" fill="black" transform="rotate(180,48,224)"/>
<polygon class="arrowhead" points="56,160 44,154.4 44,165.6" fill="black" transform="rotate(180,48,160)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="332" y="52">Registrar-</text>
<text x="312" y="68">Agent</text>
<text x="324" y="84">(RegAgt)</text>
<text x="284" y="116">[voucher</text>
<text x="336" y="116">and</text>
<text x="400" y="116">enrollment]</text>
<text x="292" y="132">[responses</text>
<text x="380" y="132">available]</text>
<text x="140" y="164">supply</text>
<text x="200" y="164">voucher</text>
<text x="152" y="196">voucher</text>
<text x="212" y="196">status</text>
<text x="344" y="196">-</text>
<text x="376" y="196">store</text>
<text x="380" y="212">pledge</text>
<text x="440" y="212">voucher</text>
<text x="500" y="212">status</text>
<text x="124" y="228">supply</text>
<text x="164" y="228">CA</text>
<text x="228" y="228">certificates</text>
<text x="108" y="260">supply</text>
<text x="216" y="260">enrollment-response</text>
<text x="148" y="292">enroll</text>
<text x="204" y="292">status</text>
<text x="344" y="292">-</text>
<text x="376" y="292">store</text>
<text x="380" y="308">pledge</text>
<text x="436" y="308">enroll</text>
<text x="492" y="308">status</text>
<text x="108" y="324">supply</text>
<text x="168" y="324">CAcerts</text>
<text x="244" y="324">(optional)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                        +-----------+
| Pledge |                        | Registrar-|
|        |                        | Agent     |
|        |                        | (RegAgt)  |
+--------+                        +-----------+
    |                          [voucher and enrollment]
    |                          [responses available]
    |                                   |
    |<------- supply voucher -----------|
    |                                   |
    |--------- voucher status --------->| - store
    |                                   |   pledge voucher status
    |<----- supply CA certificates  ----|
    |                                   |
    |<--- supply enrollment-response ---|
    |                                   |
    |--------- enroll status ---------->| - store
    |                                   |   pledge enroll status
    |<--- supply CAcerts (optional) ----|
    |                                   |

]]></artwork></artset></figure>
<t>The content of the response objects is defined by the voucher <xref target="RFC8366"/> and the certificate <xref target="RFC5280"/>.</t>

<t>The registrar-agent provides the information via distinct pledge endpoints as following.</t>

<section anchor="pledge-voucher-response-processing"><name>Pledge: Voucher-Response Processing</name>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the voucher-response to the pledge by HTTP POST to the endpoint: "/.well-known/brski/sv".</t>

<t>The registrar-agent voucher-response Content-Type header is <spanx style="verb">application/voucher-jws+json</spanx> and contains the voucher as provided by the MASA. An example is given in <xref target="MASA-vr"/> for a MASA  signed voucher and in <xref target="MASA-REG-vr"/> for the voucher with the additional signature of the registrar.</t>

<t>A nonceless voucher may be accepted as in <xref target="RFC8995"/> and may be allowed by a manufacture's pledge implementation.</t>

<t>To perform the validation of multiple signatures on the voucher object, the pledge <bcp14>SHALL</bcp14> perform the signature verification in the following order:</t>

<t><list style="numbers">
  <t>Verify MASA signature as described in section 5.6.1 in <xref target="RFC8995"/></t>
  <t>Install trust anchor contained in the voucher ("pinned-domain-cert")  provisionally</t>
  <t>Verify registrar signature as described in section 5.6.1 in <xref target="RFC8995"/>, but take the registrar certificate instead of the MASA certificate for the verification</t>
  <t>Validate the registrar certificate received in the agent-provided-proximity-registrar-cert in the pledge-voucher-request trigger request (in the field "agent-provided-proximity-registrar-cert").</t>
</list></t>

<t>If all steps stated above have been performed successfully, the pledge <bcp14>SHALL</bcp14> terminate the "PROVISIONAL accept" state for the domain trust anchor and the registrar EE certificate.</t>

<t>If an error occurs during the verification and validation of the voucher, this <bcp14>SHALL</bcp14> be reported in the reason field of the pledge voucher status.</t>

</section>
<section anchor="pledge-voucher-status-telemetry"><name>Pledge: Voucher Status Telemetry</name>

<t>After voucher verification and validation the pledge <bcp14>MUST</bcp14> reply with a status telemetry message as defined in section 5.7 of <xref target="RFC8995"/>.
The pledge generates the voucher-status and provides it as signed JSON-in-JWS object in response to the registrar-agent.</t>

<t>The response has the Content-Type <spanx style="verb">application/jose+json</spanx> and is signed using the IDevID of the pledge as shown in <xref target="vstat"/>.
As the reason field is optional (see <xref target="RFC8995"/>), it <bcp14>MAY</bcp14> be omitted in case of success.</t>

<figure title="Representation of pledge voucher status telemetry" anchor="vstat"><artwork align="left"><![CDATA[
# The "pledge-voucher-status" telemetry in general JWS
  serialization syntax
{
  "payload": "BASE64URL(pledge-voucher-status)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "pledge-voucher-status" representation in JSON
  syntax
{
  "version": 1,
  "status": true,
  "reason": "Voucher successfully processed",
  "reason-context": {
    "additional": "JSON"
  }
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

</section>
<section anchor="pledge-wrapped-ca-certificates-processing"><name>Pledge: Wrapped-CA-Certificate(s) Processing</name>

<t>The registrar-agent <bcp14>SHALL</bcp14> provide the set of CA certificates requested from the registrar to the pledge by HTTP POST to the endpoint: "/.well-known/brski/cc".</t>

<t>As the CA certificate provisioning is crucial from a security perspective, this provisioning <bcp14>SHALL</bcp14> only be done, if the voucher-response has been successfully processed by pledge.</t>

<t>The supply CA certificates message has the Content-Type <spanx style="verb">application/jose+json</spanx> and is signed using the credential of the registrar pledge as shown in <xref target="PCAC"/>.</t>

<t>The CA certificates are provided as base64 encoded "x5b".
The pledge <bcp14>SHALL</bcp14> install the received CA certificates as trust anchor after successful verification of the registrar's signature.</t>

<t>The following 4xx client error codes <bcp14>SHOULD</bcp14> be used by the pledge:</t>

<t><list style="symbols">
  <t>403 Forbidden: if the validation of the wrapping signature or another security check fails.</t>
  <t>415 Unsupported Media Type: if the Content-Type of the request is in an unknown or unsupported format.</t>
  <t>400 Bad Request: if the pledge detects errors in the encoding of the payload.</t>
</list></t>

</section>
<section anchor="pledge-enrollment-response-processing"><name>Pledge: Enrollment-Response Processing</name>

<t>The registrar-agent <bcp14>SHALL</bcp14> send the enroll-response to the pledge by HTTP POST to the endpoint: "/.well-known/brski/se".</t>

<t>The registrar-agent enroll-response Content-Type header, when using EST <xref target="RFC7030"/> as enrollment protocol between the registrar-agent and the infrastructure is: <spanx style="verb">application/pkcs7-mime</spanx>.
Note: It only contains the LDevID certificate for the pledge, not the certificate chain.</t>

<t>Upon reception, the pledge <bcp14>SHALL</bcp14> verify the received LDevID certificate.
The pledge <bcp14>SHALL</bcp14> generate the enroll status and provide it in the response to the registrar-agent.
If the verification of the LDevID certificate succeeds, the status <bcp14>SHALL</bcp14> be set to true, otherwise to FALSE.</t>

</section>
<section anchor="pledge-enrollment-status-telemetry"><name>Pledge: Enrollment-Status Telemetry</name>

<t>The pledge <bcp14>MUST</bcp14> reply with a status telemetry message as defined in section 5.9.4 of <xref target="RFC8995"/>.
As for the other objects, the enroll-status is signed and results in a JSON-in-JWS object.
If the pledge verified the received LDevID certificate successfully it <bcp14>SHALL</bcp14> sign the response using its new LDevID credentials as shown in <xref target="estat"/>.
In the failure case, the pledge <bcp14>SHALL</bcp14> use the available IDevID credentials.
As the reason field is optional, it <bcp14>MAY</bcp14> be omitted in case of success.</t>

<t>The response has the Content-Type <spanx style="verb">application/jose+json</spanx>.</t>

<figure title="Representation of pledge enroll status telemetry" anchor="estat"><artwork align="left"><![CDATA[
# The "pledge-enroll-status" telemetry in General JWS Serialization
  syntax
{
  "payload": "BASE64URL(pledge-enroll-status)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "pledge-enroll-status" representation in
  JSON syntax
{
  "version": 1,
  "status": true,
  "reason": "Enrollment response successfully processed",
  "reason-context": {
    "additional": "JSON"
  }
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

<t>Once the registrar-agent has collected the information, it can connect to the registrar to provide it with the status responses.</t>

</section>
<section anchor="exchanges_uc2_4"><name>Telemetry Voucher Status and Enroll Status Handling (Registrar-Agent to Domain Registrar)</name>

<t>The following description requires that the registrar-agent has collected the status information from the pledge.
It <bcp14>SHALL</bcp14> provide the status information to the registrar for further processing.</t>

<t>Preconditions in addition to <xref target="exchanges_uc2_2"/>:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses voucher status and enroll status from pledge.</t>
</list></t>

<figure title="Bootstrapping status handling" anchor="exchangesfig_uc2_4"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="496" viewBox="0 0 496 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,160 L 40,304" fill="none" stroke="black"/>
<path d="M 104,32 L 104,96" fill="none" stroke="black"/>
<path d="M 176,32 L 176,96" fill="none" stroke="black"/>
<path d="M 224,104 L 224,240" fill="none" stroke="black"/>
<path d="M 224,272 L 224,304" fill="none" stroke="black"/>
<path d="M 272,32 L 272,96" fill="none" stroke="black"/>
<path d="M 304,32 L 304,96" fill="none" stroke="black"/>
<path d="M 344,104 L 344,208" fill="none" stroke="black"/>
<path d="M 344,272 L 344,304" fill="none" stroke="black"/>
<path d="M 376,32 L 376,96" fill="none" stroke="black"/>
<path d="M 408,32 L 408,96" fill="none" stroke="black"/>
<path d="M 448,104 L 448,240" fill="none" stroke="black"/>
<path d="M 448,272 L 448,304" fill="none" stroke="black"/>
<path d="M 488,32 L 488,96" fill="none" stroke="black"/>
<path d="M 8,32 L 104,32" fill="none" stroke="black"/>
<path d="M 176,32 L 272,32" fill="none" stroke="black"/>
<path d="M 304,32 L 376,32" fill="none" stroke="black"/>
<path d="M 408,32 L 488,32" fill="none" stroke="black"/>
<path d="M 8,96 L 104,96" fill="none" stroke="black"/>
<path d="M 176,96 L 272,96" fill="none" stroke="black"/>
<path d="M 304,96 L 376,96" fill="none" stroke="black"/>
<path d="M 408,96 L 488,96" fill="none" stroke="black"/>
<path d="M 48,176 L 104,176" fill="none" stroke="black"/>
<path d="M 160,176 L 216,176" fill="none" stroke="black"/>
<path d="M 48,208 L 64,208" fill="none" stroke="black"/>
<path d="M 200,208 L 216,208" fill="none" stroke="black"/>
<path d="M 232,224 L 248,224" fill="none" stroke="black"/>
<path d="M 424,224 L 440,224" fill="none" stroke="black"/>
<path d="M 232,240 L 264,240" fill="none" stroke="black"/>
<path d="M 416,240 L 440,240" fill="none" stroke="black"/>
<path d="M 48,288 L 64,288" fill="none" stroke="black"/>
<path d="M 192,288 L 216,288" fill="none" stroke="black"/>
<polygon class="arrowhead" points="448,224 436,218.4 436,229.6" fill="black" transform="rotate(0,440,224)"/>
<polygon class="arrowhead" points="240,240 228,234.4 228,245.6" fill="black" transform="rotate(180,232,240)"/>
<polygon class="arrowhead" points="224,288 212,282.4 212,293.6" fill="black" transform="rotate(0,216,288)"/>
<polygon class="arrowhead" points="224,208 212,202.4 212,213.6" fill="black" transform="rotate(0,216,208)"/>
<polygon class="arrowhead" points="224,176 212,170.4 212,181.6" fill="black" transform="rotate(0,216,176)"/>
<polygon class="arrowhead" points="56,176 44,170.4 44,181.6" fill="black" transform="rotate(180,48,176)"/>
<g class="text">
<text x="56" y="52">Registrar</text>
<text x="212" y="52">Domain</text>
<text x="340" y="52">Domain</text>
<text x="444" y="52">Vendor</text>
<text x="40" y="68">Agent</text>
<text x="224" y="68">Registrar</text>
<text x="324" y="68">CA</text>
<text x="448" y="68">Service</text>
<text x="48" y="84">RegAgt)</text>
<text x="216" y="84">(JRC)</text>
<text x="444" y="84">(MASA)</text>
<text x="40" y="116">|</text>
<text x="404" y="116">Internet</text>
<text x="36" y="132">[voucher</text>
<text x="80" y="132">+</text>
<text x="116" y="132">enroll</text>
<text x="152" y="132">]</text>
<text x="32" y="148">[status</text>
<text x="84" y="148">info</text>
<text x="148" y="148">available]</text>
<text x="132" y="180">mTLS</text>
<text x="104" y="212">Voucher</text>
<text x="164" y="212">Status</text>
<text x="300" y="228">req-device</text>
<text x="368" y="228">audit</text>
<text x="408" y="228">log</text>
<text x="300" y="244">device</text>
<text x="352" y="244">audit</text>
<text x="392" y="244">log</text>
<text x="184" y="260">[verify</text>
<text x="240" y="260">audit</text>
<text x="280" y="260">log</text>
<text x="304" y="260">]</text>
<text x="100" y="292">Enroll</text>
<text x="156" y="292">Status</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+-----------+        +-----------+   +--------+   +---------+
| Registrar |        | Domain    |   | Domain |   | Vendor  |
| Agent     |        | Registrar |   | CA     |   | Service |
| RegAgt)   |        |  (JRC)    |   |        |   | (MASA)  |
+-----------+        +-----------+   +--------+   +---------+
    |                      |              |   Internet |
[voucher + enroll ]        |              |            |
[status info available]    |              |            |
    |                      |              |            |
    |<------- mTLS ------->|              |            |
    |                      |              |            |
    |--- Voucher Status -->|              |            |
    |                      |--- req-device audit log-->|
    |                      |<---- device audit log ----|
    |              [verify audit log ]
    |                      |              |            |
    |--- Enroll Status --->|              |            |
    |                      |              |            |
]]></artwork></artset></figure>

<t>The registrar-agent <bcp14>MUST</bcp14> provide the collected pledge voucher status to the registrar.
This status indicates if the pledge could process the voucher successfully or not.</t>

<t>If the TLS connection to the registrar was closed, the registrar-agent establishes a TLS connection with the registrar as stated in <xref target="exchanges_uc2_2"/>.</t>

<t>The registrar-agent sends the pledge voucher status without modification to the registrar with an HTTP-over-TLS POST using the registrar endpoint "/.well-known/brski/voucher_status". The Content-Type header is kept as <spanx style="verb">application/jose+json</spanx> as described in <xref target="exchangesfig_uc2_3"/> and depicted in the example in <xref target="vstat"/>.</t>

<t>The registrar <bcp14>SHALL</bcp14> verify the signature of the pledge voucher status and validate that it belongs to an accepted device in his domain based on the contained "serial-number" in the IDevID certificate referenced in the header of the voucher status.</t>

<t>According to <xref target="RFC8995"/> section 5.7, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes as defined by the HTTP standard.
The registrar-agent may use the response to signal success / failure to the service technician operating the registrar agent.
Within the server logs the server <bcp14>SHOULD</bcp14> capture this telemetry information.</t>

<t>The registrar <bcp14>SHOULD</bcp14> proceed with collecting and logging status information by requesting the MASA audit-log from the MASA service as described in section 5.8 of <xref target="RFC8995"/>.</t>

<t>The registrar-agent <bcp14>MUST</bcp14> provide the pledge's enroll status to the registrar.
The status indicates the pledge could process the enroll-response (certificate) and holds the corresponding private key.</t>

<t>The registrar-agent sends the pledge enroll status without modification to the registrar with an HTTP-over-TLS POST using the registrar endpoint "/.well-known/brski/enrollstatus".
The Content-Type header is kept as <spanx style="verb">application/jose+json</spanx> as described in <xref target="exchangesfig_uc2_3"/> and depicted in the example in <xref target="estat"/>.</t>

<t>The registrar <bcp14>MUST</bcp14> verify the signature of the pledge enroll status.
Also, the registrar <bcp14>SHALL</bcp14> validate that the pledge is an accepted device in his domain based on the contained product-serial-number in the LDevID certificate referenced in the header of the enroll status.
The registrar <bcp14>SHOULD</bcp14> log this event.
In case the pledge enroll status indicates a failure, the pledge was unable to verify the received LDevID certificate and therefore signed the enroll status with its IDevID credential.
Note that the verification of a signature of the status information is an addition to the described handling in section 5.9.4 of <xref target="RFC8995"/>.</t>

<t>According to <xref target="RFC8995"/> section 5.9.4, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes as defined by the HTTP standard.
Based on the failure case the registrar <bcp14>MAY</bcp14> decide that for security reasons the pledge is not allowed to reside in the domain. In this case the registrar <bcp14>MUST</bcp14> revoke the certificate.
The registrar-agent may use the response to signal success / failure to the service technician operating the registrar agent.
Within the server log the registrar <bcp14>SHOULD</bcp14> capture this telemetry information.</t>

</section>
</section>
<section anchor="exchanges_uc2_5"><name>Request Pledge-Status by Registrar-Agent from Pledge</name>

<t>The following assumes that a registrar-agent may need to query the status of a pledge.
This information may be useful to solve errors, when the pledge was not able to connect to the target domain during the bootstrapping.
The pledge <bcp14>MAY</bcp14> provide a dedicated endpoint to accept status-requests.</t>

<t>Preconditions:</t>

<t><list style="symbols">
  <t>Registrar-agent: possesses LDevID (RegAgt), list of serial numbers of pledges to be queried and a list of corresponding manufacturer trust anchors to be able to verify signatures performed with the IDevID credential.</t>
  <t>Pledge: may already possess domain credentials and LDevID(Pledge), or may not possess one or both of these.</t>
</list></t>

<figure title="Pledge-status handling between registrar-agent and pledge" anchor="exchangesfig_uc2_5"><artset><artwork  type="svg" align="left"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="360" viewBox="0 0 360 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
<path d="M 8,32 L 8,96" fill="none" stroke="black"/>
<path d="M 40,104 L 40,176" fill="none" stroke="black"/>
<path d="M 80,32 L 80,96" fill="none" stroke="black"/>
<path d="M 256,32 L 256,96" fill="none" stroke="black"/>
<path d="M 304,104 L 304,176" fill="none" stroke="black"/>
<path d="M 352,32 L 352,96" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 256,32 L 352,32" fill="none" stroke="black"/>
<path d="M 8,96 L 80,96" fill="none" stroke="black"/>
<path d="M 256,96 L 352,96" fill="none" stroke="black"/>
<path d="M 48,128 L 72,128" fill="none" stroke="black"/>
<path d="M 264,128 L 296,128" fill="none" stroke="black"/>
<path d="M 48,160 L 72,160" fill="none" stroke="black"/>
<path d="M 272,160 L 296,160" fill="none" stroke="black"/>
<polygon class="arrowhead" points="304,160 292,154.4 292,165.6" fill="black" transform="rotate(0,296,160)"/>
<polygon class="arrowhead" points="56,128 44,122.4 44,133.6" fill="black" transform="rotate(180,48,128)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="308" y="52">Registrar-</text>
<text x="288" y="68">Agent</text>
<text x="300" y="84">(RegAgt)</text>
<text x="136" y="132">pledge-status</text>
<text x="224" y="132">request</text>
<text x="136" y="164">pledge-status</text>
<text x="228" y="164">response</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="left"><![CDATA[
+--------+                     +-----------+
| Pledge |                     | Registrar-|
|        |                     | Agent     |
|        |                     | (RegAgt)  |
+--------+                     +-----------+
    |                                |
    |<--- pledge-status request -----|
    |                                |
    |---- pledge-status response --->|
    |                                |
]]></artwork></artset></figure>

<section anchor="pledge-status-trigger-registrar-agent-to-pledge"><name>Pledge-Status - Trigger (Registrar-Agent to Pledge)</name>

<t>The registrar-agent requests the pledge-status via HTTP POST on the defined pledge endpoint: "/.well-known/brski/ps"</t>

<t>The registrar-agent Content-Type header for the pledge-status request is: <spanx style="verb">application/jose+json</spanx>.
It contains information on the requested status-type, the time and date the request is created, and the product serial-number of the pledge contacted as shown in <xref target="stat_req_def"/>.
The pledge-status request is signed by registrar-agent using the LDevID(RegAgt) credential.</t>

<t>The following Concise Data Definition Language (CDDL) <xref target="RFC8610"/> explains the structure of the format for the pledge-status request. It is defined following the status telemetry definitions in BRSKI <xref target="RFC8995"/>.
Consequently, format and semantics of pledge-status requests below are for version 1.
The version field is included to permit significant changes to the pledge-status request and response in the future.
A pledge or a registrar-agent that receives a pledge-status request with a version larger than it knows about <bcp14>SHOULD</bcp14> log the contents and alert a human.</t>

<figure title="CDDL for pledge-status request" anchor="stat_req_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  status-request = {
      "version": uint,
      "created-on": tdate ttime,
      "serial-number": text,
      "status-type": text
  }
<CODE ENDS>
]]></artwork></figure>

<t>The status-type defined for BRSKI-PRM is "bootstrap".
This indicates the pledge to provide current status information regarding the bootstrapping status (voucher processing and enrollment of the pledge into the new domain).
As the pledge-status request is defined generic, it may be used by other specifications to request further status information, e.g., for onboarding to get further information about enrollment of application specific LDevIDs or other parameters.
This is out of scope for this specification.</t>

<t><xref target="stat_req"/> below shows an example for querying pledge-status using status-type bootstrap.</t>

<figure title="Example of registrar-agent request of pledge-status using status-type bootstrap" anchor="stat_req"><artwork align="left"><![CDATA[
# The registrar-agent request of "pledge-status" in general JWS
  serialization syntax
{
  "payload": "BASE64URL(status-request)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "status-request" representation in JSON syntax
{
  "version": 1,
  "created-on": "2022-08-12T02:37:39.235Z",
  "serial-number": "pledge-callee4711",
  "status-type": "bootstrap"
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

</section>
<section anchor="pledge-status-response-pledge-registrar-agent"><name>Pledge-Status - Response (Pledge - Registrar-Agent)</name>

<t>If the pledge receives the pledge-status request with status-type "bootstrap" it <bcp14>SHALL</bcp14> react with a status response message based on the telemetry information described in <xref target="exchanges_uc2_3"/>.</t>

<t>The pledge-status response Content-Type header is <spanx style="verb">application/jose+json</spanx>.</t>

<t>The following CDDL explains the structure of the format for the status response, which is:</t>

<figure title="CDDL for pledge-status response" anchor="stat_res_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  status-response = {
    "version": uint,
    "status":
      "factory-default" /
      "voucher-success" /
      "voucher-error" /
      "enroll-success" /
      "enroll-error" /
      "connect-success" /
      "connect-error",
    ?"reason" : text,
    ?"reason-context": { $$arbitrary-map }
  }
<CODE ENDS>
]]></artwork></figure>

<t>Different cases for pledge bootstrapping status may occur, which <bcp14>SHOULD</bcp14> be reflected using the status enumeration.
This document specifies the status values in the context of the bootstrapping process and credential application.
Other documents may enhance the above enumeration to reflect further status information.</t>

<t>The pledge-status response message is signed with IDevID or LDevID, depending on bootstrapping state of the pledge.</t>

<t><list style="symbols">
  <t>"factory-default": Pledge has not been bootstrapped.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
  <t>"voucher-success": Pledge processed the voucher exchange successfully.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
  <t>"voucher-error": Pledge voucher processing terminated with error.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
  <t>"enroll-success": Pledge has processed the enrollment exchange successfully.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its LDevID(Pledge).</t>
  <t>"enroll-error": Pledge enrollment-response processing terminated with error.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its IDevID(Pledge).</t>
</list></t>

<t>The reason and the reason-context <bcp14>SHOULD</bcp14> contain the telemetry information as described in section <xref target="exchanges_uc2_3"/>.</t>

<t>As the pledge is assumed to utilize the bootstrapped credential information in communication with other peers, additional status information is provided for the connectivity to other peers, which may be helpful in analyzing potential error cases.</t>

<t><list style="symbols">
  <t>"connect-success": Pledge could successfully establish a connection to another peer.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its LDevID(Pledge).</t>
  <t>"connect-error": Pledge connection establishment terminated with error.
Additional information may be provided in the reason or reason-context.
The pledge signs the response message using its LDevID(Pledge).</t>
</list></t>

<t>The pledge-status responses are cumulative in the sense that connect-success implies enroll-success, which in turn implies voucher-success.</t>

<t><xref target="stat_res"/> provides an example for the bootstrapping-status information.</t>

<figure title="Example of pledge-status response" anchor="stat_res"><artwork align="left"><![CDATA[
# The pledge "status-response" in General JWS Serialization syntax
{
  "payload": "BASE64URL(status-response)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": "base64encodedvalue=="
    }
  ]
}

# Decoded payload "status-response" representation in JSON syntax
{
  "version": 1,
  "status": "enroll-success",
  "reason-context": {
    "additional" : "JSON"
  }
}

# Decoded "JWS Protected Header" representation in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "jose+json
}
]]></artwork></figure>

<t>In case "factory-default" the pledge does not possess the domain certificate resp. the domain trust-anchor.
It will not be able to verify the signature of the registrar-agent in the bootstrapping-status request.
In cases "vouchered" and "enrolled" the pledge already possesses the domain certificate (has domain trust-anchor) and can therefore validate the signature of the registrar-agent.
If validation of the JWS signature fails, the pledge <bcp14>SHOULD</bcp14> respond with the HTTP 403 Forbidden status code.
The HTTP 406 Not Acceptable status code <bcp14>SHOULD</bcp14> be used, if the Accept header in the request indicates an unknown or unsupported format.
The HTTP 415 Unsupported Media Type status code <bcp14>SHOULD</bcp14> be used, if the Content-Type of the request is an unknown or unsupported format.
The HTTP 400 Bad Request status code <bcp14>SHOULD</bcp14> be used, if the Accept/Content-Type headers are correct but nevertheless the status-request cannot be correctly parsed.</t>

</section>
</section>
</section>
<section anchor="artifacts"><name>Artifacts</name>

<section anchor="voucher-request-prm-yang"><name>Voucher-Request Artifact</name>

<t><xref target="I-D.ietf-anima-rfc8366bis"/> extends the voucher-request as defined in <xref target="RFC8995"/> to include additional fields necessary for handling bootstrapping in the pledge-responder-mode.
These additional fields are defined in <xref target="exchanges_uc2_1"/> as:</t>

<t><list style="symbols">
  <t>agent-signed-data to provide a JSON encoded artifact from the involved registrar-agent, which allows the registrar to verify the agent's involvement</t>
  <t>agent-provided-proximity-registrar-cert to provide the registrar certificate visible to the registrar-agent, comparable to the registrar-proximity-certificate used in <xref target="RFC8995"/></t>
  <t>agent-signing certificate to optionally provide the registrar agent signing certificate.</t>
</list></t>

<t>Examples for the application of these fields in the context of a PVR are provided in <xref target="exchanges_uc2_2"/>.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requires the following IANA actions.</t>

<section anchor="brski-well-known-registry"><name>BRSKI .well-known Registry</name>

<t>IANA is requested to enhance the Registry entitled: "BRSKI Well-Known URIs" with the following endpoints:</t>

<figure><artwork align="left"><![CDATA[
 URI                Description                       Reference
 tv                 create pledge voucher-request     [THISRFC]
 te                 create pledge enrollment-request  [THISRFC]
 sv                 supply voucher-response           [THISRFC]
 se                 supply enrollment-response        [THISRFC]
 cc                 supply CA certificates to pledge  [THISRFC]
 ps                 query pledge status               [THISRFC]
 requestenroll      supply PER to registrar           [THISRFC]
 wrappedcacerts     request wrapped CA certificates   [THISRFC]

]]></artwork></figure>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>In general, the privacy considerations of <xref target="RFC8995"/> apply for BRSKI-PRM also.
Further privacy aspects need to be considered for:</t>

<t><list style="symbols">
  <t>the introduction of the additional component registrar-agent</t>
  <t>no transport layer security between registrar-agent and pledge</t>
</list></t>

<t>The credential used by the registrar-agent to sign the data for the pledge should not contain any personal information.
Therefore, it is recommended to use an LDevID certificate associated with the commissioning device instead of an LDevID certificate associated with the service technician operating the device.
This avoids revealing potentially included personal information to Registrar and MASA.</t>

<t>The communication between the pledge and the registrar-agent is performed over plain HTTP.
Therefore, it is subject to disclosure by a Dolev-Yao attacker (an "oppressive observer")<xref target="onpath"/>.
Depending on the requests and responses, the following information is disclosed.</t>

<t><list style="symbols">
  <t>the Pledge product-serial-number is contained in the trigger message for the PVR and in all responses from the pledge.
This information reveals the identity of the devices being bootstrapped and allows deduction of which products an operator is using in their environment.
As the communication between the pledge and the registrar-agent may be realized over wireless link, this information could easily be eavesdropped, if the wireless network is unencrypted.
Even if the wireless network is encrypted, if it uses a network-wide key, then layer-2 attacks (ARP/ND spoofing) could insert an on-path observer into the path.</t>
  <t>the Timestamp data could reveal the activation time of the device.</t>
  <t>the Status data of the device could reveal information about the current state of the device in the domain network.</t>
</list></t>

</section>
<section anchor="sec_cons"><name>Security Considerations</name>

<t>In general, the security considerations of <xref target="RFC8995"/> apply for BRSKI-PRM also.
Further security aspects are considered here related to:</t>

<t><list style="symbols">
  <t>the introduction of the additional component registrar-agent</t>
  <t>the reversal of the pledge communication direction (push mode, compared to BRSKI)</t>
  <t>no transport layer security between registrar-agent and pledge</t>
</list></t>

<section anchor="denial-of-service-dos-attack-on-pledge"><name>Denial of Service (DoS) Attack on Pledge</name>

<t>Disrupting the pledge behavior by a DoS attack may prevent the bootstrapping of the pledge to a new domain.</t>

<t>A DoS attack with a faked registrar-agent may block the bootstrapping of the pledge due to state creation on the pledge (the pledge may produce a voucher-request, and refuse to produce another one).
One mitigation may be that the pledge does not limited the number of voucher-requests it creates until at least one has finished, or a single onboarding state may expire after a certain time.</t>

</section>
<section anchor="misuse-of-acquired-pvr-and-per-by-registrar-agent"><name>Misuse of acquired PVR and PER by Registrar-Agent</name>

<t>A registrar-agent that uses previously requested PVR and PER for domain-A, may attempt to onboard the device into domain-B.  This can be detected by the domain registrar while PVR processing.
The domain registrar needs to verify that the "proximity-registrar-cert" field in the PVR matches its own registrar EE certificate.
In addition, the domain registrar needs to verify the association of the pledge to its domain based on the product-serial-number contained in the PVR and in the IDevID certificate of the pledge. (This is just part of the supply chain integration)
Moreover, the domain registrar verifies if the registrar-agent is authorized to interact with the pledge for voucher-requests and enroll-requests, based on the LDevID(RegAgt) certificate data contained in the PVR.</t>

<t>Misbinding of a pledge by a faked domain registrar is countered as described in BRSKI security considerations <xref target="RFC8995"/> (section 11.4).</t>

</section>
<section anchor="sec_cons_reg-agt"><name>Misuse of Registrar-Agent Credentials</name>

<t>Concerns of misusage of a registrar-agent with a valid LDevID(RegAgt), may be addressed by utilizing short-lived certificates (e.g., valid for a day) to authenticate the registrar-agent against the domain registrar.
The LDevID(RegAgt) certificate may be acquired by a prior BRSKI run for the registrar-agent, if an IDevID is available on registrar-agent.
Alternatively, the LDevID may be acquired by a service technician from the domain PKI system in an authenticated way.</t>

<t>In addition it is required that the LDevID(RegAgt) certificate is valid for the complete bootstrapping phase.
This avoids that a registrar-agent could be misused to create arbitrary "agent-signed-data" objects to perform an authorized bootstrapping of a rogue pledge at a later point in time.
In this misuse "agent-signed-data" could be dated after the validity time of the LDevID(RegAgt) certificate, due to missing trusted timestamp in the registrar-agents signature.
To address this, the registrar <bcp14>SHOULD</bcp14> verify the certificate used to create the signature on "agent-signed-data".
Furthermore the registrar also verifies the LDevID(RegAgt) certificate used in the TLS handshake with the registrar-agent. If both certificates are verified successfully, the registrar-agent's signature can be considered as valid.</t>

</section>
<section anchor="sec_cons_mDNS"><name>Misuse of mDNS to obtain list of pledges</name>

<t>To discover a specific pledge a registrar-agent may request the service name in combination with the product-serial-number of a specific pledge.
The pledge reacts on this if its product-serial-number is part of the request message.</t>

<t>If the registrar-agent performs DNS-based Service Discovery without a specific product-serial-number, all  pledges in the domain react if the functionality is supported.
This functionality enumerates and reveals the information of devices available in the domain.
The information about this is provided here as a feature to support the commissioning of devices.
A manufacturer may decide to support this feature only for devices not possessing a LDevID or to not support this feature at all, to avoid an enumeration in an operative domain.</t>

</section>
<section anchor="yang-module-security-considerations"><name>YANG Module Security Considerations</name>

<t>The enhanced voucher-request described in <xref target="I-D.ietf-anima-rfc8366bis"/> is based on <xref target="RFC8995"/>, but uses a different encoding based on <xref target="I-D.ietf-anima-jws-voucher"/>.
The security considerations as described in <xref target="RFC8995"/> section 11.7 (Security Considerations) apply.</t>

<t>The YANG module specified in <xref target="I-D.ietf-anima-rfc8366bis"/> defines the schema for data that is subsequently encapsulated by a JOSE signed-data Content-type as described in <xref target="I-D.ietf-anima-jws-voucher"/>.
As such, all of the YANG-modeled data is protected against modification.</t>

<t>The use of YANG to define data structures via the <xref target="RFC8971"/> "structure" statement, is relatively
new and distinct from the traditional use of YANG to define an API accessed by network management protocols such as NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>.
For this reason, these guidelines do not follow the template described by <xref target="RFC8407"/> section 3.7 (Security Considerations Section).</t>

</section>
</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>We would like to thank the various reviewers, in particular Brian E. Carpenter, Oskar Camenzind, Hendrik Brockhaus, and Ingo Wenda for their input and discussion on use cases and call flows.
Further review input was provided by Jesser Bouzid, Dominik Tacke, and Christian Spindler.
Special thanks to Esko Dijk for the in deep review and the improving proposals.
Support in PoC implementations and comments resulting from the implementation was provided by Hong Rui Li and He Peng Jia.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>





<reference anchor='RFC5280'>
<front>
<title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
<author fullname='D. Cooper' initials='D.' surname='Cooper'><organization/></author>
<author fullname='S. Santesson' initials='S.' surname='Santesson'><organization/></author>
<author fullname='S. Farrell' initials='S.' surname='Farrell'><organization/></author>
<author fullname='S. Boeyen' initials='S.' surname='Boeyen'><organization/></author>
<author fullname='R. Housley' initials='R.' surname='Housley'><organization/></author>
<author fullname='W. Polk' initials='W.' surname='Polk'><organization/></author>
<date month='May' year='2008'/>
<abstract><t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5280'/>
<seriesInfo name='DOI' value='10.17487/RFC5280'/>
</reference>



<reference anchor='RFC6762'>
<front>
<title>Multicast DNS</title>
<author fullname='S. Cheshire' initials='S.' surname='Cheshire'><organization/></author>
<author fullname='M. Krochmal' initials='M.' surname='Krochmal'><organization/></author>
<date month='February' year='2013'/>
<abstract><t>As networked devices become smaller, more portable, and more ubiquitous, the ability to operate with less configured infrastructure is increasingly important.  In particular, the ability to look up DNS resource record data types (including, but not limited to, host names) in the absence of a conventional managed DNS server is useful.</t><t>Multicast DNS (mDNS) provides the ability to perform DNS-like operations on the local link in the absence of any conventional Unicast DNS server.  In addition, Multicast DNS designates a portion of the DNS namespace to be free for local use, without the need to pay any annual fee, and without the need to set up delegations or otherwise configure a conventional DNS server to answer for those names.</t><t>The primary benefits of Multicast DNS names are that (i) they require little or no administration or configuration to set them up, (ii) they work when no infrastructure is present, and (iii) they work during infrastructure failures.</t></abstract>
</front>
<seriesInfo name='RFC' value='6762'/>
<seriesInfo name='DOI' value='10.17487/RFC6762'/>
</reference>



<reference anchor='RFC6763'>
<front>
<title>DNS-Based Service Discovery</title>
<author fullname='S. Cheshire' initials='S.' surname='Cheshire'><organization/></author>
<author fullname='M. Krochmal' initials='M.' surname='Krochmal'><organization/></author>
<date month='February' year='2013'/>
<abstract><t>This document specifies how DNS resource records are named and structured to facilitate service discovery.  Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t></abstract>
</front>
<seriesInfo name='RFC' value='6763'/>
<seriesInfo name='DOI' value='10.17487/RFC6763'/>
</reference>



<reference anchor='RFC7030'>
<front>
<title>Enrollment over Secure Transport</title>
<author fullname='M. Pritikin' initials='M.' role='editor' surname='Pritikin'><organization/></author>
<author fullname='P. Yee' initials='P.' role='editor' surname='Yee'><organization/></author>
<author fullname='D. Harkins' initials='D.' role='editor' surname='Harkins'><organization/></author>
<date month='October' year='2013'/>
<abstract><t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport.  This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates.  It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t></abstract>
</front>
<seriesInfo name='RFC' value='7030'/>
<seriesInfo name='DOI' value='10.17487/RFC7030'/>
</reference>



<reference anchor='RFC7515'>
<front>
<title>JSON Web Signature (JWS)</title>
<author fullname='M. Jones' initials='M.' surname='Jones'><organization/></author>
<author fullname='J. Bradley' initials='J.' surname='Bradley'><organization/></author>
<author fullname='N. Sakimura' initials='N.' surname='Sakimura'><organization/></author>
<date month='May' year='2015'/>
<abstract><t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures.  Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification.  Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t></abstract>
</front>
<seriesInfo name='RFC' value='7515'/>
<seriesInfo name='DOI' value='10.17487/RFC7515'/>
</reference>



<reference anchor='RFC8040'>
<front>
<title>RESTCONF Protocol</title>
<author fullname='A. Bierman' initials='A.' surname='Bierman'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' surname='Bjorklund'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<date month='January' year='2017'/>
<abstract><t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='8040'/>
<seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>



<reference anchor='RFC8366'>
<front>
<title>A Voucher Artifact for Bootstrapping Protocols</title>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='M. Pritikin' initials='M.' surname='Pritikin'><organization/></author>
<author fullname='T. Eckert' initials='T.' surname='Eckert'><organization/></author>
<date month='May' year='2018'/>
<abstract><t>This document defines a strategy to securely assign a pledge to an owner using an artifact signed, directly or indirectly, by the pledge's manufacturer.  This artifact is known as a &quot;voucher&quot;.</t><t>This document defines an artifact format as a YANG-defined JSON document that has been signed using a Cryptographic Message Syntax (CMS) structure.  Other YANG-derived formats are possible.  The voucher artifact is normally generated by the pledge's manufacturer (i.e., the Manufacturer Authorized Signing Authority (MASA)).</t><t>This document only defines the voucher artifact, leaving it to other documents to describe specialized protocols for accessing it.</t></abstract>
</front>
<seriesInfo name='RFC' value='8366'/>
<seriesInfo name='DOI' value='10.17487/RFC8366'/>
</reference>



<reference anchor='RFC8610'>
<front>
<title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
<author fullname='H. Birkholz' initials='H.' surname='Birkholz'><organization/></author>
<author fullname='C. Vigano' initials='C.' surname='Vigano'><organization/></author>
<author fullname='C. Bormann' initials='C.' surname='Bormann'><organization/></author>
<date month='June' year='2019'/>
<abstract><t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t></abstract>
</front>
<seriesInfo name='RFC' value='8610'/>
<seriesInfo name='DOI' value='10.17487/RFC8610'/>
</reference>



<reference anchor='RFC8615'>
<front>
<title>Well-Known Uniform Resource Identifiers (URIs)</title>
<author fullname='M. Nottingham' initials='M.' surname='Nottingham'><organization/></author>
<date month='May' year='2019'/>
<abstract><t>This memo defines a path prefix for &quot;well-known locations&quot;, &quot;/.well-known/&quot;, in selected Uniform Resource Identifier (URI) schemes.</t><t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space.  It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t></abstract>
</front>
<seriesInfo name='RFC' value='8615'/>
<seriesInfo name='DOI' value='10.17487/RFC8615'/>
</reference>



<reference anchor='RFC8995'>
<front>
<title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
<author fullname='M. Pritikin' initials='M.' surname='Pritikin'><organization/></author>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='T. Eckert' initials='T.' surname='Eckert'><organization/></author>
<author fullname='M. Behringer' initials='M.' surname='Behringer'><organization/></author>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<date month='May' year='2021'/>
<abstract><t>This document specifies automated bootstrapping of an Autonomic Control Plane.  To do this, a Secure Key Infrastructure is bootstrapped.  This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline.  We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device.  The established secure connection can be used to deploy a locally issued certificate to the device as well.</t></abstract>
</front>
<seriesInfo name='RFC' value='8995'/>
<seriesInfo name='DOI' value='10.17487/RFC8995'/>
</reference>


<reference anchor='I-D.ietf-anima-jws-voucher'>
   <front>
      <title>JWS signed Voucher Artifacts for Bootstrapping Protocols</title>
      <author fullname='Thomas Werner' initials='T.' surname='Werner'>
         <organization>Siemens AG</organization>
      </author>
      <author fullname='Michael Richardson' initials='M.' surname='Richardson'>
         <organization>Sandelman Software Works</organization>
      </author>
      <date day='22' month='February' year='2023'/>
      <abstract>
	 <t>   [RFC8366] defines a digital artifact called voucher as a YANG-defined
   JSON document that is signed using a Cryptographic Message Syntax
   (CMS) structure.  This document introduces a variant of the voucher
   artifact in which CMS is replaced by the JSON Object Signing and
   Encryption (JOSE) mechanism described in [RFC7515] to support
   deployments in which JOSE is preferred over CMS.

   In addition to explaining how the format is created, the
   &quot;application/voucher-jws+json&quot; media type is registered and examples
   are provided.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-anima-jws-voucher-06'/>
   
</reference>


<reference anchor='I-D.ietf-netconf-sztp-csr'>
   <front>
      <title>Conveying a Certificate Signing Request (CSR) in a Secure Zero Touch Provisioning (SZTP) Bootstrapping Request</title>
      <author fullname='Kent Watsen' initials='K.' surname='Watsen'>
         <organization>Watsen Networks</organization>
      </author>
      <author fullname='Russ Housley' initials='R.' surname='Housley'>
         <organization>Vigil Security, LLC</organization>
      </author>
      <author fullname='Sean Turner' initials='S.' surname='Turner'>
         <organization>sn3rd</organization>
      </author>
      <date day='2' month='March' year='2022'/>
      <abstract>
	 <t>   This draft extends the input to the &quot;get-bootstrapping-data&quot; RPC
   defined in RFC 8572 to include an optional certificate signing
   request (CSR), enabling a bootstrapping device to additionally obtain
   an identity certificate (e.g., an LDevID from IEEE 802.1AR) as part
   of the &quot;onboarding information&quot; response provided in the RPC-reply.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-netconf-sztp-csr-14'/>
   
</reference>


<reference anchor='I-D.ietf-anima-rfc8366bis'>
   <front>
      <title>A Voucher Artifact for Bootstrapping Protocols</title>
      <author fullname='Kent Watsen' initials='K.' surname='Watsen'>
         <organization>Watsen Networks</organization>
      </author>
      <author fullname='Michael Richardson' initials='M.' surname='Richardson'>
         <organization>Sandelman Software</organization>
      </author>
      <author fullname='Max Pritikin' initials='M.' surname='Pritikin'>
         <organization>Cisco Systems</organization>
      </author>
      <author fullname='Toerless Eckert' initials='T. T.' surname='Eckert'>
         <organization>Futurewei Technologies Inc.</organization>
      </author>
      <author fullname='Qiufang Ma' initials='Q.' surname='Ma'>
         <organization>Huawei</organization>
      </author>
      <date day='7' month='February' year='2023'/>
      <abstract>
	 <t>   This document defines a strategy to securely assign a pledge to an
   owner using an artifact signed, directly or indirectly, by the
   pledge&#39;s manufacturer.  This artifact is known as a &quot;voucher&quot;.

   This document defines an artifact format as a YANG-defined JSON or
   CBOR document that has been signed using a variety of cryptographic
   systems.

   The voucher artifact is normally generated by the pledge&#39;s
   manufacturer (i.e., the Manufacturer Authorized Signing Authority
   (MASA)).

   This document updates RFC8366, merging a number of extensions into
   the YANG.  The RFC8995 voucher request is also merged into this
   document.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-anima-rfc8366bis-07'/>
   
</reference>



<reference anchor='RFC2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor='RFC2986'>
<front>
<title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
<author fullname='M. Nystrom' initials='M.' surname='Nystrom'><organization/></author>
<author fullname='B. Kaliski' initials='B.' surname='Kaliski'><organization/></author>
<date month='November' year='2000'/>
<abstract><t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process.  The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2986'/>
<seriesInfo name='DOI' value='10.17487/RFC2986'/>
</reference>



<reference anchor='RFC5272'>
<front>
<title>Certificate Management over CMS (CMC)</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<author fullname='M. Myers' initials='M.' surname='Myers'><organization/></author>
<date month='June' year='2008'/>
<abstract><t>This document defines the base syntax for CMC, a Certificate Management protocol using the Cryptographic Message Syntax (CMS). This protocol addresses two immediate needs within the Internet Public Key Infrastructure (PKI) community:</t><t>1.  The need for an interface to public key certification products and services based on CMS and PKCS #10 (Public Key Cryptography Standard), and</t><t>2.  The need for a PKI enrollment protocol for encryption only keys due to algorithm or hardware design.</t><t>CMC also requires the use of the transport document and the requirements usage document along with this document for a full definition.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5272'/>
<seriesInfo name='DOI' value='10.17487/RFC5272'/>
</reference>



<reference anchor='RFC6241'>
<front>
<title>Network Configuration Protocol (NETCONF)</title>
<author fullname='R. Enns' initials='R.' role='editor' surname='Enns'><organization/></author>
<author fullname='M. Bjorklund' initials='M.' role='editor' surname='Bjorklund'><organization/></author>
<author fullname='J. Schoenwaelder' initials='J.' role='editor' surname='Schoenwaelder'><organization/></author>
<author fullname='A. Bierman' initials='A.' role='editor' surname='Bierman'><organization/></author>
<date month='June' year='2011'/>
<abstract><t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6241'/>
<seriesInfo name='DOI' value='10.17487/RFC6241'/>
</reference>



<reference anchor='RFC7252'>
<front>
<title>The Constrained Application Protocol (CoAP)</title>
<author fullname='Z. Shelby' initials='Z.' surname='Shelby'><organization/></author>
<author fullname='K. Hartke' initials='K.' surname='Hartke'><organization/></author>
<author fullname='C. Bormann' initials='C.' surname='Bormann'><organization/></author>
<date month='June' year='2014'/>
<abstract><t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.  The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s.  The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t><t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.  CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t></abstract>
</front>
<seriesInfo name='RFC' value='7252'/>
<seriesInfo name='DOI' value='10.17487/RFC7252'/>
</reference>



<reference anchor='RFC8407'>
<front>
<title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
<author fullname='A. Bierman' initials='A.' surname='Bierman'><organization/></author>
<date month='October' year='2018'/>
<abstract><t>This memo provides guidelines for authors and reviewers of specifications containing YANG modules.  Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.  This document obsoletes RFC 6087.</t></abstract>
</front>
<seriesInfo name='BCP' value='216'/>
<seriesInfo name='RFC' value='8407'/>
<seriesInfo name='DOI' value='10.17487/RFC8407'/>
</reference>



<reference anchor='RFC8792'>
<front>
<title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
<author fullname='K. Watsen' initials='K.' surname='Watsen'><organization/></author>
<author fullname='E. Auerswald' initials='E.' surname='Auerswald'><organization/></author>
<author fullname='A. Farrel' initials='A.' surname='Farrel'><organization/></author>
<author fullname='Q. Wu' initials='Q.' surname='Wu'><organization/></author>
<date month='June' year='2020'/>
<abstract><t>This document defines two strategies for handling long lines in width-bounded text content.  One strategy, called the &quot;single backslash&quot; strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line.  The second strategy, called the &quot;double backslash&quot; strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy.  Both strategies use a self-describing header enabling automated reconstitution of the original content.</t></abstract>
</front>
<seriesInfo name='RFC' value='8792'/>
<seriesInfo name='DOI' value='10.17487/RFC8792'/>
</reference>



<reference anchor='RFC9052'>
<front>
<title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<date month='August' year='2022'/>
<abstract><t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need to be able to define basic security services for this data format.  This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.  </t><t>This document, along with RFC 9053, obsoletes RFC 8152.</t></abstract>
</front>
<seriesInfo name='STD' value='96'/>
<seriesInfo name='RFC' value='9052'/>
<seriesInfo name='DOI' value='10.17487/RFC9052'/>
</reference>



<reference anchor='RFC9053'>
<front>
<title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
<author fullname='J. Schaad' initials='J.' surname='Schaad'><organization/></author>
<date month='August' year='2022'/>
<abstract><t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052). </t><t>This document, along with RFC 9052, obsoletes RFC 8152.</t></abstract>
</front>
<seriesInfo name='RFC' value='9053'/>
<seriesInfo name='DOI' value='10.17487/RFC9053'/>
</reference>



<reference anchor='RFC9110'>
<front>
<title>HTTP Semantics</title>
<author fullname='R. Fielding' initials='R.' role='editor' surname='Fielding'><organization/></author>
<author fullname='M. Nottingham' initials='M.' role='editor' surname='Nottingham'><organization/></author>
<author fullname='J. Reschke' initials='J.' role='editor' surname='Reschke'><organization/></author>
<date month='June' year='2022'/>
<abstract><t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the &quot;http&quot; and &quot;https&quot; Uniform Resource Identifier (URI) schemes. </t><t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t></abstract>
</front>
<seriesInfo name='STD' value='97'/>
<seriesInfo name='RFC' value='9110'/>
<seriesInfo name='DOI' value='10.17487/RFC9110'/>
</reference>



<reference anchor='RFC9238'>
<front>
<title>Loading Manufacturer Usage Description (MUD) URLs from QR Codes</title>
<author fullname='M. Richardson' initials='M.' surname='Richardson'><organization/></author>
<author fullname='J. Latour' initials='J.' surname='Latour'><organization/></author>
<author fullname='H. Habibi Gharakheili' initials='H.' surname='Habibi Gharakheili'><organization/></author>
<date month='May' year='2022'/>
<abstract><t>This informational document details a protocol to load Manufacturer Usage Description (MUD) definitions from RFC 8520 for devices that do not have them integrated.</t><t>This document is published to inform the Internet community of this mechanism to allow interoperability and to serve as a basis of other standards work if there is interest.</t></abstract>
</front>
<seriesInfo name='RFC' value='9238'/>
<seriesInfo name='DOI' value='10.17487/RFC9238'/>
</reference>


<reference anchor='I-D.ietf-anima-brski-ae'>
   <front>
      <title>BRSKI-AE: Alternative Enrollment Protocols in BRSKI</title>
      <author fullname='David von Oheimb' initials='D.' surname='von Oheimb'>
         <organization>Siemens AG</organization>
      </author>
      <author fullname='Steffen Fries' initials='S.' surname='Fries'>
         <organization>Siemens AG</organization>
      </author>
      <author fullname='Hendrik Brockhaus' initials='H.' surname='Brockhaus'>
         <organization>Siemens AG</organization>
      </author>
      <date day='24' month='October' year='2022'/>
      <abstract>
	 <t>   This document enhances Bootstrapping Remote Secure Key Infrastructure
   (BRSKI, RFC 8995) to allow employing alternative enrollment
   protocols, such as CMP.

   Using self-contained signed objects, the origin of enrollment
   requests and responses can be authenticated independently of message
   transfer.  This supports end-to-end security and asynchronous
   operation of certificate enrollment and provides flexibility where to
   authenticate and authorize certification requests.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-anima-brski-ae-03'/>
   
</reference>


<reference anchor="IEEE-802.1AR" >
  <front>
    <title>IEEE 802.1AR Secure Device Identifier</title>
    <author >
      <organization>Institute of Electrical and Electronics Engineers</organization>
    </author>
    <date year="2018" month="June"/>
  </front>
  <seriesInfo name="IEEE" value="802.1AR "/>
</reference>
<reference anchor="BRSKI-PRM-abstract" >
  <front>
    <title>Abstract BRSKI-PRM Protocol Overview</title>
    <author >
      <organization></organization>
    </author>
    <date year="2022" month="April"/>
  </front>
  <format type="PNG" target="https://raw.githubusercontent.com/anima-wg/anima-brski-prm/main/pics/brski_prm_overview.png"/>
</reference>
<reference anchor="onpath" target="https://mailarchive.ietf.org/arch/msg/saag/m1r9uo4xYznOcf85Eyk0Rhut598/">
  <front>
    <title>can an on-path attacker drop traffic?</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>




<reference anchor='RFC6125'>
<front>
<title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
<author fullname='P. Saint-Andre' initials='P.' surname='Saint-Andre'><organization/></author>
<author fullname='J. Hodges' initials='J.' surname='Hodges'><organization/></author>
<date month='March' year='2011'/>
<abstract><t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6125'/>
<seriesInfo name='DOI' value='10.17487/RFC6125'/>
</reference>



<reference anchor='RFC8971'>
<front>
<title>Bidirectional Forwarding Detection (BFD) for Virtual eXtensible Local Area Network (VXLAN)</title>
<author fullname='S. Pallagatti' initials='S.' role='editor' surname='Pallagatti'><organization/></author>
<author fullname='G. Mirsky' initials='G.' role='editor' surname='Mirsky'><organization/></author>
<author fullname='S. Paragiri' initials='S.' surname='Paragiri'><organization/></author>
<author fullname='V. Govindan' initials='V.' surname='Govindan'><organization/></author>
<author fullname='M. Mudigonda' initials='M.' surname='Mudigonda'><organization/></author>
<date month='December' year='2020'/>
<abstract><t>This document describes the use of the Bidirectional Forwarding Detection (BFD) protocol in point-to-point Virtual eXtensible Local Area Network (VXLAN) tunnels used to form an overlay network.</t></abstract>
</front>
<seriesInfo name='RFC' value='8971'/>
<seriesInfo name='DOI' value='10.17487/RFC8971'/>
</reference>




    </references>


<section anchor="examples"><name>Examples</name>

<t>These examples are folded according to <xref target="RFC8792"/> Single Backslash rule.</t>

<section anchor="example-pledge-voucher-request-pvr-from-pledge-to-registrar-agent"><name>Example Pledge Voucher-Request - PVR (from Pledge to Registrar-agent)</name>

<t>The following is an example request sent from a Pledge to the Registrar-agent, in "General JWS JSON Serialization".
The message size of this PVR is: 4649 bytes</t>

<figure title="Example Pledge Voucher-Request - PVR" anchor="ExamplePledgeVoucherRequestfigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":
    "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3NlcnRpb24\
iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5\
vbmNlIjoiTDNJSjZocHRIQ0lRb054YWFiOUhXQT09IiwiY3JlYXRlZC1vbiI6IjIwMjI\
tMDQtMjZUMDU6MTY6MTcuNzA5WiIsImFnZW50LXByb3ZpZGVkLXByb3hpbWl0eS1yZWd\
pc3RyYXItY2VydCI6Ik1JSUI0akNDQVlpZ0F3SUJBZ0lHQVhZNzJiYlpNQW9HQ0NxR1N\
NNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTVRblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01\
CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1JEUVRBZUZ3MHlNREV5TURjd05qRTRNVEp\
hRncwek1ERXlNRGN3TmpFNE1USmFNRDR4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzN\
NeERUQUxCZ05WQkFjTUJGTnBkR1V4R0RBV0JnTlZCQU1NRDBSdmJXRnBibEpsWjJsemR\
ISmhjakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQmsxNksvaTc5b1J\
rSzVZYmVQZzhVU1I4L3VzMWRQVWlaSE10b2tTZHFLVzVmbldzQmQrcVJMN1dSZmZlV2t\
5Z2Vib0pmSWxsdXJjaTI1d25oaU9WQ0dqZXpCNU1CMEdBMVVkSlFRV01CUUdDQ3NHQVF\
VRkJ3TUJCZ2dyQmdFRkJRY0RIREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdTQVlEVlIwUkJ\
FRXdQNElkY21WbmFYTjBjbUZ5TFhSbGMzUXVjMmxsYldWdWN5MWlkQzV1WlhTQ0huSmx\
aMmx6ZEhKaGNpMTBaWE4wTmk1emFXVnRaVzV6TFdKMExtNWxkREFLQmdncWhrak9QUVF\
EQWdOSUFEQkZBaUJ4bGRCaFpxMEV2NUpMMlByV0N0eVM2aERZVzF5Q08vUmF1YnBDN01\
hSURnSWhBTFNKYmdMbmdoYmJBZzBkY1dGVVZvL2dHTjAvand6SlowU2wyaDR4SVhrMSI\
sImFnZW50LXNpZ25lZC1kYXRhIjoiZXlKd1lYbHNiMkZrSWpvaVpYbEtjRnBZVW0xTVd\
GcDJaRmRPYjFwWVNYUmpiVlo0WkZkV2VtUkRNWGRqYlRBMldWZGtiR0p1VVhSak1teHV\
ZbTFXYTB4WFVtaGtSMFZwVDI1emFWa3pTbXhaV0ZKc1drTXhkbUpwU1RaSmFrbDNUV3B\
KZEUxRVVYUk5hbHBWVFVSVk5rMUVZelpPUkVWMVRrUlJORmRwU1hOSmJrNXNZMjFzYUd\
KRE1YVmtWekZwV2xoSmFVOXBTWGROVkVsNlRrUlZNazU2WnpWSmJqRTVJaXdpYzJsbmJ\
tRjBkWEpsY3lJNlczc2ljSEp2ZEdWamRHVmtJam9pWlhsS2NtRlhVV2xQYVVwWlkwaHd\
jMVJWZERSaVNFSkNUbXBvYWxaVVZrZFZWVEZaVmxoYWRWTldVVEpWV0dNNVNXbDNhVmx\
YZUc1SmFtOXBVbFpOZVU1VVdXbG1VU0lzSW5OcFoyNWhkSFZ5WlNJNklrY3pWM2hHU0d\
WMFdGQTRiR3hTVmkwNWRXSnlURmxxU25aUllUWmZlUzFRYWxGWk5FNWhkMW81Y0ZKaGI\
yeE9TbTlFTm1SbFpXdHVTVjlGV0daemVWWlRZbmM0VTBONlRWcE1iakJoUVhWb2FVZFp\
UakJSSW4xZGZRPT0iLCJhZ2VudC1zaWduLWNlcnQiOlsiTUlJQjFEQ0NBWHFnQXdJQkF\
nSUVZbWQ0T1RBS0JnZ3Foa2pPUFFRREFqQStNUk13RVFZRFZRUUtEQXBOZVVKMWMybHV\
aWE56TVEwd0N3WURWUVFIREFSVGFYUmxNUmd3RmdZRFZRUUREQTlVWlhOMFVIVnphRTF\
2WkdWc1EwRXdIaGNOTWpJd05ESTJNRFEwTWpNeldoY05Nekl3TkRJMk1EUTBNak16V2p\
BOU1STXdFUVlEVlFRS0RBcE5lVUoxYzJsdVpYTnpNUTB3Q3dZRFZRUUhEQVJUYVhSbE1\
SY3dGUVlEVlFRRERBNVNaV2RwYzNSeVlYSkJaMlZ1ZERCWk1CTUdCeXFHU000OUFnRUd\
DQ3FHU000OUF3RUhBMElBQkd4bHJOZmozaVJiNy9CUW9kVys1WWlvT3poK2pJdHlxdVJ\
JTy9XejdZb1czaXdEYzNGeGV3TFZmekNyNU52RDEzWmFGYjdmcmFuK3Q5b3RZNVdMaEo\
2alp6QmxNQTRHQTFVZER3RUIvd1FFQXdJSGdEQWZCZ05WSFNNRUdEQVdnQlJ2b1QxdWR\
lMmY2TEVRaFU3SEhqK3ZKL2Q3SXpBZEJnTlZIUTRFRmdRVVhwemxNS3hscEE2OGNVNUZ\
RTVhVdm5JVDZRd3dFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUtvWkl6ajB\
FQXdJRFNBQXdSUUlnYzJ5NnhvT3RvUUJsSnNnbE9MMVZ4SEdvc1R5cEVxUmZ6MFF2NFp\
FUHY0d0NJUUNWeWIyRjl6VjNuOTUrb2xnZkZKZ1pUV0V6NGRTYUYzaHpSUWIzWnVCMjl\
RPT0iLCJNSUlCekRDQ0FYR2dBd0lCQWdJRVhYakhwREFLQmdncWhrak9QUVFEQWpBMU1\
STXdFUVlEVlFRS0RBcE5lVUoxYzJsdVpYTnpNUTB3Q3dZRFZRUUhEQVJUYVhSbE1ROHd\
EUVlEVlFRRERBWlVaWE4wUTBFd0hoY05NVGt3T1RFeE1UQXdPRE0yV2hjTk1qa3dPVEV\
4TVRBd09ETTJXakErTVJNd0VRWURWUVFLREFwTmVVSjFjMmx1WlhOek1RMHdDd1lEVlF\
RSERBUlRhWFJsTVJnd0ZnWURWUVFEREE5VVpYTjBVSFZ6YUUxdlpHVnNRMEV3V1RBVEJ\
nY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVRsRzBmd1QzM29leloxdmtIUWJldGV\
ibWorQm9WK1pGc2pjZlF3MlRPa0pQaE9rT2ZBYnU5YlMxcVppOHlhRVY4b2VyS2wvNlp\
YYmZ4T21CanJScmNYbzJZd1pEQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTF\
VZER3RUIvd1FFQXdJQ0JEQWZCZ05WSFNNRUdEQVdnQlRvWklNelFkc0Qvai8rZ1gvN2N\
CSnVjSC9YbWpBZEJnTlZIUTRFRmdRVWI2RTliblh0bitpeEVJVk94eDQvcnlmM2V5TXd\
DZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBUG5CMHcxTkN1cmhNeEp3d2ZqejdnRGlpeGt\
VWUxQU1o5ZU45a29oTlFVakFpRUF3NFk3bHR4V2lQd0t0MUo5bmp5ZkRObDVNdUVEQml\
teFIzQ1hvWktHUXJVPSJdfX0",
    "signatures":[{
      "protected":"eyJ4NWMiOlsiTUlJQitUQ0NBYUNnQXdJQkFnSUdBWG5WanNVN\
U1Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RBe\
EthVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJNQ\
0FYRFRJeE1EWXdOREExTkRZeE5Gb1lEems1T1RreE1qTXhNak0xT1RVNVdqQlNNUXN3Q\
1FZRFZRUUdFd0pCVVRFVk1CTUdBMVVFQ2d3TVNtbHVaMHBwYm1kRGIzSndNUk13RVFZR\
FZRUUZFd293TVRJek5EVTJOemc1TVJjd0ZRWURWUVFEREE1S2FXNW5TbWx1WjBSbGRtb\
GpaVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQzc5bGlhUmNCalpjR\
UVYdzdyVWVhdnRHSkF1SDRwazRJNDJ2YUJNc1UxMWlMRENDTGtWaHRVVjIxbXZhS0N2T\
XgyWStTTWdROGZmd0wyM3ozVElWQldqZFRCek1Dc0dDQ3NHQVFVRkJ3RWdCQjhXSFcxa\
GMyRXRkR1Z6ZEM1emFXVnRaVzV6TFdKMExtNWxkRG81TkRRek1COEdBMVVkSXdRWU1CY\
UFGRlFMak56UFwvU1wva291alF3amc1RTVmdndjWWJNQk1HQTFVZEpRUU1NQW9HQ0NzR\
0FRVUZCd01DTUE0R0ExVWREd0VCXC93UUVBd0lIZ0RBS0JnZ3Foa2pPUFFRREFnTkhBR\
EJFQWlCdTN3UkJMc0pNUDVzTTA3MEgrVUZyeU5VNmdLekxPUmNGeVJST2xxcUhpZ0lnW\
ENtSkxUekVsdkQycG9LNmR4NmwxXC91eW1UbmJRRERmSmxhdHVYMlJvT0U9Il0sImFsZ\
yI6IkVTMjU2In0",
      "signature":"Y_ohapnmvbwjLuUicOB7NAmbGM7igBfpUlkKUuSNdG-eDI4BQ\
yuXZ2aw93zZId45R7XxAK-12YKIx6qLjiPjMw"
  }]
}
]]></artwork></figure>

</section>
<section anchor="example-parboiled-registrar-voucher-request-rvr-from-registrar-to-masa"><name>Example Parboiled Registrar Voucher-Request - RVR (from Registrar to MASA)</name>

<t>The term parboiled refers to food which is partially cooked.  In <xref target="RFC8995"/>, the term refers to a Pledge voucher-request (PVR) which has
been received by the Registrar, and then has been processed by the Registrar ("cooked"), and is now being forwarded to the MASA.</t>

<t>The following is an example Registrar voucher-request (RVR) sent from the Registrar to the MASA, in "General JWS JSON Serialization".
Note that the previous PVR can be seen in the payload as "prior-signed-voucher-request".
The message size of this RVR is: 13257 bytes</t>

<figure title="Example Registrar Voucher-Request - RVR" anchor="ExampleRegistrarVoucherRequestfigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":
    "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3NlcnRpb24\
iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiY2FmZmUtOTg3NDUiLCJ\
ub25jZSI6ImM1VEVPb29NTE5hNEN4L1UrVExoQ3c9PSIsInByaW9yLXNpZ25lZC12b3V\
jaGVyLXJlcXVlc3QiOiJleUp3WVhsc2IyRmtJam9pWlhsS2NGcFlVbTFNV0ZwMlpGZE9\
iMXBZU1hSamJWWjRaRmRXZW1SRE1YZGpiVEEyWkcwNU1Wa3lhR3hqYVVrMlpYbEthR01\
6VG14amJsSndZakkwYVU5cFNtaGFNbFoxWkVNeGQyTnRPVFJoVnpGd1pFaHJhVXhEU25\
wYVdFcHdXVmQzZEdKdVZuUlpiVlo1U1dwdmFWa3lSbTFhYlZWMFQxUm5NMDVFVldsTVE\
wcDFZakkxYWxwVFNUWkpiVTB4VmtWV1VHSXlPVTVVUlRWb1RrVk9ORXd4VlhKV1JYaHZ\
VVE5qT1ZCVFNYTkpiVTU1V2xkR01GcFhVWFJpTWpScFQybEplVTFFU1hsTVZFRjVURlJ\
KZVZaRVFUTlBhazE2VDJwQk5FeHFSVFZPYkc5cFRFTkthRm95Vm5Wa1F6RjNZMjA1TW1\
GWFVteGFRekYzWTIwNU5HRlhNWEJrU0d0MFkyMVdibUZZVGpCamJVWjVURmRPYkdOdVV\
XbFBhVXBPVTFWc1JGSkdVa1JSTUVacFZESmtRbVF3YkVOUlYyUktVakJHV1ZkWVRuZFR\
WMVoyVkZWR2RsSXdUa1JqVldSVVZGUlJOVkZyUms1Uk1ERkhaRE5vUkdWclJrdFJiV1J\
QVm10S1FsZFdVa0poTUZwVFZGWktTbVF3VmtKWFZWSlhWVlpHVEZKRlJuTlViVlpXVkc\
1YWFWZEZTbTlaYlRWeVpVVmFWVkZXVWtOYU1EVlhVV3RHZWxSVlVrWk5WRlpXVFRGYWN\
GbDZTbk5oTWtaWVVtNXNiRlpGVmxGVVZVVjNVakJGZUZaVlZrTmtNMlJJVmtab2MxWkh\
SbGxWYlhoT1ZXdFdNMUpJWkZwU1JscFNWVlZTUlZGWGFFOWFWbHBQWTBkU1NGWnJVbEp\
XUlVac1VtNWpkMlZWTVVWU1dHeE9Va1pHTTFSdWNFcE5WVFZGWVVkR1IyUjZRalpVVlZ\
KR1pWVXhSVlZZWkU5bGEydDRWR3RTYjFsVk1VaFRXR2hFWld0R1MxRnRaRTlXYTBwQ1Y\
xWlNRbUV3V2xOVVZrcEtaREJXUWxkVlVsZFZWa1pNVWtWR2MxUnRWbFpVYmxwcFYwVkt\
iMWx0TlhKbFJWcEZVVlpPUTFvd05WZFJhMFo2VkZWTmQwMVVWbFpOTVZwd1dYcEtjMkV\
4YkZsVGFsWk9WVlJvTTFKR1JscFNSbHBTVlZWb1JWRldjRTlhVmxwUFkwZFNTRlpZYUV\
oU1JVWllVVzFrVDFaclNrSlVWVEZGVFVSRk1WWlVTbk5OUm5CWFUyMTRZVTF0ZURaYVJ\
XaExZVWRPY1ZGc2NFNVJhekZJVVc1c2VGSXhUazVPUkd4Q1dqQldTRkV3VG5oU01VNU9\
Ua1JzUW1Rd1ZrbFJWRUpLVVZWS1NsVklhRmhrVlRGSlVucG9TMVJIV2taVlJVVTFUMWh\
hZDAxdVZrbFNWVFZxVlROc2JWa3pWVE5VUjJSYVRraEJlRTVGUmtOT01GSk9XbFJGTkU\
xSVRrWmxSV1J4VkZOME0yTnJOVFJPTURVMVdWaE9lRXQ2Um5CTlJXUlVVVEZKTlU1VVV\
UTk5SRVp0VWpKV1dGUldSbWxqVjNCWVpXdEtZVlJWU1hkU01FVjRWbGRTUzFWV1JsaFV\
WVXBTVWpCT1JHTXdaRUpWVmxaSFVXNWtUbEZyU201YU0wcERXakJXUjFGc1JtcFNSV2h\
GVVZVNVExb3dOVmRUUmtVMFVXdEdiVTlGVmtOUlZURkVVV3BTUW1Rd2RFSlhWVkpYVld\
wQ1UxRnJUa1prTUdjd1UxZFNhVmRIZURaWlZtaFRZa2RPZEZadE5XaFhSVFIzV1RJeFI\
yVlZlSFJOVkZaYVRXcHNNRmt3WkVka1YxWlVUbGR3YVUxcVFqTlJNbVJhVTFWMGRsZHJ\
iRFpoYWtKR1VWaGtTbEpHVGtKUldHUlRWVlZzYjFGV1FqVlBXRnBOVTFkR01WVnJWbEp\
qYlhnMVlteGtNRlI2VmxOaVZYQXdZVmhTVW1GNlpFOVhSRkpMVlVoV2RWVklRazlVYXp\
BeFZWUnNRbUZWUm5sa1JVNTBWRVprWVZSVmJFMVdiRTEyVFZWc1JWbFhjR2xqTVU1Sll\
tNXdkbUpYYjNkV1F6a3paVmhKY21Nd2RFdGpRM1IxVFhwU1VsQlVNR2xNUTBwb1dqSld\
kV1JETVhwaFYyUjFXbGRSZEZwSFJqQlpVMGsyU1cxV05WTnVaRnBYUjNoNldXcEtSMkV\
3YkhGaU1teGhWMGQ0VEZrd1duZFhWbFowVFZVeFdGSnVRWGxYYTFwclZESkplR05HYkZ\
SWFJrcHhXV3hhWVU1R2NFZGFSbVJzWWxaS1JWUldhR3RoYlVwVlVWUktXRlp0VW5KWmE\
yUkxaRlpXV1ZWdGNFNWlXR2d4VjFjd2VGWXlSWGRsUm1oV1lsZG9jbFZxUWxkalJsRjV\
UbGh3YUZadGREWlZNakUwVjJ4a1IxTnVUbGhoTURFMFdrY3hTMk5HVGxWWGEzQm9ZVEo\
zZWxaR1pIZFNiVkpHVFZaV1UxZEdTazlXYTFwM1ZteFNWbFZyY0U5aGVrVXlWVlpTWVZ\
Sc1NrWlNha1pWVmxaS1ExcEVSbXRqUms1WlZHdHdhV0Y2Vm5wWFZFbDRZekpHU0ZOclV\
rNVhSbHB5Vm01d1IyTkdaSE5oUlhCb1ZsUnNkMVV5TVhkWGJGbDRZMGhTV0dKRk1UTlV\
iRlUxVWxac05sRnJPVlpOUnpneFYyMTRSbUZWZUVSVGJuQm9WakpTTVZkV2FGTk5WMDU\
wVm01d1NtRnVRbWxhV0d4TFpESk9kRTlVUW1GV01EUjNWMnhrVW1GVk9YQlRiWGhzVmx\
oQ2RsZFhkR3RoYlVaV1QxaENWR0V4Y0ZkYVYzUnlaVVpTZEdKRmNHcE5SM2d3V2tWb1E\
xbFdSWGRoZWtwVVZqTm9kbFZ0ZEhwbFZsWlpVMnhTYVdKclNrcFdhMVpUVVcxV2MxSnV\
VbFJpVlZwVlZXdGFjbVZzVFhwalJ6bFhUVlpHTmxkWWNFTmhiRWw1V1ROa1ZVMUdSak5\
aVm1SaFZXdHNjR1F5YkdwTmJYaDFXVzB4UjAxSFVsbFRiWGhLWVcwNWNGZEVRazlsYXp\
sV1QxWm9VMkpyY0dGWmJHTTFaV3hOZDA5WVZsSlhSMUpUVjFSR1YyRXhiM2RqUlZaWVV\
qRndUVmxzVWt0WFZUbFhVMnhXVjFJd05URlVSazE0WXpGUmQwNVdRbWxTZWxaMlZqSjB\
SazFGT1VaWGJYUlhZa2hCZDFReFVrOWhNbEY0Vld0d1YxWlVWbGRYUkVwaFYyczVWMWR\
1UWxkaVJHdzFWWHBPVDFaV1JuSmhSa3BRVmpOQ2Vsa3haSHBsVjBsNldUSnNiVlpxUlR\
WSmFYZHBXVmRrYkdKdVVYUmpNbXh1WW1reGFscFlTakJKYW5CaVNXc3hTbE5WVGt0U1J\
VNUVVVmRPZUZvd1JqTlRWVXBDV2pCc1JsZEhlSEZSTURGRlVWVjBRMW95WkhoaFIzUnh\
WREZDVWxWVlVrSmhhMHB6VkZaR2VtUXdUbEpYVlZKWFZWWkdTRkpZWkV0UmJGWlZVbFp\
PVGxGclJraFJWRVpXVWxWT2JtUXdjRlZYUjNoRldXcEplR1F4YkZoT1ZGWk9WV3hXTTF\
KWVpGcFNSbHBTVlZWNFJWRllhRTlhVmxwUFRWWnNkVlJ1UW1GU01uaHZXVEkxY21WRlV\
qWlJWVFZEV2pBMVYxRnJSbXBVVlVweVRWUldWazF0ZDNkWGJGSkdXVlV4UTFvd1pFSk5\
WbFpHVVZoa00xVnNVbGxpUmxKb1YwWktjMVpWYUZkbGJVWkdUVmhhWVZJeFducFZWRUp\
HWkRCb2Ixa3dOVTVoYTBZelZGZHdTazVGTVVWWk0zQk9aV3RGZDFZeWFHcFVhekUyVVZ\
oa1RtRnJhekJVVlZKcVpXc3hObEZVUWxoaGEwcDBWRlpHZW1Rd1RsSlhWVkpYVlZaR1N\
GSllaRXRSYkZaVlVsWk9UbEZyUmtoUlZFWldVbFZPYm1Rd2NGVlhSM2hGV1dwSmVHUXh\
iRmhPVkZaT1ZXeFdNMUpZWkZwU1JscFNWVlY0UlZGWWFFOWFWbHBQVFZac2RWUnVRbUZ\
TTW5odldUSTFjbVZGVWpaUlZUVkRXakExVjFGclJtcFVWVXB5VFZSV1ZrMXRkM2RYYkZ\
KR1dXc3hRMkV3WkVKTlZsWkdVVmhrTTFVeFVsbGlSbEpvVjBaS2MxWlZhRmRsYlVaR1R\
WaGFZVkl4V25wVlZtaERaREF4UjJFelpFWmtNV3hKVXpJNVlWTlljSEZOUlU1Q1ZWWnN\
TbE15T1dGVFdIQnhUVVZTUWxWWFRrVlZWMlJDVWxSWmQwMVZPSEppTW5CRVlUTktSVlZ\
1WXpOYU1Hd3lWMnRWTUdGVVRUQmFSMHB2VVROR2NGSjZaSEZpTWprelYyNUJNR1ZJV2p\
aU2JsSk5XbnBhVlZaNlFtOVViVkpKWkd4Q1JWVXhVbnBrVm1oVVpWWmpOV1JJU1hwUld\
HUkVZa2RhUkdJd1VsZFVia1pRWkhwc05WUldaekpVYlRWT1VqRldNMUpIWkZwU1JscFR\
UVVpDUWxWVlozWlJhMFpTVWtWR2JscFZSazVSYW1oSVVWUkdWbHBGYkROVlZteE9VVzF\
HUWxKcmJ6TlRTRkpVWkROQ1RWUklWbEJYYW1ScVlUQkdjMVZWYUZaTk1tUkNWRmRqZGx\
Ock1VTk5SV1JDVFZaV2ExSkhaRkpXTUVwRFZXMU9WVTVVVFRCaWF6RmFaR3hTYWxKdVV\
uSmFia295VGpOb1ZrNHdVbkJpVldoeFpXdEdWVkZ0WkU5V2EyaFVWbFZXUlZKRlJreFJ\
iV1J1WTJ0S2JsSlZXa05WVjA1RlVWZHdRbE13U201YU0wWnZZVEp3VUZWR1JsSlNSVVp\
1Vkd0c1FsSkZTa2RSVjJ4R1VWaENTMDR6YUhkVWJGWXlWVlZ3U0UxRk5XOVVSMGwyV2x\
oU2FVMXFRazFTUmxWNFRtMTRkMVV3YUZCT01rWnNZbnBDVjFkWVozZGxTR1JFVTFWRmN\
sUjZWWFpYVkZwRllVTjBhVkZxU1RSTmFsSXhZVmRHVUZWWFJsWlNSRnB1VVZVMWIxZFV\
iRmRTYlZGeVlXNUtlVmt3VmpKVGJsRnBURU5LVGxOVmJFUlNNVkpFVVRCR2FVc3laRUp\
rTUd4RFVWZGtTbEpXYUhOaGEwVjJaV3RHVEZGdFpHNWpWMmh5WVdzNVVWVldSa1ZSVjN\
CRFdUQXhVbU16WkVSVlZteEZWbXhHVWxJd1ZqTlRhMHBXVmtWV1ZGUlZTa0pTTUVWNFZ\
sVldSRm96WkV0V1JtaHpVa2RKZVUxWVpGcFdlbFV4VkZaS1ZtUXdWak5YVlZKWFZWWkd\
UVkpGUmpSVWJWWlhWR3BHV21Kck5YZFhhMlJ6WVVkT2RXRXphRVZsYTBaUFVXMWtUMVp\
yU2tKWk1ERkRZWHBGTVZaVVNuTk5SbkJWVWxaS1RsRlVhRWhSVkVaV1VsVkdNMlF3YkZ\
WWFIzaFZXVlpvVTJKR1JYZFNXR1JKWVVkT1QxUlhjRUprTURGeFUxUlNUbEpIVGpWVWJ\
uQldUbFprYjFrd05VNWxhMFl6VkZkd1NrNUZNVVZaTTJ4UFpXeFZNVll5Y0VOaVJURlN\
Zek5rUkZWV2JFVldiRVpTVWpCV00xTnJTbFpXUlZaVVZGVktRbEl3UlhoV1ZWWkVXak5\
rUzFaR2FITlNSMGw1VFZoa1dsWjZWVEZVVmtwV1pEQldNMWRWVWxkVlZrWk5Va1ZHTkZ\
SdFZsZFVha1phWW1zMWQxZHJaSE5oUjA1MVlUTm9SV1ZyUms5UmJXUlBWbXRLUWxrd01\
VTmhla1V4VmxSS2MwMUdjRlZTVjBaT1VXMWtTRkZVUmxaU1ZVWXpaREZLVlZkSGVGVlp\
WbWhUWWtaV1NWWnVjR2hTVkVZeVYydGtWMk14UlhkU1dHUllWa1ZHVlZGdFpHcGpWMmh\
5WVdzNVVWVlZiRU5SYldSdVkxZG9jbUZyT1ZGVlZURkRVVzVrVDFFd1JrSlZhM0JEVm0\
wNWVscEZkRE5YVlRVMFlWWkNORk5JV25CU2JrWk1aV3RTYzA5WFdqQlVTRlpPV1ZjeGQ\
xSnNSbXBYU0dONFRXcGthRlJ0T1ZOWmJrNUpUREJhVG1OdE1UWlJNRVpKVFhwak0wMTZ\
UbXBOYlRscFZVZE9jMlJzVG5sWFZVb3lUVVZPTUZZeFJqQlpWRnBvU3pKT2RrMXNiRE5\
YYTFKQ1ZUQktibFJzV2tsVmF6RkRVVmRaTkZKVlRrVlJWV1JDVlZWbmRsRlhaRVpSVlR\
GQ1RrVmtRazFXVm10U1NHUkdVV2s1TTFWVlZrSmtNR3hFVVd0U1FscHJTbTVVYkZwSlZ\
UQXhSbEl3VWtKV01tUkRWVmh3TkdWdVpIZFZia0pOWlZNNWVWUldWbHBsYlVadlRXNU5\
lRTB5VmxaUFYyUkhaV3RHYTFGdFpFOVdhMmhTVGtWV1Ixb3hSbFppYms1c1RWVjRSR0V\
6VGpGT1JGWjFaRWhzVWxFeFdrSmFSbEpzVVZWR05WSkVhSEprTUU1dVYxVnNUR0l4Y0V\
wbGJXOTNVbFZHTTFOVlVsUlJWVVl6Vld4R1NtRkZSa3BqTVd4eldsWndUR015Y0VkVWE\
wNTZVMnQwYkZWSGVFaFVWVVpOV2xoQ1YxcFViRVpVUkdSUFlqTlJNVTFVVmpObFJ6Rlh\
aRlZ3UTFGWGJFSlpNRlpPVmxaV2IxSldUbnBVUm1SUlRsaG9WRlZXVlhkWFNFWTJWbTV\
GTkZkWVduQlNha1pwVm0wNU5sSXpjRFJPV0hCUFdqSk9lbVI2TURsSmJERTVabEVpTEN\
KemFXZHVZWFIxY21WeklqcGJleUp3Y205MFpXTjBaV1FpT2lKbGVVbzBUbGROYVU5c2M\
ybFVWV3hLVVRCb2NWRXdUa0paTVU1dVVWaGtTbEZyUm01VFZXUkNWMGRvTUUxVVVucGl\
NREZDWWpCa1JGRXpSa2hWTURBd1QxVktRbFJWVGs1U1ZtdzBVVE53UWxOclNtNVViRnB\
EVVZac1ZWRlhkRTlUVlRGVFZGaGtSbFZXYkVWV2JFWlNVekJTUW1OR1VtaFdNVm93VjJ\
4ak1XVnJiRVpTYTJoT1ZWUm9NMUpHUmxwU1JscFNWVlY0UlZGV2NFUldhMDVEVWtaV1I\
xUllhRVpXUlVaUlVXMWtUMVpyU2tKVVZURkVVbXh3YzFsdE1WTmtiVTV5Vkd0S1RsRXd\
SbGxTUmxKS1pVVXhSVlJZYkU5aGEwVXhWRmR3U21WVk5WZGlNV3hGWlcxek1WUXhVbkp\
sUlRGeFZGaG9UbUZyTUhoVU1WSldUbFprY1ZGdGFFNVZXRTR6VVRGR1dsSkdXbEpWVld\
SR1pEQndSVlV3VWtaV1JURkRVbFZrUWsxV1ZrWlJNbVF6VXpGVmVXSkhlR2xXTVZveFd\
UTnNRMUZzU2paU1ZrSk9VVlJDU0ZGVVJsWlNWVTR6WkRCa1VtSkdSbTVWVkVaRFZrVXh\
VMVZZWkVaYU1XeEZWbXhHVWxKclZqTmtSM0JhVmpGd2RGZHNUWGRPVlRsRldYcENUMVp\
GVmxoVVZVcFNVakJGZUZaVlZrSmtNMlJQVmxWYWIxSkZNVFZPVlZwUFpXeFdNRlJXVWt\
Ka01VWlZVV3h3VGxGck1VaFJibXg0VWpGT1RrNUViRUphTUZaSVVUQk9lRkl4VGs1T1J\
HeENaREJXU1ZGVVFrcFJWVXBQVFVSb2NWWXdlSHBOUjBadlV6Qm9XbGR1Vm05aVZ6Rmp\
UREpqTkdScVVsaFRNR2d5VVZoU2FGcHNSazFSVTNSS1pGVXhUMkZITVc1aFZ6RllUakJ\
HVG1OdVJtOWlWMHBWVFRCc2FGVkZUalZoUnpGaFUxWk9kMVI2V20xaVUzTXlVMWhhWTB\
3eldrcGphM1J2VlZaU01WWnRPVXhoYldSYVVWaGtiV0ZyUm5aUmJXUnVZMnRLYmxKVld\
rTlZWMDVEVTFWR1Vsa3dVa05qU0ZKYVYwVTFiMVJHYUZOaVIwMTZWVmhXYWsxdGVITlp\
iR1JYWkZkT05VNVhjR2xOYWtFeVZERlNVazFGTVRaUlZsSkRXakExVjFOR1RsWlNWVkp\
GVVZWMFExb3laSGxSYldSR1VtdEtVbGt3VWtKV1JVWlFVVzFrVDFacmFGSlBSVXBDV21\
wb1JsRnJSazVSTUVrd1VWaGtUVlZXYkVWV2JFbDNWV3RLUkZkWVpFdFRWV3h3V2tWa2I\
ySkZlSFZYYlhocFlsWktNbGt5YXpGaGJHeFlUa2hXYVdKVWEzZFVSekV3WkZkSmVsa3p\
WbXRTTW1oM1dUTnJNVTFzYkZobFJFWmhWa1ZHVEZGdFpHNWpWMmh5WVdzNVVWVldSa1Z\
SVjJSUFUxVkdSVkZyV2tKaFZVazFVVzB4ZUZRemNIRlZWR2hzV1ZkamVWTnVVblprVmx\
KdlVsWm9lVm93T1VOWFZsRjNVWHBvWVdSRGREVlBWemxKVWtad1JWbHNVbEpUVjJoQ1Z\
HMXpNbVJIT1ZOaU1sWkVXVmMxYUZSWGNFNVdSWGgwWWxaV2RXSlhTbkphYWtKNldsaGF\
jbEV3YnpSTmJXc3hWbGhHY1ZWcldsZFZVMHBrVEVOS2FHSkhZMmxQYVVwR1ZYcEpNVTV\
wU2praUxDSnphV2R1WVhSMWNtVWlPaUphWTFwa1dYbzBiMUl3UjJKc09UWnFNWGxZWm5\
kdlRYZGxVVGt6VGpCdFNVUmxjVFkyVTBacWRFdG9lR1pSWjNJMGRUWkpOVEJKWldNMmE\
xWTJhSEV3YVcxdlptTlBhVGs0VW1OSVpXUmpNVzFuZHpCWVp5SjlYWDA9IiwiY3JlYXR\
lZC1vbiI6IjIwMjItMDItMjJUMDc6MzM6MjUuMDIwWiIsImFnZW50LXNpZ24tY2VydCI\
6WyJNSUlDSkRDQ0FjcWdBd0lCQWdJRVhsakNNREFLQmdncWhrak9QUVFEQWpCbE1Rc3d\
DUVlEVlFRR0V3SkJVVEVTTUJBR0ExVUVDZ3dKVFhsRGIyMXdZVzU1TVJVd0V3WURWUVF\
MREF4TmVWTjFZbk5wWkdsaGNua3hEekFOQmdOVkJBY01CazE1VTJsMFpURWFNQmdHQTF\
VRUF3d1JUWGxUYVhSbFVIVnphRTF2WkdWc1EwRXdIaGNOTWpBd01qSTRNRGN6TXpBMFd\
oY05NekF3TWpJNE1EY3pNekEwV2pCbU1Rc3dDUVlEVlFRR0V3SkJVVEVTTUJBR0ExVUV\
DZ3dKVFhsRGIyMXdZVzU1TVJVd0V3WURWUVFMREF4TmVWTjFZbk5wWkdsaGNua3hEekF\
OQmdOVkJBY01CazE1VTJsMFpURWJNQmtHQTFVRUF3d1NUWGxUYVhSbFVIVnphRTF2Wkd\
Wc1FYQndNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUU2MDFPK29qQ2t\
yRFJ3N2dJdlpFNGkzNGRiaENxaUc3am9vd1pwNHh2ekZ0TGc2VFcwaE5kSHZQRFNUc3V\
YU3lXOXRyM0F3Q2xmQ29EVk5xT3c5eU1YNk5uTUdVd0RnWURWUjBQQVFIL0JBUURBZ2V\
BTUI4R0ExVWRJd1FZTUJhQUZKN0h0U3dwTEx1T1o3Y2tBbFFIVTNnQU1nL0pNQjBHQTF\
VZERnUVdCQlJjVDUzNG5NWXZUY0Z0a2Zydjd4VTdEaW1IanpBVEJnTlZIU1VFRERBS0J\
nZ3JCZ0VGQlFjREFqQUtCZ2dxaGtqT1BRUURBZ05JQURCRkFpRUFwSjd4cE5VdlFKRzB\
OaExiL2V0YjIwTERVMTZscFNITzdhZW8wVll4MHh3Q0lBK081L1k2RGgrYkIyODI0dWl\
hT1FhVUQ2Z0FOaFk5VkZkK2pycmNFdkp0IiwiTUlJQ0dUQ0NBYitnQXdJQkFnSUVYbGp\
BL3pBS0JnZ3Foa2pPUFFRREFqQmNNUXN3Q1FZRFZRUUdFd0pCVVRFU01CQUdBMVVFQ2d\
3SlRYbERiMjF3WVc1NU1SVXdFd1lEVlFRTERBeE5lVk4xWW5OcFpHbGhjbmt4RHpBTkJ\
nTlZCQWNNQmsxNVUybDBaVEVSTUE4R0ExVUVBd3dJVFhsVGFYUmxRMEV3SGhjTk1qQXd\
Nakk0TURjeU56VTVXaGNOTXpBd01qSTRNRGN5TnpVNVdqQmxNUXN3Q1FZRFZRUUdFd0p\
CVVRFU01CQUdBMVVFQ2d3SlRYbERiMjF3WVc1NU1SVXdFd1lEVlFRTERBeE5lVk4xWW5\
OcFpHbGhjbmt4RHpBTkJnTlZCQWNNQmsxNVUybDBaVEVhTUJnR0ExVUVBd3dSVFhsVGF\
YUmxVSFZ6YUUxdlpHVnNRMEV3V1RBVEJnY3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkN\
BQVJKQlZvc2RLd1lOeGlQeEh2aUZxS3pEbDlmdEx1TWFtcEZRY1h3MTI3YU5vUmJzSC9\
GTXJtekNBSDM3NzMzYzJvYlBjbHZTcllCdjBDdFdRdGE2YStjbzJZd1pEQVNCZ05WSFJ\
NQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZER3RUIvd1FFQXdJQ0JEQWZCZ05WSFNNRUd\
EQVdnQlF6eHp3cFJwTHkvck1VWXphaDJzMTNlVTlnRnpBZEJnTlZIUTRFRmdRVW5zZTF\
MQ2tzdTQ1bnR5UUNWQWRUZUFBeUQ4a3dDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBSXN\
ZbGVaS3NqRk5Dc0pLZVBsR01BTGVwVmU5RUw3Tm90NTE1d3htVnVKQkFpQWNFTVVVaEV\
Tc0xXUDV4U1FVMFhxelZxOFl2aUYxYlZvekd6eDV6Tmdjc3c9PSJdfX0",
  "signatures":[{
    "protected":"eyJ4NWMiOlsiTUlJQjhEQ0NBWmFnQXdJQkFnSUdBWEJoTUtZSU1\
Bb0dDQ3FHU000OUJBTUNNRnd4Q3pBSkJnTlZCQVlUQWtGUk1SSXdFQVlEVlFRS0RBbE5\
lVU52YlhCaGJua3hGVEFUQmdOVkJBc01ERTE1VTNWaWMybGthV0Z5ZVRFUE1BMEdBMVV\
FQnd3R1RYbFRhWFJsTVJFd0R3WURWUVFEREFoTmVWTnBkR1ZEUVRBZUZ3MHlNREF5TWp\
Bd05qQXlNak5hRncwek1EQXlNakF3TmpBeU1qTmFNSGt4Q3pBSkJnTlZCQVlUQWtGUk1\
SSXdFQVlEVlFRS0RBbE5lVU52YlhCaGJua3hGVEFUQmdOVkJBc01ERTE1VTNWaWMybGt\
hV0Z5ZVRFUE1BMEdBMVVFQnd3R1RYbFRhWFJsTVM0d0xBWURWUVFERENWU1pXZHBjM1J\
5WVhJZ1ZtOTFZMmhsY2lCU1pYRjFaWE4wSUZOcFoyNXBibWNnUzJWNU1Ga3dFd1lIS29\
aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUJUVFwvc1JmTDlsSnVGbVwvY24zU2pHcWp\
QXC9xdnBrNytoSTIwOE5oVkRvR2hcLzdLUCt2TXpYeVFRQStqUjZrNnJhTTI4ZlwvbHV\
FK1h1aHVwN1Vmem05Q3FNbk1DVXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBeHd3RGd\
ZRFZSMFBBUUhcL0JBUURBZ2VBTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSUhOK3VBbUp\
ldVhlc1wveWQxd1M0Mlo0RFhKNEptMWErZzNYa1pnZjhUaGxuQWlFQXBVdTZzZnljRWt\
veDdSWlhtZitLOHc0cDZzUldyamExUVJwWTAyNjQxSFk9IiwiTUlJQjhEQ0NBWmVnQXd\
JQkFnSUdBWEJoTUtZQk1Bb0dDQ3FHU000OUJBTUNNRnd4Q3pBSkJnTlZCQVlUQWtGUk1\
SSXdFQVlEVlFRS0RBbE5lVU52YlhCaGJua3hGVEFUQmdOVkJBc01ERTE1VTNWaWMybGt\
hV0Z5ZVRFUE1BMEdBMVVFQnd3R1RYbFRhWFJsTVJFd0R3WURWUVFEREFoTmVWTnBkR1Z\
EUVRBZUZ3MHlNREF5TWpBd05qQXlNak5hRncwek1EQXlNakF3TmpBeU1qTmFNRnd4Q3p\
BSkJnTlZCQVlUQWtGUk1SSXdFQVlEVlFRS0RBbE5lVU52YlhCaGJua3hGVEFUQmdOVkJ\
Bc01ERTE1VTNWaWMybGthV0Z5ZVRFUE1BMEdBMVVFQnd3R1RYbFRhWFJsTVJFd0R3WUR\
WUVFEREFoTmVWTnBkR1ZEUVRCWk1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhBMEl\
BQkluQ3VoV1ZzZ2NONzFvWmVzMUZHXC9xZFZnTVBva01wZlMyNzFcL2V5SWNcL29EVmJ\
NRkhDYmV2SjVMTTgxOTVOYVpLTlNvSFAzS3dMeXVCaDh2MncwOVp1alJUQkRNQklHQTF\
VZEV3RUJcL3dRSU1BWUJBZjhDQVFFd0RnWURWUjBQQVFIXC9CQVFEQWdJRU1CMEdBMVV\
kRGdRV0JCUXp4endwUnBMeVwvck1VWXphaDJzMTNlVTlnRnpBS0JnZ3Foa2pPUFFRREF\
nTkhBREJFQWlCZGJIU212YW9qaDBpZWtaSUtOVzhRMGxTbGI1K0RLTlFcL05LY1I3dWx\
6dGdJZ2RwejZiUkYyREZtcGlKb3JCMkd5VmE4YVdkd2xIc0RvRVdZY0k0UEdKYmc9Il0\
sImFsZyI6IkVTMjU2In0",
    "signature":"67t3n8zyEek4IM2Ko3Y_UvE1hzp794QFNTqG-HzTrBQtE4_4-yS\
yyFd3kP6YCn35YYJ7yK35d3styo_yoiPfKA"
  }]
}
]]></artwork></figure>

</section>
<section anchor="example-voucher-response-from-masa-to-pledge-via-registrar-and-registrar-agent"><name>Example Voucher-Response (from MASA to Pledge, via Registrar and Registrar-agent)</name>

<t>The following is an example voucher-response from MASA to Pledge via Registrar and Registrar-agent, in "General JWS JSON Serialization". The message size of this Voucher is: 1916 bytes</t>

<figure title="Example Voucher-Response from MASA" anchor="ExampleVoucherResponsefigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":"eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJhZ2V\
udC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5vbmNlIjo\
iTDNJSjZocHRIQ0lRb054YWFiOUhXQT09IiwiY3JlYXRlZC1vbiI6IjIwMjItMDQtMjZ\
UMDU6MTY6MjguNzI2WiIsInBpbm5lZC1kb21haW4tY2VydCI6Ik1JSUJwRENDQVVtZ0F\
3SUJBZ0lHQVcwZUx1SCtNQW9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTV\
RblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1J\
EUVRBZUZ3MHhPVEE1TVRFd01qTTNNekphRncweU9UQTVNVEV3TWpNM016SmFNRFV4RXp\
BUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJ\
nTlZCQU1NQmxSbGMzUkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUF\
CT2t2a1RIdThRbFQzRkhKMVVhSTcrV3NIT2IwVVMzU0FMdEc1d3VLUURqaWV4MDYvU2N\
ZNVBKaWJ2Z0hUQitGL1FUamdlbEhHeTFZS3B3Y05NY3NTeWFqUlRCRE1CSUdBMVVkRXd\
FQi93UUlNQVlCQWY4Q0FRRXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CMEdBMVVkRGdRV0J\
CVG9aSU16UWRzRC9qLytnWC83Y0JKdWNIL1htakFLQmdncWhrak9QUVFEQWdOSkFEQkd\
BaUVBdHhRMytJTEdCUEl0U2g0YjlXWGhYTnVocVNQNkgrYi9MQy9mVllEalE2b0NJUUR\
HMnVSQ0hsVnEzeWhCNThUWE1VYnpIOCtPbGhXVXZPbFJEM1ZFcURkY1F3PT0ifX0",
  "signatures":[{
    "protected":"eyJ4NWMiOlsiTUlJQmt6Q0NBVGlnQXdJQkFnSUdBV0ZCakNrWU1\
Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RBeEt\
hVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJNQjR\
YRFRFNE1ERXlPVEV3TlRJME1Gb1hEVEk0TURFeU9URXdOVEkwTUZvd1R6RUxNQWtHQTF\
VRUJoTUNRVkV4RlRBVEJnTlZCQW9NREVwcGJtZEthVzVuUTI5eWNERXBNQ2NHQTFVRUF\
3d2dTbWx1WjBwcGJtZERiM0p3SUZadmRXTm9aWElnVTJsbmJtbHVaeUJMWlhrd1dUQVR\
CZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQzZiZUxBbWVxMVZ3NmlRclJzOFI\
wWlcrNGIxR1d5ZG1XczJHQU1GV3diaXRmMm5JWEgzT3FIS1Z1OHMyUnZpQkdOaXZPS0d\
CSEh0QmRpRkVaWnZiN294SXdFREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29aSXp\
qMEVBd0lEU1FBd1JnSWhBSTRQWWJ4dHNzSFAyVkh4XC90elVvUVwvU3N5ZEwzMERRSU5\
FdGNOOW1DVFhQQWlFQXZJYjNvK0ZPM0JUbmNMRnNhSlpSQWtkN3pPdXNuXC9cL1pLT2F\
FS2JzVkRpVT0iXSwiYWxnIjoiRVMyNTYifQ",
    "signature":"0TB5lr-cs1jqka2vNbQm3bBYWfLJd8zdVKIoV53eo2YgSITnKKY\
TvHMUw0wx9wdyuNVjNoAgLysNIgEvlcltBw"
  }]
}
]]></artwork></figure>

</section>
<section anchor="example-voucher-response-masa-issued-voucher-with-additional-registrar-signature-from-masa-to-pledge-via-registrar-and-registrar-agent"><name>Example Voucher-Response, MASA issued Voucher with additional Registrar signature (from MASA to Pledge, via Registrar and Registrar-agent)</name>

<t>The following is an example voucher-response from MASA to Pledge via Registrar and Registrar-agent, in "General JWS JSON Serialization".
The message size of this Voucher is: 3006 bytes</t>

<figure title="Example Voucher-Response from MASA, with additional Registrar signature" anchor="ExampleVoucherResponseWithRegSignfigure"><artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload":"eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJhZ2V\
udC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5vbmNlIjo\
iUUJiSXMxNTJzbkFvVzdSeVFMWENvZz09IiwiY3JlYXRlZC1vbiI6IjIwMjItMDktMjl\
UMDM6Mzc6MjYuMzgyWiIsInBpbm5lZC1kb21haW4tY2VydCI6Ik1JSUJwRENDQVVtZ0F\
3SUJBZ0lHQVcwZUx1SCtNQW9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTV\
RblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1J\
EUVRBZUZ3MHhPVEE1TVRFd01qTTNNekphRncweU9UQTVNVEV3TWpNM016SmFNRFV4RXp\
BUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJ\
nTlZCQU1NQmxSbGMzUkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUF\
CT2t2a1RIdThRbFQzRkhKMVVhSTcrV3NIT2IwVVMzU0FMdEc1d3VLUURqaWV4MDYvU2N\
ZNVBKaWJ2Z0hUQitGL1FUamdlbEhHeTFZS3B3Y05NY3NTeWFqUlRCRE1CSUdBMVVkRXd\
FQi93UUlNQVlCQWY4Q0FRRXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CMEdBMVVkRGdRV0J\
CVG9aSU16UWRzRC9qLytnWC83Y0JKdWNIL1htakFLQmdncWhrak9QUVFEQWdOSkFEQkd\
BaUVBdHhRMytJTEdCUEl0U2g0YjlXWGhYTnVocVNQNkgrYi9MQy9mVllEalE2b0NJUUR\
HMnVSQ0hsVnEzeWhCNThUWE1VYnpIOCtPbGhXVXZPbFJEM1ZFcURkY1F3PT0ifX0",
  "signatures":[{
    "protected":"eyJ4NWMiOlsiTUlJQmt6Q0NBVGlnQXdJQkFnSUdBV0ZCakNrWU1\
Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RBeEt\
hVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJNQjR\
YRFRFNE1ERXlPVEV3TlRJME1Gb1hEVEk0TURFeU9URXdOVEkwTUZvd1R6RUxNQWtHQTF\
VRUJoTUNRVkV4RlRBVEJnTlZCQW9NREVwcGJtZEthVzVuUTI5eWNERXBNQ2NHQTFVRUF\
3d2dTbWx1WjBwcGJtZERiM0p3SUZadmRXTm9aWElnVTJsbmJtbHVaeUJMWlhrd1dUQVR\
CZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQzZiZUxBbWVxMVZ3NmlRclJzOFI\
wWlcrNGIxR1d5ZG1XczJHQU1GV3diaXRmMm5JWEgzT3FIS1Z1OHMyUnZpQkdOaXZPS0d\
CSEh0QmRpRkVaWnZiN294SXdFREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29aSXp\
qMEVBd0lEU1FBd1JnSWhBSTRQWWJ4dHNzSFAyVkh4XC90elVvUVwvU3N5ZEwzMERRSU5\
FdGNOOW1DVFhQQWlFQXZJYjNvK0ZPM0JUbmNMRnNhSlpSQWtkN3pPdXNuXC9cL1pLT2F\
FS2JzVkRpVT0iXSwidHlwIjoidm91Y2hlci1qd3MranNvbiIsImFsZyI6IkVTMjU2In0\
",
    "signature":"ShqW8uFRkuAXIzjAhB4bolMMndcY7GYq3Kbo94yvGtjCaxEX3Hp\
6QXZUTEJ_kulQ1G7DnaU4igDPdUGtcV9Lkw"},{
    "protected":"eyJ4NWMiOlsiTUlJQjRqQ0NBWWlnQXdJQkFnSUdBWFk3MmJiWk1\
Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUx\
CZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUkRRVEFlRncweU1ERXlNRGN\
3TmpFNE1USmFGdzB6TURFeU1EY3dOakU0TVRKYU1ENHhFekFSQmdOVkJBb01DazE1UW5\
WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhHREFXQmdOVkJBTU1EMFJ2YldGcGJ\
sSmxaMmx6ZEhKaGNqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCazE\
2S1wvaTc5b1JrSzVZYmVQZzhVU1I4XC91czFkUFVpWkhNdG9rU2RxS1c1Zm5Xc0JkK3F\
STDdXUmZmZVdreWdlYm9KZklsbHVyY2kyNXduaGlPVkNHamV6QjVNQjBHQTFVZEpRUVd\
NQlFHQ0NzR0FRVUZCd01CQmdnckJnRUZCUWNESERBT0JnTlZIUThCQWY4RUJBTUNCNEF\
3U0FZRFZSMFJCRUV3UDRJZGNtVm5hWE4wY21GeUxYUmxjM1F1YzJsbGJXVnVjeTFpZEM\
1dVpYU0NIbkpsWjJsemRISmhjaTEwWlhOME5pNXphV1Z0Wlc1ekxXSjBMbTVsZERBS0J\
nZ3Foa2pPUFFRREFnTklBREJGQWlCeGxkQmhacTBFdjVKTDJQcldDdHlTNmhEWVcxeUN\
PXC9SYXVicEM3TWFJRGdJaEFMU0piZ0xuZ2hiYkFnMGRjV0ZVVm9cL2dHTjBcL2p3ekp\
aMFNsMmg0eElYazEiXSwidHlwIjoidm91Y2hlci1qd3MranNvbiIsImFsZyI6IkVTMjU\
2In0",
    "signature":"N4oXV48V6umsHMKkhdSSmJYFtVb6agjD32uXpIlGx6qVE7Dh0-b\
qhRRyjnxp80IV_Fy1RAOXIIzs3Q8CnMgBgg"
  }]
}
]]></artwork></figure>

</section>
</section>
<section anchor="app_history"><name>History of Changes [RFC Editor: please delete]</name>

<t>Proof of Concept Code available</t>

<t>From IETF draft 07 -&gt; IETF draft 08:</t>

<t><list style="symbols">
  <t>resolved editorial issues discovered after WGLC (still open issues remaining)</t>
  <t>resolved first comments from the Shepherd review as discussed in PR #85 on the ANIMA github</t>
</list></t>

<t>From IETF draft 06 -&gt; IETF draft 07:</t>

<t><list style="symbols">
  <t>WGLC resulted in a removal of the voucher enhancements completely from this document to RFC 8366bis, containing all enhancements and augmentations of the voucher, including the voucher-request as well as the tree diagrams</t>
  <t>smaller editorial corrections</t>
</list></t>

<t>From IETF draft 05 -&gt; IETF draft 06:</t>

<t><list style="symbols">
  <t>Update of list of reviewers</t>
  <t>Issue #67, shortened the pledge endpoints to prepare for constraint deployments</t>
  <t>Included table for new endpoints on the registrar in the overview of the registrar-agent</t>
  <t>addressed review comments from SECDIR early review (terminology clarifications, editorial improvements)</t>
  <t>addressed review comments from IOTDIR early review (terminology clarifications, editorial improvements)</t>
</list></t>

<t>From IETF draft 04 -&gt; IETF draft 05:</t>

<t><list style="symbols">
  <t>Restructured document to have a distinct section for the object flow and handling and shortened introduction, issue #72</t>
  <t>Added security considerations for using mDNS without a specific product-serial-number, issue #75</t>
  <t>Clarified pledge-status responses are cumulative, issue #73</t>
  <t>Removed agent-sign-cert from trigger data to save bandwidth and remove complexity through options, issue #70</t>
  <t>Changed terminology for LDevID(Reg) certificate to registrar EE certificate, as it does not need to be an LDevID, issue #66</t>
  <t>Added new protected header parameter (created-on) in PER to support freshness validation, issue #63</t>
  <t>Removed reference to CAB Forum as not needed for BRSKI-PRM specifically, issue #65</t>
  <t>Enhanced error codes in section 5.5.1, issue #39, #64</t>
  <t>Enhanced security considerations and privacy considerations, issue #59</t>
  <t>Issue #50 addressed by referring to the utilized enrollment protocol</t>
  <t>Issue #47 MASA verification of LDevID(RegAgt) to the same registrar EE certificate domain CA</t>
  <t>Reworked terminology of "enrollment object", "certification object", "enrollment request object", etc., issue #27</t>
  <t>Reworked all message representations to align with encoding</t>
  <t>Added explanation of MASA requiring domain CA cert in section 5.5.1 and section 5.5.2, issue #36</t>
  <t>Defined new endpoint for pledge bootstrapping status inquiry, issue #35 in section <xref target="exchanges_uc2_5"/>, IANA considerations and section <xref target="pledge_ep"/></t>
  <t>Included examples for several objects in section <xref target="examples"/> including message example sizes, issue #33</t>
  <t>PoP for private key to registrar certificate included as mandatory, issues #32 and #49</t>
  <t>Issue #31, clarified that combined pledge may act as client/server for further (re)enrollment</t>
  <t>Issue #42, clarified that Registrar needs to verify the status responses with and ensure that they match the audit log response from the MASA, otherwise it needs drop the pledge and revoke the certificate</t>
  <t>Issue #43, clarified that the pledge shall use the create time from the trigger message if the time has not been synchronized, yet.</t>
  <t>Several editorial changes and enhancements to increasing readability.</t>
</list></t>

<t>From IETF draft 03 -&gt; IETF draft 04:</t>

<t><list style="symbols">
  <t>In deep Review by Esko Dijk lead to issues #22-#61, which are bein stepwise integrated</t>
  <t>Simplified YANG definition by augmenting the voucher-request from RFC 8995 instead of redefining it.</t>
  <t>Added explanation for terminology "endpoint" used in this document, issue #16</t>
  <t>Added clarification that registrar-agent may collect PVR or PER or both in one run, issue #17</t>
  <t>Added a statement that nonceless voucher may be accepted, issue #18</t>
  <t>Simplified structure in section <xref target="sup-env"/>, issue #19</t>
  <t>Removed join proxy in <xref target="uc2figure"/> and added explanatory text, issue #20</t>
  <t>Added description of pledge-CAcerts endpoint plus further handling of providing a wrapped CA certs response to the pledge in section <xref target="exchanges_uc2_3"/>; also added new required registrar endpoint (section <xref target="exchanges_uc2_2"/> and IANA considerations) for the registrar to provide a wrapped CA certs response, issue #21</t>
  <t>utilized defined abbreviations in the document consistently, issue #22</t>
  <t>Reworked text on discovery according to issue #23 to clarify scope and handling</t>
  <t>Added several clarifications based on review comments</t>
</list></t>

<t>From IETF draft 02 -&gt; IETF draft 03:</t>

<t><list style="symbols">
  <t>Updated examples to state "base64encodedvalue==" for x5c occurrences</t>
  <t>Include link to SVG graphic as general overview</t>
  <t>Restructuring of section 5 to flatten hierarchy</t>
  <t>Enhanced requirements and motivation in <xref target="req-sol"/></t>
  <t>Several editorial improvements based on review comments</t>
</list></t>

<t>From IETF draft 01 -&gt; IETF draft 02:</t>

<t><list style="symbols">
  <t>Issue #15 included additional signature on voucher from registrar in section <xref target="exchanges_uc2_2"/> and section <xref target="agt_prx"/>
The verification of multiple signatures is described in section <xref target="exchanges_uc2_3"/></t>
  <t>Included representation for General JWS JSON Serialization for examples</t>
  <t>Included error responses from pledge if it is not able to create a pledge voucher-request or an enrollment request in section <xref target="exchanges_uc2_1"/></t>
  <t>Removed open issue regarding handling of multiple CSRs and enrollment responses during the bootstrapping as the initial target it the provisioning of a generic LDevID certificate. The defined endpoint on the pledge may also be used for management of further certificates.</t>
</list></t>

<t>From IETF draft 00 -&gt; IETF draft 01:</t>

<t><list style="symbols">
  <t>Issue #15 lead to the inclusion of an option for an additional signature of the registrar on the voucher received from the MASA before forwarding to the registrar-agent to support verification of POP of the registrars private key in section <xref target="exchanges_uc2_2"/> and <xref target="exchanges_uc2_3"/>.</t>
  <t>Based on issue #11, a new endpoint was defined for the registrar to enable delivery of the wrapped enrollment request from the pledge (in contrast to plain PKCS#10 in simple enroll).</t>
  <t>Decision on issue #8 to not provide an additional signature on the enrollment-response object by the registrar. As the enrollment response will only contain the generic LDevID certificate. This credential builds the base for further configuration outside the initial enrollment.</t>
  <t>Decision on issue #7 to not support multiple CSRs during the bootstrapping, as based on the generic LDevID certificate the pledge may enroll for further certificates.</t>
  <t>Closed open issue #5 regarding verification of ietf-ztp-types usage as verified
via a proof-of-concept in section {#exchanges_uc2_1}.</t>
  <t>Housekeeping: Removed already addressed open issues stated in the draft directly.</t>
  <t>Reworked text in from introduction to section pledge-responder-mode</t>
  <t>Fixed "serial-number" encoding in PVR/RVR</t>
  <t>Added prior-signed-voucher-request in the parameter description of the
registrar-voucher-request in <xref target="exchanges_uc2_2"/>.</t>
  <t>Note added in <xref target="exchanges_uc2_2"/> if sub-CAs are used, that the
corresponding information is to be provided to the MASA.</t>
  <t>Inclusion of limitation section (pledge sleeps and needs to be waked
up. Pledge is awake but registrar-agent is not available) (Issue #10).</t>
  <t>Assertion-type aligned with voucher in RFC8366bis, deleted related
open issues. (Issue #4)</t>
  <t>Included table for endpoints in <xref target="pledge_ep"/> for better readability.</t>
  <t>Included registrar authorization check for registrar-agent during
TLS handshake  in section <xref target="exchanges_uc2_2"/>. Also enhanced figure
<xref target="exchangesfig_uc2_2"/> with the authorization step on TLS level.</t>
  <t>Enhanced description of registrar authorization check for registrar-agent
based on the agent-signed-data in section <xref target="exchanges_uc2_2"/>. Also
enhanced figure <xref target="exchangesfig_uc2_2"/> with the authorization step
on pledge-voucher-request level.</t>
  <t>Changed agent-signed-cert to an array to allow for providing further
certificate information like the issuing CA cert for the LDevID(RegAgt)
certificate in case the registrar and the registrar-agent have different
issuing CAs in <xref target="exchangesfig_uc2_2"/> (issue #12).
This also required changes in the YANG module in <xref target="I-D.ietf-anima-rfc8366bis"/></t>
  <t>Addressed YANG warning (issue #1)</t>
  <t>Inclusion of examples for a trigger to create a pledge-voucher-request
and an enrollment-request.</t>
</list></t>

<t>From IETF draft-ietf-anima-brski-async-enroll-03 -&gt; IETF anima-brski-prm-00:</t>

<t><list style="symbols">
  <t>Moved UC2 related parts defining the pledge in responder mode from
draft-ietf-anima-brski-async-enroll-03 to this document
This required changes and adaptations in several sections to remove
the description and references to UC1.</t>
  <t>Addressed feedback for voucher-request enhancements from YANG doctor
early review in <xref target="voucher-request-prm-yang"/> as well as in the
security considerations (formerly named ietf-async-voucher-request).</t>
  <t>Renamed ietf-async-voucher-request to IETF-voucher-request-prm to
to allow better listing of voucher related extensions; aligned with
constraint voucher (#20)</t>
  <t>Utilized ietf-voucher-request-async instead of ietf-voucher-request
in voucher exchanges to utilize the enhanced voucher-request.</t>
  <t>Included changes from draft-ietf-netconf-sztp-csr-06 regarding the
YANG definition of csr-types into the enrollment request exchange.</t>
</list></t>

<t>From IETF draft 02 -&gt; IETF draft 03:</t>

<t><list style="symbols">
  <t>Housekeeping, deleted open issue regarding YANG voucher-request
in <xref target="exchanges_uc2_1"/> as voucher-request was
enhanced with additional leaf.</t>
  <t>Included open issues in YANG model in <xref target="architecture"/> regarding assertion
value agent-proximity and csr encapsulation using SZTP sub module).</t>
</list></t>

<t>From IETF draft 01 -&gt; IETF draft 02:</t>

<t><list style="symbols">
  <t>Defined call flow and objects for interactions in UC2. Object format
based on draft for JOSE signed voucher artifacts and aligned the
remaining objects with this approach in <xref target="exchanges_uc2"/>.</t>
  <t>Terminology change: issue #2 pledge-agent -&gt; registrar-agent to
better underline agent relation.</t>
  <t>Terminology change: issue #3 PULL/PUSH -&gt; pledge-initiator-mode
and pledge-responder-mode to better address the pledge operation.</t>
  <t>Communication approach between pledge and registrar-agent
changed by removing TLS-PSK (former section TLS establishment)
and associated references to other drafts in favor of relying on
higher layer exchange of signed data objects. These data objects
are included also in the pledge-voucher-request and lead to an
extension of the YANG module for the voucher-request (issue #12).</t>
  <t>Details on trust relationship between registrar-agent and
registrar (issue #4, #5, #9) included in <xref target="architecture"/>.</t>
  <t>Recommendation regarding short-lived certificates for
registrar-agent authentication towards registrar (issue #7) in
the security considerations.</t>
  <t>Introduction of reference to agent signing certificate using SKID
in agent signed data (issue #37).</t>
  <t>Enhanced objects in exchanges between pledge and registrar-agent
to allow the registrar to verify agent-proximity to the pledge
(issue #1) in <xref target="exchanges_uc2"/>.</t>
  <t>Details on trust relationship between registrar-agent and
pledge (issue #5) included in <xref target="architecture"/>.</t>
  <t>Split of use case 2 call flow into sub sections in <xref target="exchanges_uc2"/>.</t>
</list></t>

<t>From IETF draft 00 -&gt; IETF draft 01:</t>

<t><list style="symbols">
  <t>Update of scope in <xref target="sup-env"/> to include in
which the pledge acts as a server. This is one main motivation
for use case 2.</t>
  <t>Rework of use case 2 in <xref target="architecture"/> to consider the
transport between the pledge and the pledge-agent. Addressed is
the TLS channel establishment between the pledge-agent and the
pledge as well as the endpoint definition on the pledge.</t>
  <t>First description of exchanged object types (needs more work)</t>
  <t>Clarification in discovery options for enrollment endpoints at
the domain registrar based on well-known endpoints do not
result in additional /.well-known URIs. Update of the illustrative example.
Note that the change to /brski for the voucher related endpoints
has been taken over in the BRSKI main document.</t>
  <t>Updated references.</t>
  <t>Included Thomas Werner as additional author for the document.</t>
</list></t>

<t>From individual version 03 -&gt; IETF draft 00:</t>

<t><list style="symbols">
  <t>Inclusion of discovery options of enrollment endpoints at
the domain registrar based on well-known endpoints in
new section as replacement of section 5.1.3
in the individual draft. This is intended to support both use
cases in the document. An illustrative example is provided.</t>
  <t>Missing details provided for the description and call flow in
pledge-agent use case <xref target="architecture"/>, e.g. to
accommodate distribution of CA certificates.</t>
  <t>Updated CMP example in to use lightweight CMP instead of CMP, as the draft already provides
the necessary /.well-known endpoints.</t>
  <t>Requirements discussion moved to separate section in
<xref target="req-sol"/>. Shortened description of proof
of identity binding and mapping to existing protocols.</t>
  <t>Removal of copied call flows for voucher exchange and registrar
discovery flow from <xref target="RFC8995"/> in UC1 to avoid doubling or text or
inconsistencies.</t>
  <t>Reworked abstract and introduction to be more crisp regarding
the targeted solution. Several structural changes in the document
to have a better distinction between requirements, use case
description, and solution description as separate sections.
History moved to appendix.</t>
</list></t>

<t>From individual version 02 -&gt; 03:</t>

<t><list style="symbols">
  <t>Update of terminology from self-contained to authenticated
self-contained object to be consistent in the wording and to
underline the protection of the object with an existing
credential. Note that the naming of this object may be discussed.
An alternative name may be attestation object.</t>
  <t>Simplification of the architecture approach for the initial use
case having an offsite PKI.</t>
  <t>Introduction of a new use case utilizing authenticated
self-contain objects to onboard a pledge using a commissioning
tool containing a pledge-agent. This requires additional changes
in the BRSKI call flow sequence and led to changes in the
introduction, the application example,and also in the
related BRSKI-PRM call flow.</t>
</list></t>

<t>From individual version 01 -&gt; 02:</t>

<t><list style="symbols">
  <t>Update of introduction text to clearly relate to the usage of
IDevID and LDevID.</t>
  <t>Update of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
  <t>Enhanced consideration of existing enrollment protocols in the
context of mapping the requirements to existing solutions in
<xref target="req-sol"/>.</t>
</list></t>

<t>From individual version 00 -&gt; 01:</t>

<t><list style="symbols">
  <t>Update of examples, specifically for building automation as
well as two new application use cases in <xref target="sup-env"/>.</t>
  <t>Deletion of asynchronous interaction with MASA to not
complicate the use case. Note that the voucher exchange can
already be handled in an asynchronous manner and is therefore
not considered further. This resulted in removal of the
alternative path the MASA in Figure 1 and the associated
description in <xref target="architecture"/>.</t>
  <t>Enhancement of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
  <t>Consideration of existing enrollment protocols in the context
of mapping the requirements to existing solutions in <xref target="req-sol"/>.</t>
  <t>New section starting with the
mapping to existing enrollment protocols by collecting
boundary conditions.</t>
</list></t>

</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="E." surname="Dijk" fullname="Esko Dijk">
      <organization>IoTconsultancy.nl</organization>
      <address>
        <email>esko.dijk@iotconsultancy.nl</email>
      </address>
    </contact>
    <contact initials="T." surname="Eckert" fullname="Toerless Eckert">
      <organization>Futurewei</organization>
      <address>
        <email>tte@cs.fau.de</email>
      </address>
    </contact>
    <contact initials="M." surname="Kovatsch" fullname="Matthias Kovatsch">
      <organization></organization>
      <address>
        <email>ietf@kovatsch.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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
/dqKXmnh617qcMjOVYv+OH894Bmw9YDUUSzWDLTvQOiCc3pWJj9fL7dNKzvG
7MYJ8ZXTmnWJ3g/SYoRuJ4d2aeBZMTeU+S/2R0Ym1OsMJKv9CdzjQd+xmFq8
qn41sTBzkjC7VgNszyau/N48UTVpstCxs9rcZ9Vw8TMzTNFPN6bKuhaM7pUP
C3TWCtzZiVEzloncWatxxvIZF8nEBAf37MjACqbOj2eViVV2Ac9ZH8KNYLHB
yDkm2wuCxlVD5+kNutp1gBXPwudKFr+15j2zWGsgRFe/kObOEjKiQtDtSI2W
G5oRCCJ3IKEWHoolrz6dA0XDTEKBOlXw3RMoizOoj52ilJrdNBo7VOfDjSjF
Mw5RJ/+uMWZKM2kGlN1bxd2E1ZW60halvpqfzGFZcoNZkna/pC/IYVO+cv3H
b0NmT8vcZHuw3N5MkZ6qUlfUcCCyYwW7iJWS+V2X2uYSVVq8z/Gcdl0DTlzW
FHx+9y2P9w/EeqHa+WDtANtxbqfBRcssTc/mFzFphuOGtXO7SUEB1CdS4sd0
3qlnBVQSavJhmuaKafrolCfvVd9Z3aktis5wZDk4Cg9RRmgndEm2QqmqUoxT
k5FQJRxjPLY6hsaYKJFnV7Mqeij+FGq0pngYjJRNehkVc8x7KX59p03gNDYa
xnOp+ZNOJPUWaTIFOFmdeWF6mLjEWxg8wmXan9V1iJrXCK0ihjB2+YhVW9KG
I4QN7QFI28SHd2OaBRfNgEhIQslS/d04SdQU1CVHO4Vgwh9dUzQFtyUfqLst
jOJ2hvsJU2qULOgIelbhKHF6a1L8lcJilw1yNbzKinMNxY9a5VkXh5AqX41X
lM2PCH1EEaH7FF9sN9lyQ1atUm4me6VPbYW5BhbfXwbTrMzGNDU5KjBNtzmn
Z1eVOc2PVHUz7zTJFNnSi16tDf3UOCGHT3FGGNeZDIoqCePmwTy0QhI48/eZ
68VZnv+69568MItsA+wGrwXjI28OIlk9CUhTvgE37lTJMUY9rogyHU+UMaq0
WtKar3eE0l+8Ygyd+SVfTuQVXaRLK122XPwFYqwb/dhZtlqGH7OHsy8T7OiG
ZPuRjjrQsTZlvxrHu1pgDc/VgzIQ3VjcI7xxLVgjo7NkjQy/REZAF1uyIsb9
619Im0qdOmLVnehnU2qpa0mmgWIS4ZoRjnt3CbkqUECsmMkB21XHXKf/ql+X
Yi2CLVFdaBK+nCVRvJxjMgiEbkg9CAB8PNIyXGCYCvO32bs0Sb40YrCplFGt
hmEqZbjq/KqXqr5WBaXVnzh1CuOTpEZpbnZwvaPbqCJYlrjvZrD58grtZF6b
zW1VespF0oamPxq6ThmPmkshPW5pKXP6iYqARABcqIrbFSe2Xf1ElKk5EpSQ
+rlNQ5V0VaEagmzahvChrMY1cI5PLMaWPI9JjndiPmvb43KZ8MnAig+mwLNb
6h1LdTEUsdYRN8CwKTgEA+AnV6PEil6uoDcOYN0PfOSR2Xn1HWGm8WxUppjV
6qoiebUXNkwlaX1pXnzxlKa57KwIXRAyltn3YZ691VGKK9YqjNHUvW9dLXBx
P+I5EeN1IUtLxovnCdkj+0tEjHf+7y2Esrjwoi6Ekv9+hVC2WhtYC+VkY2v7
4Q/bD5+tbz18/G8phDK3pfWy1U9UrRSpQDK3AMn8P66vr9PJ/eP3Kyf5lYLv
lymSks8rktJZUCTFVwi0Ob3DupNy62njuWNjv4clveNXY3ELotyvNMsiM3t1
byFDeFXP8MzfyhQZKMsStnxbL6aL6sfcVzPSZVLoOMSTU5ill0uZnYNK6eOK
ble1PFuylNEztcYnk4rmhQKbw+txgQv62hMe3M9ErXkxepld0R8L2hBiOVpX
ndlarKZFZqR1wwWrnNkL9VVKJKWSy3HgiNwtYdcMRKkZbO8xrDUuEmX3FHmp
1rieylyEgvCF8Q3WfcKiEH6kuDuJRiDCG72ABLrdnXmG9SqQ8b5S4c+MRwuI
0JotWNANG4OrRavn1A1sBiykLo9ya0hTU2lSNpdBwDXTDQ0GnzuwnPLJfOGd
mxPppEqTmepcTRQGlSVYHwwbfufXndPW/uWVmVoTgitjLjL6Ktj7/DkIpAMj
cGuHvOyScEupxIiKJo45XurWzluFRD8D3W+ayRCRWbKOIyBpAFksgjGyQEhs
mFMSgMONsqsrEB+pso9a/Yq54N1Zr+VaurGlFW2X8KiHlzzPZcuVlTYRkkIF
5quBhXVxY7Rj4LSIrrhFy7wJT9mWarFvXK6kRs2BlWJHmGJBiuIqiDFrTVVz
izXBsM7Fip9lpb2M01FhQT1oqZ9oU71rcLct3NV4K7xyVr1l62Wmd9fK/kv4
VGftfeJbYrlI5xiohCrAiiNuo5G/iRZ4/M8Tdq882nysrLIqTvMAzgbND3g6
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
+GiEfz3ZO3rZfX+R9V90Dt5sjDq9jceP3p3vp69Ph2/fnGw8O0hv03cPX47e
ve2MLnY3b3qwpoP3B7eH7w9+bpSHe2/Kw/cXp4d7p08OT97B//dnRx93Hp+n
OM/+5OL88cart8/veg8vphc/nl3zz8Np73y0kXQ37y7OBz83pv2Hnbt3AId3
W2d3g10Y/3rzZff0YCO+Ptp7czaaXmzsP+yevnx+sTF68eZseHH08WX6bjQ9
enP+7MWbjaMPnc2jnxtHR3uj3Tenm3snp52zpH325M3Zy92Ljcfnb673b05O
j/LDk7NOb3Tx5N1Zf7P34+HHk7fD9ll7//DNePD67Prl83cbmz83djvXj28v
2gMYofPkzeljNcLRyenL4nT84f3h5sv26Vnn+cXpxcPDF6OjTvvsMcz4frDx
+J+dk87RWXv6c2PYmfRvk+vNductvPHj0cOT8XT/qL152h3vH3X2Oo86b6fP
T69fTk4AprCLozdbxYejs/3Z2WQ6PPt4Vrz7iDuCNZy+Of2g1vAe1vDjyeT5
dWfz7FFno/P8bENGON2EUZ93B+OXbzuT52mvPS3O378sknHn58ZBdzx8H1+/
jOHro87Gy8f908HJycmbx2/OB/udjaM9/fvbwX633b7tnu7vvhnDeq6Lm/ik
/7i3+fLnRt79eHYBGPXm4uPw7HTz4NGrh2cfD887b87OR3G3vbnR2ypPLl7s
v4LVj3ujwcc34zd5/+zl4dHmoHsxvhidbZU/Nx4D3qa9jem4e/6hGLx9+T4+
OdgcbD3O4tNn5282Bv+8eDvdPTrd3D1sD54fnp1dd0f7nbONzd3T08Hem4dH
cPr7PzfOOtcvH8Judi+2Bndwevvwe+fdRueg094/5tMcdl63AV/eD/fx7N5s
HGzA7k4Al9pno4NbgPzPjf3O28Gbo/bo+t3W5nlvvP/u5P3z973Ti8cn+8Mu
4sfp27P3h+MPxbvR4Bxu6uPD89H1m49nm+ej4cmbjeGsO/7wcyOGN55ctIc/
xT8eTQ9Pnsfn7Ue3J+PrzWS8//Zs0okBHk9O9gc/HbY/lEfnH65hja9gjZP+
+TCPr5+9OcUdteEsXgPc22+uL57Hpy8f9X7s7Mb70w+H7bOto9Pp4eHo+d3Z
xtFGcna4Fbc7F2cf9x+/2Xh6czre33w3eb53hLg77J52Jt3z4fOT/aOf3o0H
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
sVRJJlt1Z0XZDTJ7PBtwK2ZcnRSIoyrRRtBvKcZcDdnU4A+OEX+dSu3BvPOD
lP/rtSOUJDqvLc88pb15xSjt+cxq0x6SXtzz9K4XLgFISKVybybFZ2Bt9CCi
SGZcTzplz2nFC8/ZxKt0pEOHT1vQqgM1QdhVJGeemCIjVFdbdxksZpl2bS/L
Hs/OxItebSPdqILm8xxJD+JFczO4zZd3BBuabSA0VW8ajxEiMLsdJGpXn+F5
SbGREbpr/P0RJBBpDyRUtjlg/nGSWxabWh20IrfJGr2Uyj7ntsbrJEVSQwOU
dlxuVUjeoTnsbf1Czmx9dHCW8SnZAxqphUCLlVt8Gn3Kuip3jXFSRDJCGTIw
sM9CWXYUbWp5XXfmAQwWPQgLu5qBHpchgvifk2QHSDE9T1lh9ZG2FugL4358
iPfc4ymcbuhkmuwM7G14sA1rYCg+Wo9ktoNwMW3VGrh65YVDZKDFaDebBqkj
WYr75d30295zKtf1YnusB0UsbfdmZ3Xgau5NckgyzQZ4y4NIOkowIcBsL+5P
FunU0aJdiBGZe3tqQ5oGkEPm2/JH/0PG3NlosT9uRd40hsHkvo8Rabqda2aY
dW+Ytn1m8vYZYSOHAKUQFkaORJqIF55HcCI3KRvRBB9qigEHm/wFCTLoxxIV
A1TJltQd92wVQN2f9m87jIlwHgXSq/Ru6WZpD62ohjbx8n7sWh0IRjOSkGYG
/OC6nzum+m2NJ+wT1uVWEd8n2e4B86In3HBcZbeLWFoGUr700IpVOdmOJRAI
cTbZR/rtvVXY11ax3aEvcuLJDMKA0lIBQZmC9vpmbjy7Ersd5RKJsQ3IwZ6K
Itw1F0wZLaVXzzr/4v+5SsNyWTzPtov7JzaPxr1P1ucCUvbT/Fvva8ny7I49
OVasf0gGo+seQmL/NA2UcHvbOQSj+Lprf5ruPt99kBX/brS7ebxfzB8W5lac
P754h1dTC6xrc00lsCkEfp1/E+tplwd9f1Q0/NEbu05Vx3A9W81poeK0Zf77
1uxjCfL0qWol9tU3pUd60QBVvJvGxKv4RSn462oVH19FVdfExRb+aLXKkvgj
Xah1uZZVta2d2ghfvMLluHb2G4b5e9N6Gm7ezep9o82L9ZuNc8cuH9/zujzd
L31xpfTFp69++6Xu4y+/v2/vhF6uts0e9K+r9TZcNycq6HtnZwzeKsOemv5u
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
OT2Un26vJ5rlPuofhgd33ZtU6vWf1x/2DjTYXos72cON3192ur5vfNrfdbpx
Z1PtV3/uV/OHr3ef3zyIeDyD9jNnEf/iAOFPHUc8fbO5las+dUhH3+gYXH0M
8L14A+LlFT//3AvRvrs/7JWn/PVDfu4w3tWbZ+aawdbn5m7lm//9x+ZeOzH3
oxNy7fm4L+/+nZeita9E+/Lu33kpWvtKtC/vTi9FW3x7sg4jRdSslr1yVtQv
VZopchp61y9ee2Zs6az2hPMK6Zm05vHFZ9E2YDvZ6VfnLz77mdeefXn3Vy8+
+5nXnl0kr/SBq6rsIlGQznRdy0qysk5e7JZNXDoGwanOZJmSfCNee6Zxeu0Z
oP4vXnz249eeXapnOvdd7OrXdWW2/U+eqYfudZVKCWV7FLupPdMmBySQO5Pe
QeVGa96xRq4y2nKO1iXNjNUIWobfg1Y9hh6/Ngf+M6NXTgQW792FnqEEUsom
80q/lzUWFnE+U9NhApLqdHodqr35HctNPO2R5XbfVuW+U6vtTKzFaZM5nU3P
LSRx2Ma/nkhIAtNYDRoCyFQk9tfTTZtsSMnroLJMvmGefbD7t4/3+2rp9f/A
8407xNLoXk4rEItXap/x2MnoFWToSy8kVT5EWtlXhqvGfabmElO+Sf4in3p6
6rtLvoq4NbGyb2t/fmtO9rcFz3M1zFVlJl4cY1OtfMmdiQRdv1QPiZf2LTdl
HviGvyxH4371MNPTKZ8GDzPNUE050CJmZ76sdejFMf+6ziuqG2KRXM8vdB6Y
TT/MrLX3ts77Z15uoQpO+O++3IJe40Avt6C3A9LbAh9E2OS2YaqyPpMpUEV5
R6OwgjOM8fPWFVuo7Rub7QAF1bFETBwZhD5DmOR2W9ITYWar/KIPzB11E+gc
e9pDCFptsRVwEytx+7KK5hv23JRKwFAQxoU9haiHxsqXVK6dFYZ4XUbCDBNc
n46usAnHiPpgcMcioVO/qe/4M725D4x3MGGaOzkEc4Bab+bxncmDjlXkdpQb
hzEdYdp6ebS29BFgLu4GujyNDsYQFtV5J56HSA9m0TU89dvB7WgjRw7k8dDc
s2VQwoXHIdzKofeT9R01lSaFXdoZD71lMLeU22viyn/xtsDzQsiXd6++A8Zx
7YnnGdfx0DqAXe7R0jX4oJTk/JmB6bGO1Q3U7QGqElboIsRj3RqPPeg6LZ3U
uikw/IX1fCcFD6ZkMKQg015aqZOXDmY2szrlQzy1ntBqdC+DxyqYI81RjANC
vuQIk6mDVOTtlpTUbA5e7Przr5PXaJnk9rr5+kO0kRePWag8W7NJ0Zn1fO/r
vRH/cYj53WjFu51kpfjfnJG7vLvzv7xzn4cm20rb3e023j9ZfGGtPn+732+s
0Tf1OY/yqvf2+yGObKxmL6/Tse+o1JHj/EtM7H1Nj+abzVMSH6lLfU/K6R6x
E186XUTw/34K9/ZrD84pXEeS/v9A4Rgz5s7U3FmucQAqP/ND7CRcMz3Veg4O
f0Xhskq8wQwUzrwxDxEonP9kHr7t/0Ph/kPh/kPh/kPh/kPh/kPh/lspXDzM
t5TUTilSfow75jpcWpSaXiu9fXn3Gstz0kfvjyfNzp4+T0eHxee0dz1b5aa5
jCP/k+4/du5mq9vr/bNeLfrhTp12hjDNDQbBXNX4M3vKJ7L+abAM2fX82+Ah
ZnoV8dv7bPvLP97/1Bqb/Sgq+N5l4Hpa1jELY+5lbwZunVt+NrOQg76dW97I
LFpeZ7fje9kRLGdvZtfjQ++mDlTaGgMHzJiE/HhHL3SxhqmWZJrTZtyZJA9o
2wqjhW+PtjpbHnKsJF8DCnquerbwnQXjSLeHfJoO4bDTtgUXrZqaofh5rCNM
v7zbOMXu/H3itKG/fs3dMm95AngEP+cNcGg+mrg9Y4KQRH++vFMcemle/d72
797aTq+ciw5axjReellqxfrtmin2zpEjOSi600gysruORm9dHcRTVgRFwON1
4sW5X9zeBVm+AVjsfSXbW9P4KdQBdpk1DAtwlgVvt5/Ur+Sjt4Bbk1yrX8p3
eiVfX2QtzJGNn2mtjd6G6krtcnUq8qZde0Xfohp4B5m7Wdsy+mi4wwa2EehW
xYtuSut9viLrCdv5NcvRZPG2bd2Y8iVfIHeXgWp+eSfTu2KZZI1m2fHt+PW7
8V11K967rHZLawpPkwMJsCUn2W7qLHrmzOWb4GxLzMuXBeZUn9epPp/ou2xS
pGFE75Vd8Dt3YEyiPB4guF2rSFWPR7uEweseMA+OP+XzSDXBsDQDud8IweeY
VM4DafcUKOncR+yYur1A0uO8AHiIN7f38G/ZSWi7aGhq1sYsvkmJmvuY+38F
SOAvb1TxrevVlF//wW+eis3QvMvS2HEKw9cqPrsJvy0GHeVpWo5yfXfzyNVP
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
ZusaZ2crJD2igxHtMWjS+P8NoszLDfdbAgA=

-->

</rfc>

