<?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.7.7 (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-12" 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="2024"/>

    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    

    <abstract>


<?line 131?>

<t>This document defines enhancements to Bootstrapping a Remote Secure Key Infrastructure (BRSKI, 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>


<?line 139?>

<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 domain, which may be associated to a specific installation location.
This includes the discovery of the BRSKI registrar in the customer domain and the exchange of security information necessary to establish trust between a pledge and the domain.</t>

<t>Security information about the customer domain, specifically the customer 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 Authorized Signing Authority (MASA).
The MASA issues the voucher and provides it via the domain registrar to the pledge.
<xref target="I-D.ietf-anima-rfc8366bis"/> specifies the format of the voucher artifacts including the voucher-request.</t>

<t>For the certificate enrollment of devices, BRSKI relies on EST <xref target="RFC7030"/> to request and distribute customer domain specific device certificates.
EST in turn relies for the 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 externally and at a specific time to generate bootstrapping requests in the customer 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 domain registrar itself.
BRSKI-PRM supports the identification of the Registrar-Agent that was performing the bootstrapping allowing for accountability of the pledges installation, when the Registrar-Agent is a component used by an installer and not co-located with the domain registrar.</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 that is in responder mode.
Here, TLS with server-side, certificate-based authentication is only optionally supported.
If TLS is optionally used between the Registrar-Agent and the pledge, the Registrar-Agent needs to identify the pledge based on its product-serial-number rather than the hostname, as the latter is not set in an IDevID certificate.</t>

<t>BRSKI-PRM is designed to rely on object security to support also for alternative transports for which TLS may not be available, e.g., Bluetooth or NFC.
This is achieved through an additional signature wrapping of the exchanged data objects involving the Registrar-Agent for transport.</t>

<t>To utilize EST <xref target="RFC7030"/> for enrollment, the domain registrar performs pre-processing of the wrapping signature before actually using EST as defined in <xref target="RFC7030"/>.</t>

<t>There may be pledges that 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>

<?line -18?>

<t>This document relies on the terminology defined in <xref section="1.2" sectionFormat="of" target="RFC8995"/>.
The following terms are defined in addition:</t>

<dl>
  <dt>authenticated self-contained object:</dt>
  <dd>
    <t>Describes an object, which is cryptographically bound to the end entity (EE) certificate.
The binding is assumed to be provided through a digital signature of the actual object using the corresponding private key of the 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, as defined in <xref target="RFC9483"/>.
Typically a device or service that owns a public-private key pair for which it manages a public key certificate.</t>
  </dd>
  <dt>EE certificate:</dt>
  <dd>
    <t>Either IDevID certificate or LDevID certificate of the EE.</t>
  </dd>
  <dt>endpoint:</dt>
  <dd>
    <t>Term equivalent to resource in HTTP <xref target="RFC9110"/> and CoAP <xref target="RFC7252"/>.
Endpoints are accessible via Well-Known URIs <xref target="RFC8615"/>.</t>
  </dd>
  <dt>mTLS:</dt>
  <dd>
    <t>mutual Transport Layer Security.</t>
  </dd>
  <dt>PER:</dt>
  <dd>
    <t>Pledge Enroll-Request is a signature wrapped CSR, signed by the pledge that requests enrollment to a domain.</t>
  </dd>
  <dt>POI:</dt>
  <dd>
    <t>Proof-of-Identity, as defined in <xref target="RFC5272"/>.</t>
  </dd>
  <dt>POP:</dt>
  <dd>
    <t>Proof-of-Possession (of a private key), 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 Enroll-Request is the CSR of a PER sent to the CA by the domain registrar (in its role as PKI 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 uses the following encoding notations in the given JWS-signed artifact examples:</t>

<dl>
  <dt>BASE64URL(OCTETS):</dt>
  <dd>
    <t>Denotes the base64url encoding of OCTETS, per <xref section="2" sectionFormat="of" target="RFC7515"/>.</t>
  </dd>
  <dt>UTF8(STRING):</dt>
  <dd>
    <t>Denotes the octets of the UTF-8 <xref target="RFC3629"/> representation of STRING, per <xref section="1" sectionFormat="of" target="RFC7515"/>.</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>

</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 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 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 domain does not offer enough physical 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 ability 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 security of communication between the Registrar-Agent and the pledge must not rely on Transport Layer Security (TLS) to enable application of BRSKI-PRM in environments, in which the communication between the Registrar-Agent and the pledge is done over other technologies like BTLE or NFC, which may not support TLS protected communication.
In addition, the pledge does not have a certificate that can easily be verified by <xref target="RFC9525"/> methods.</t>
  <t>The use of authenticated self-contained objects addresses 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 {#agt_prx} 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 Enroll-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 Vouchers 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>Enroll-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>Architecture</name>

<section anchor="overview"><name>Overview</name>

<t>For BRSKI with Pledge in Responder Mode (BRSKI-PRM), 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 usually based on JSON Web Signature (JWS) <xref target="RFC7515"/> and further specified in <xref target="exchanges_uc2"/> to address the requirements stated in <xref target="req-sol"/> above.
In constrained environments, it may be based on COSE <xref target="RFC9052"/>.</t>

<t>An abstract overview of the BRSKI-PRM protocol can be found on slide 8 of <xref target="BRSKI-PRM-abstract"/>.</t>

<t>To support mutual trust establishment between the domain registrar and pledges not directly connected to the customer domain, this document specifies the exchange of authenticated self-contained objects 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"/>.</t>

<t>Note that the Join Proxy is not shown in the figure.
In certain situations the Join Proxy may still be present and could be used by the Registrar-Agent to connect to the Registrar.
For example, a Registrar-Agent application on a smartphone often can connect to local Wi-Fi without giving up their cellular network connection <xref target="androidnsd"/>, but only can make link-local connections.</t>

<t>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="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="456" viewBox="0 0 456 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,240 L 8,384" 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,416" 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,416" 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 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,416 L 424,416" 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)"/>
<g class="text">
<text x="56" y="52">.....</text>
<text x="100" y="52">Drop</text>
<text x="140" y="52">Ship</text>
<text x="184" y="52">.....</text>
<text x="244" y="52">Vendor</text>
<text x="308" y="52">Services</text>
<text x="40" y="68">:</text>
<text x="40" y="84">:</text>
<text x="224" y="84">M</text>
<text x="280" y="84">anufacturer</text>
<text x="40" y="100">:</text>
<text x="224" y="100">A</text>
<text x="272" y="100">uthorized</text>
<text x="384" y="100">Ownership</text>
<text x="40" y="116">:</text>
<text x="224" y="116">S</text>
<text x="260" y="116">igning</text>
<text x="376" y="116">Tracker</text>
<text x="40" y="132">:</text>
<text x="224" y="132">A</text>
<text x="268" y="132">uthority</text>
<text x="40" y="148">:</text>
<text x="40" y="164">:</text>
<text x="40" y="180">:</text>
<text x="412" y="180">BRSKI-</text>
<text x="40" y="196">:</text>
<text x="404" y="196">MASA</text>
<text x="40" y="212">:</text>
<text x="248" y="212">...............................</text>
<text x="416" y="212">.........</text>
<text x="40" y="228">V</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">PRM</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="196" y="324">EE</text>
<text x="228" y="324">cert</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="336" y="404">CA)</text>
<text x="448" y="404">.</text>
<text x="128" y="420">.</text>
<text x="448" y="420">.</text>
<text x="288" y="436">.........................................</text>
<text x="260" y="452">Customer</text>
<text x="324" y="452">Domain</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
                         +---------------------------+
    ..... Drop Ship .....| Vendor Services           |
    :                    +---------------+-----------+
    :                    | M anufacturer |           |
    :                    | A uthorized   | Ownership |
    :                    | S igning      | Tracker   |
    :                    | A uthority    |           |
    :                    +---------------+-----------+
    :                                         ^
    :                                         | BRSKI-
    :                                         | MASA
    :          ...............................|.........
    V          .                              v        .
+--------+     .  +------------+        +-----------+  .
|        |     .  |            |        |           |  .
| Pledge | BRSKI- | Registrar- | BRSKI- | Domain    |  .
|        |  PRM   | Agent      |  PRM   | Registrar |  .
|        |<------>|            |<------>| (PKI RA)  |  .
|        |     .  |    EE cert |        |           |  .
|        |     .  +------------+        +-----+-----+  .
| IDevID |     .                              |        .
|        |     .           +------------------+-----+  .
+--------+     .           | Key Infrastructure     |  .
               .           | (e.g., PKI CA)         |  .
               .           +------------------------+  .
               .........................................
                            Customer Domain
]]></artwork></artset></figure>

<t><xref target="uc2figure"/> shows the relations between the following main components:</t>

<t><list style="symbols">
  <t>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.
Any other protocols (including HTTPS) can be used as long as they support the exchange of the necessary data objects.
This includes CoAP or protocol to be used over Bluetooth or NFC connections
A pledge acting as a server during bootstrapping leads to the following differences compared to BRSKI:  <list style="symbols">
      <t>The pledge is discovered by the Registrar-Agent as defined in {#discovery_uc2_ppa}.</t>
      <t>The pledge offers additional endpoints as defined in <xref target="pledge_ep"/>, so that the Registrar-Agent can request data required for bootstrapping the pledge.</t>
      <t>The pledge includes additional data in the PVR, which is provided by the Registrar-Agent in the voucher-request trigger as defined in <xref target="tpvr"/>.
This allows the registrar to identify, with which Registrar-Agent the pledge was in contact.</t>
      <t>The order of exchanges in the BRSKI-PRM call flow is different from those in BRSKI <xref target="RFC8995"/>, as the PVR and PER are collected simultaneously 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 store and forward communication path to exchange data objects between the pledge and the domain registrar.
The Registrar-Agent acts as a broker 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.  <list style="symbols">
      <t>The Registrar-Agent triggers one or more pledges to create bootstrapping artifacts such as the voucher-request and the Enroll-Request.
It can then perform a (bulk) bootstrapping based on the collected data.</t>
      <t>The Registrar-Agent is expected to possess information about the domain registrar: the registrar EE certificate, LDevID(CA) certificate, and IP address, either by configuration or by using the discovery mechanism defined in <xref target="RFC8995"/>.</t>
      <t>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 domain registrar.</t>
      <t>The trust assumption between the Registrar-Agent and the domain registrar may be based on an LDevID, which is provided by the PKI responsible for the customer domain.</t>
      <t>The Registrar-Agent may be realized as stand-alone component supporting nomadic activities of a service technician moving between different installation sites.</t>
      <t>Alternatively, the Registrar-Agent may also be realized as co-located functionality for a registrar, to support pledges in responder mode.</t>
    </list></t>
  <t>Join Proxy (not shown): Has the 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 fulfills the same functionality regarding the bootstrapping of the pledge in a customer domain by facilitating the communication of the pledge with the MASA service and the domain key infrastructure (PKI).
In contrast to <xref target="RFC8995"/>, a BRSKI-PRM domain registrar does not interact with a pledge directly, but through the Registrar-Agent.</t>
  <t>Vendor Services: Encompass MASA and Ownership Tracker and are used as defined in <xref target="RFC8995"/>.
A MASA is able to support enrollment via Registrar-Agent without changes unless it checks the vouchers proximity indication, in which case it would need to be enhanced to support BRSKI-PRM to also accept the Agent-Proximity Assertion {#agt_prx}.</t>
</list></t>

</section>
<section anchor="arch_nomadic"><name>Nomadic Connectivity</name>

<t>In one example instance of the PRM architecture as shown in <xref target="uc3figure"/>, there is no connectivity between the location in which the pledge is installed and the location of the domain registrar.
This is often the case in the aforementioned building automation use case (<xref target="building-automation"/>).</t>

<figure title="Registrar-Agent nomadic connectivity example" anchor="uc3figure"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="456" viewBox="0 0 456 496" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 24,128 L 24,176" fill="none" stroke="black"/>
<path d="M 96,128 L 96,176" fill="none" stroke="black"/>
<path d="M 208,32 L 208,64" fill="none" stroke="black"/>
<path d="M 224,400 L 224,448" fill="none" stroke="black"/>
<path d="M 328,320 L 328,368" fill="none" stroke="black"/>
<path d="M 376,72 L 376,312" fill="none" stroke="black"/>
<path d="M 376,368 L 376,400" fill="none" stroke="black"/>
<path d="M 424,320 L 424,368" fill="none" stroke="black"/>
<path d="M 424,400 L 424,448" fill="none" stroke="black"/>
<path d="M 432,32 L 432,64" fill="none" stroke="black"/>
<path d="M 208,32 L 432,32" fill="none" stroke="black"/>
<path d="M 208,64 L 432,64" fill="none" stroke="black"/>
<path d="M 24,128 L 96,128" fill="none" stroke="black"/>
<path d="M 104,160 L 184,160" fill="none" stroke="black"/>
<path d="M 24,176 L 96,176" fill="none" stroke="black"/>
<path d="M 328,320 L 424,320" fill="none" stroke="black"/>
<path d="M 272,352 L 320,352" fill="none" stroke="black"/>
<path d="M 328,368 L 424,368" fill="none" stroke="black"/>
<path d="M 224,400 L 424,400" fill="none" stroke="black"/>
<path d="M 224,448 L 424,448" fill="none" stroke="black"/>
<polygon class="arrowhead" points="384,312 372,306.4 372,317.6" fill="black" transform="rotate(90,376,312)"/>
<polygon class="arrowhead" points="384,72 372,66.4 372,77.6" fill="black" transform="rotate(270,376,72)"/>
<polygon class="arrowhead" points="328,352 316,346.4 316,357.6" fill="black" transform="rotate(0,320,352)"/>
<polygon class="arrowhead" points="280,352 268,346.4 268,357.6" fill="black" transform="rotate(180,272,352)"/>
<polygon class="arrowhead" points="192,160 180,154.4 180,165.6" fill="black" transform="rotate(0,184,160)"/>
<polygon class="arrowhead" points="112,160 100,154.4 100,165.6" fill="black" transform="rotate(180,104,160)"/>
<g class="text">
<text x="56" y="52">.....</text>
<text x="100" y="52">Drop</text>
<text x="140" y="52">Ship</text>
<text x="184" y="52">.....</text>
<text x="244" y="52">Vendor</text>
<text x="308" y="52">Services</text>
<text x="40" y="68">:</text>
<text x="40" y="84">:</text>
<text x="164" y="100">........................................</text>
<text x="8" y="116">.</text>
<text x="40" y="116">v</text>
<text x="320" y="116">.</text>
<text x="8" y="132">.</text>
<text x="248" y="132">.-.-.-.-.-.-.-.</text>
<text x="320" y="132">.</text>
<text x="8" y="148">.</text>
<text x="192" y="148">:</text>
<text x="244" y="148">Registrar-</text>
<text x="304" y="148">:</text>
<text x="320" y="148">.</text>
<text x="8" y="164">.</text>
<text x="60" y="164">Pledge</text>
<text x="192" y="164">:</text>
<text x="224" y="164">Agent</text>
<text x="304" y="164">:</text>
<text x="320" y="164">.</text>
<text x="8" y="180">.</text>
<text x="116" y="180">L2</text>
<text x="140" y="180">or</text>
<text x="164" y="180">L3</text>
<text x="248" y="180">:-.-.-.-.-.-.-:</text>
<text x="320" y="180">.</text>
<text x="8" y="196">.</text>
<text x="140" y="196">connectivity</text>
<text x="216" y="196">^</text>
<text x="320" y="196">.</text>
<text x="164" y="212">..........................!.............</text>
<text x="52" y="228">Pledge</text>
<text x="132" y="228">Installation</text>
<text x="216" y="228">!</text>
<text x="60" y="244">Location</text>
<text x="216" y="244">!</text>
<text x="256" y="244">Nomadic</text>
<text x="216" y="260">!</text>
<text x="276" y="260">connectivity</text>
<text x="216" y="276">!</text>
<text x="248" y="292">...........!...................</text>
<text x="416" y="292">.........</text>
<text x="128" y="308">.</text>
<text x="216" y="308">v</text>
<text x="448" y="308">.</text>
<text x="128" y="324">.</text>
<text x="208" y="324">.-.-.-.-.-.-.-.</text>
<text x="448" y="324">.</text>
<text x="128" y="340">.</text>
<text x="152" y="340">:</text>
<text x="204" y="340">Registrar-</text>
<text x="264" y="340">:</text>
<text x="364" y="340">Domain</text>
<text x="448" y="340">.</text>
<text x="128" y="356">.</text>
<text x="152" y="356">:</text>
<text x="184" y="356">Agent</text>
<text x="264" y="356">:</text>
<text x="376" y="356">Registrar</text>
<text x="448" y="356">.</text>
<text x="128" y="372">.</text>
<text x="208" y="372">:-.-.-.-.-.-.-:</text>
<text x="448" y="372">.</text>
<text x="128" y="388">.</text>
<text x="448" y="388">.</text>
<text x="128" y="404">.</text>
<text x="448" y="404">.</text>
<text x="128" y="420">.</text>
<text x="248" y="420">Key</text>
<text x="324" y="420">Infrastructure</text>
<text x="448" y="420">.</text>
<text x="128" y="436">.</text>
<text x="260" y="436">(e.g.,</text>
<text x="304" y="436">PKI</text>
<text x="336" y="436">CA)</text>
<text x="448" y="436">.</text>
<text x="128" y="452">.</text>
<text x="448" y="452">.</text>
<text x="288" y="468">.........................................</text>
<text x="260" y="484">Customer</text>
<text x="324" y="484">Domain</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
                         +---------------------------+
    ..... Drop Ship .....| Vendor Services           |
    :                    +---------------------------+
    :                                         ^
........................................      |
.   v                                  .      |
. +--------+           .-.-.-.-.-.-.-. .      |
. |        |           : Registrar-  : .      |
. | Pledge |<--------->: Agent       : .      |
. +--------+ L2 or L3  :-.-.-.-.-.-.-: .      |
.          connectivity   ^            .      |
..........................!.............      |
   Pledge Installation    !                   |
   Location               ! Nomadic           |
                          ! connectivity      |
                          !                   |
               ...........!...................|.........
               .          v                   v        .
               .  .-.-.-.-.-.-.-.       +-----------+  .
               .  : Registrar-  :       | Domain    |  .
               .  : Agent       :<----->| Registrar |  .
               .  :-.-.-.-.-.-.-:       +-----+-----+  .
               .                              |        .
               .           +------------------+-----+  .
               .           | Key Infrastructure     |  .
               .           | (e.g., PKI CA)         |  .
               .           +------------------------+  .
               .........................................
                            Customer Domain
]]></artwork></artset></figure>

<t>PRM enables support of this case through nomadic connectivity of the Registrar-Agent.
To perform enrollment in this setup, multiple round trips of the Registrar-Agent between the pledge installation location and the domain registrar are required.</t>

<t><list style="numbers">
  <t>Connectivity to domain registrar: preparation tasks for pledge bootstrapping not part of the BRSKI-PRM protocol definition, like retrieval of list of pledges to enroll.</t>
  <t>Connectivity to pledge installation location: retrieve information about available pledges (IDevID), collect request objects (i.e., Pledge Voucher-Requests and Pledge Enroll-Requests using the BRSKI-PRM approach described in <xref target="tpvr"/> and <xref target="tper"/>.</t>
  <t>Connectivity to domain registrar, submit collected request information of pledges, retrieve response objects (i.e., Voucher and Enroll-Response) using the BRSKI-PRM approach described in <xref target="pvr"/> and <xref target="per"/>.</t>
  <t>Connectivity to pledge installation location, provide retrieved objects to the pledges to enroll pledges and collect status using the BRSKI-PRM approach described in <xref target="voucher"/>, <xref target="cacerts"/>, and <xref target="enroll_response"/>.</t>
  <t>Connectivity to domain registrar, submit Voucher Status and Enrollment Status using the BRSKI-PRM approach described in <xref target="vstatus"/> and <xref target="estatus"/>.</t>
</list></t>

<t>Variations of this setup include cases where the Registrar-Agent uses for example WiFi to connect to the pledge installation network, and mobile network connectivity to connect to the domain registrar.
Both connections may also be possible in a single location at the same time, based on installation building conditions.</t>

</section>
<section anchor="co-located-registrar-agent-and-domain-registrar"><name>Co-located Registrar-Agent and Domain Registrar</name>

<t>Compared to <xref target="RFC8995"/> BRSKI, pledges supporting BRSKI-PRM can be completely passive and only need to react when being requested to react by a Registrar-Agent.
In <xref target="RFC8995"/>, pledges instead need to continuously request enrollment from a domain registrar, which may result in undesirable communications pattern and possible overload of a domain registrar.</t>

<figure title="Registrar-Agent integrated into Domain Registrar example" anchor="uc4figure"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="472" viewBox="0 0 472 352" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,160 L 8,208" fill="none" stroke="black"/>
<path d="M 80,160 L 80,208" fill="none" stroke="black"/>
<path d="M 200,32 L 200,64" fill="none" stroke="black"/>
<path d="M 208,144 L 208,224" fill="none" stroke="black"/>
<path d="M 216,256 L 216,288" fill="none" stroke="black"/>
<path d="M 368,72 L 368,136" fill="none" stroke="black"/>
<path d="M 368,224 L 368,256" fill="none" stroke="black"/>
<path d="M 416,144 L 416,224" fill="none" stroke="black"/>
<path d="M 416,256 L 416,288" fill="none" stroke="black"/>
<path d="M 424,32 L 424,64" fill="none" stroke="black"/>
<path d="M 200,32 L 424,32" fill="none" stroke="black"/>
<path d="M 200,64 L 424,64" fill="none" stroke="black"/>
<path d="M 208,144 L 416,144" fill="none" stroke="black"/>
<path d="M 8,160 L 80,160" fill="none" stroke="black"/>
<path d="M 88,192 L 200,192" fill="none" stroke="black"/>
<path d="M 8,208 L 80,208" fill="none" stroke="black"/>
<path d="M 208,224 L 416,224" fill="none" stroke="black"/>
<path d="M 216,256 L 416,256" fill="none" stroke="black"/>
<path d="M 216,288 L 416,288" fill="none" stroke="black"/>
<polygon class="arrowhead" points="376,136 364,130.4 364,141.6" fill="black" transform="rotate(90,368,136)"/>
<polygon class="arrowhead" points="376,72 364,66.4 364,77.6" fill="black" transform="rotate(270,368,72)"/>
<polygon class="arrowhead" points="208,192 196,186.4 196,197.6" fill="black" transform="rotate(0,200,192)"/>
<polygon class="arrowhead" points="96,192 84,186.4 84,197.6" fill="black" transform="rotate(180,88,192)"/>
<g class="text">
<text x="48" y="52">.....</text>
<text x="92" y="52">Drop</text>
<text x="132" y="52">Ship</text>
<text x="176" y="52">.....</text>
<text x="236" y="52">Vendor</text>
<text x="296" y="52">Service</text>
<text x="32" y="68">:</text>
<text x="32" y="84">:</text>
<text x="32" y="100">:</text>
<text x="32" y="116">:</text>
<text x="240" y="116">...............................</text>
<text x="408" y="116">.........</text>
<text x="32" y="132">:</text>
<text x="120" y="132">.</text>
<text x="440" y="132">.</text>
<text x="32" y="148">v</text>
<text x="120" y="148">.</text>
<text x="440" y="148">.</text>
<text x="120" y="164">.</text>
<text x="268" y="164">..............</text>
<text x="440" y="164">.</text>
<text x="120" y="180">.</text>
<text x="216" y="180">.</text>
<text x="268" y="180">Registrar-</text>
<text x="320" y="180">.</text>
<text x="356" y="180">Domain</text>
<text x="440" y="180">.</text>
<text x="44" y="196">Pledge</text>
<text x="216" y="196">.</text>
<text x="248" y="196">Agent</text>
<text x="320" y="196">.</text>
<text x="368" y="196">Registrar</text>
<text x="440" y="196">.</text>
<text x="100" y="212">L2</text>
<text x="124" y="212">or</text>
<text x="148" y="212">L3</text>
<text x="268" y="212">..............</text>
<text x="440" y="212">.</text>
<text x="140" y="228">connectivity</text>
<text x="440" y="228">.</text>
<text x="120" y="244">.</text>
<text x="440" y="244">.</text>
<text x="120" y="260">.</text>
<text x="440" y="260">.</text>
<text x="120" y="276">.</text>
<text x="240" y="276">Key</text>
<text x="316" y="276">Infrastructure</text>
<text x="440" y="276">.</text>
<text x="120" y="292">.</text>
<text x="440" y="292">.</text>
<text x="280" y="308">.........................................</text>
<text x="252" y="324">Customer</text>
<text x="316" y="324">Domain</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
                         +---------------------------+
    ..... Drop Ship .....| Vendor Service            |
    :                    +---------------------------+
    :                                         ^
    :                                         |
    :          ...............................|.........
    :          .                              v        .
    v          .          +-------------------------+  .
 +--------+    .          |..............           |  .   
 |        |    .          |. Registrar- . Domain    |  .
 | Pledge |<------------->|. Agent      . Registrar |  .
 +--------+ L2 or L3      |..............           |  .   
            connectivity  +-------------------+-----+  .
               .                              |        .
               .           +------------------+-----+  .
               .           | Key Infrastructure     |  .
               .           +------------------------+  .
               .........................................
                            Customer Domain
]]></artwork></artset></figure>

<t>The benefits of BRSKI-PRM can be achieved even without the operational complexity of standalone Registrar-Agents by integrating the necessary functionality of the Registrar-Agent as a module into the domain registrar as shown in <xref target="uc4figure"/> so that it can support the BRSKI-PRM communications to the pledge.</t>

</section>
<section anchor="agt_prx"><name>Agent-Proximity Assertion</name>

<t>"Agent-proximity" is a statement in the PVR and in the voucher, that the 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 different assertion than "proximity", which is defined in <xref section="4" sectionFormat="of" target="RFC8366"/>.
Agent-proximity is defined as additional assertion type in <xref target="I-D.ietf-anima-rfc8366bis"/>.
This assertion can be verified by the registrar and also by the MASA during the voucher-request processing.</t>

<t>In BRSKI, the pledge verifies POP of the registrar via the TLS handshake and pins that public key as the "proximity-registrar-cert" into the voucher request.
This allows the MASA to verify the proximity of the pledge and registrar, facilitating a decision to assign the pledge to that domain owner.
In BRSKI, the TLS connection is considered provisional until the pledge receives the voucher.</t>

<t>In contrast, in BRSKI-PRM, the pledge has no direct connection to the registrar and <bcp14>MUST</bcp14> accept the registrar certificate provisionally until it receives the voucher as described in <xref target="voucher"/>.
In a similar fashion, the pledge <bcp14>MUST</bcp14> accept the Registrar-Agent EE certificate provisionally.
See also <xref section="5" sectionFormat="of" target="RFC8995"/> on "provisional state".</t>

<t>For agent-proximity, the EE certificate of the Registrar-Agent <bcp14>MUST</bcp14> be an LDevID certificate signed by the domain owner.
Akin to the proximity assertion in the BRSKI case, the agent-proximity provides pledge proximity evidence to the MASA.
But additionally, agent-proximity allows the domain registrar to be sure that the PVR collected by the Registrar-Agent was in fact collected by the Registrar-Agent, to which the registrar is connected to.</t>

<t>The provisioning of the Registrar-Agent LDevID certificate 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>

</section>
</section>
<section anchor="system-components"><name>System Components</name>

<section anchor="domain-registrar"><name>Domain Registrar</name>

<t>In BRSKI-PRM, the domain registrar provides the endpoints already specified in <xref target="RFC8995"/> (derived from EST <xref target="RFC7030"/>) where suitable.
In addition, it <bcp14>MUST</bcp14> provide the endpoints defined in <xref target="registrar_ep_table"/> within the BRSKI-defined "/.well-known/brski/" URI path.
These endpoints accommodate for the signature-wrapped objects used by BRSKI-PRM for the Pledge Enroll-Request (PER) and the provisioning of CA certificates.</t>

<texttable title="Additional Well-Known Endpoints on a BRSKI-PRM Registrar" anchor="registrar_ep_table">
      <ttcol align='left'>Endpoint</ttcol>
      <ttcol align='left'>Operation</ttcol>
      <ttcol align='left'>Exchange and Artifacts</ttcol>
      <c>requestenroll</c>
      <c>Supply PER to Registrar</c>
      <c><xref target="per"/></c>
      <c>wrappedcacerts</c>
      <c>Request CA Certificates</c>
      <c><xref target="req_cacerts"/></c>
</texttable>

<t>According to <xref section="5.3" sectionFormat="of" target="RFC8995"/>, the domain registrar performs the pledge authorization for bootstrapping within his domain based on the Pledge Voucher-Request.
This behavior is retained in BRSKI-PRM.</t>

<t>The domain registrar <bcp14>MUST</bcp14> possess and trust the IDevID (root or issuing) CA certificate 
of the pledge vendor/manufacturer.</t>

<t>Further, the domain registrar <bcp14>MUST</bcp14> have its own EE credentials.</t>

<section anchor="domain-registrar-with-combined-functionality"><name>Domain Registrar with Combined Functionality</name>

<t>A registrar with combined BRSKI and BRSKI-PRM functionality <bcp14>MAY</bcp14> detect if the bootstrapping is performed by the pledge directly (BRSKI case) or by a Registrar-Agent (BRSKI-PRM case) based on the utilized credential for client authentication during the TLS session establishment and switch switch the operational mode from BRSKI to BRSKI-PRM.</t>

<t>This may be supported by a specific naming in the SAN (subject alternative name) component of the EE certificate of the Registrar-Agent.</t>

<t>Alternatively, this may be supported by using an LDevID certificate signed by the domain owner for the client authentication of the Registrar-Agent.
Using an LDevID certificate also allows the registrar to verify that a Registrar-Agent is authorized to perform the bootstrapping of a pledge.
See also agent-proximity assertion in <xref target="agt_prx"/>.</t>

<t>Using an LDevID certificate for TLS client authentication of the Registrar-Agent is a deviation from <xref target="RFC8995"/>, in which the IDevID credential of the pledge is used to perform TLS client authentication.</t>

</section>
</section>
<section anchor="registrar-agent"><name>Registrar-Agent</name>

<t>The Registrar-Agent is a new component in BRSKI-PRM that provides a secure message passing service between pledges in responder mode and the domain registrar.</t>

<t>It requires the EE certificate of the domain registrar for TLS server authentication when establishing a TLS session with the domain registrar and to provide the registrar EE certificate to the pledge for creating the Pledge Voucher-Request (PVR).</t>

<t>The Registrar-Agent uses its own EE certificate for TLS client authentication when establishing a TLS session with the domain registrar and for signing agent-signed data.
This EE 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="tpvr"/>.</t>

<t>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"/> has a similar requirement.
In BRSKI-PRM, the SKID is used in favor of providing the complete EE certificate of the Registrar-Agent to accommodate also constrained environments and reduce bandwidth needed for communication with the pledge.
In addition, it follows the recommendation from BRSKI to use SKID in favor of a certificate fingerprint to avoid additional computations.</t>

<t>In addition to the EE certificates, 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 DNS-SD with mDNS (see <xref target="discovery_uc2_ppa"/>).
The list may be provided by prior 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, where the product serial number would be initialized from the 12N B005 Product Serial Number.</t>

<t>In summary, the following information <bcp14>MUST</bcp14> be available at the Registrar-Agent before interaction with a pledge:</t>

<t><list style="symbols">
  <t>Domain registrar EE certificate: certificate of the domain registrar to be provided to the pledge.</t>
  <t>Registrar-Agent EE certificate and corresponding private key: own operational key pair to sign agent-signed-data.</t>
  <t>Serial number(s): product serial number(s) of pledge(s) to be bootstrapped for discovery.</t>
</list></t>

<t>Further, the Registrar-Agent <bcp14>SHOULD</bcp14> have synchronized time.</t>

<t>Finally, the Registrar-Agent <bcp14>MAY</bcp14> possess the IDevID (root or issuing) CA certificate of the pledge vendor/manufacturer to validate the IDevID certificate on returned PVR or in case of TLS usage for pledge communication.
The distribution of IDevID CA certificates to the Registrar-Agent is out of scope of this document and may be done by a manual configuration.</t>

<section anchor="discovery_uc2_reg"><name>Discovery of the Registrar</name>

<t>As a Registrar-Agent acts as representative of the domain registrar towards the pledge or may even be collocated with the domain registrar, a separate discovery of the registrar is likely not needed as Registrar-Agent and registrar are domain components and have a trust relation.
Moreover, other communication (not part of this document) between the Registrar-Agent and the registrar is assumed, e.g., to exchange information about product-serial-number(s) of pledges to be discovered as outlined in <xref target="arch_nomadic"/>.
Moreover, as the standard discovery described in <xref section="4" sectionFormat="of" target="RFC8995"/> and the <xref section="A.2" sectionFormat="of" target="RFC8995"/> does not support  of registrars with an enhanced feature set (like the support of BRSKI-PRM), this standard discovery is not applicable.</t>

<t>As a more general solution, the BRSKI discovery mechanism can be extended to provide upfront information on the capabilities of registrars, such as the mode of operation (pledge-responder-mode or registrar-responder-mode).
Defining discovery extensions is out of scope of this document.
This may be provided in <xref target="I-D.eckert-anima-brski-discovery"/>.</t>

</section>
<section anchor="discovery_uc2_ppa"><name>Discovery of the Pledge</name>

<t>The discovery of the pledge by Registrar-Agent in the context of this document describes the minimum discovery approach to be supported.
A more general discovery mechanism, also supporting GRASP besides DNS-SD with mDNS may be provided in <xref target="I-D.eckert-anima-brski-discovery"/>.</t>

<t>Discovery in BRSKI-PRM uses DNS-based Service Discovery <xref target="RFC6763"/> over Multicast DNS <xref target="RFC6762"/> to discover the pledge.
Note that <xref target="RFC6762"/> Section 9 provides support for conflict resolution in situations when an DNS-SD with mDNS responder receives a mDNS response with inconsistent data.
Note that <xref target="RFC8990"/> does not support conflict resolution of mDNS, which may be a limitation for its application.</t>

<t>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".
The product-serial-number composition is manufacturer dependent and may contain information regarding the manufacturer, the product type, and further information specific to the product instance. To allow distinction of pledges, the product-serial-number therefore needs to be sufficiently unique.</t>

<t>In the absence of a more general discovery as defined in <xref target="I-D.eckert-anima-brski-discovery"/> the Registrar-Agent <bcp14>MUST</bcp14>  use</t>

<t><list style="symbols">
  <t>"&lt;product-serial-number&gt;._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 DNS-SD with mDNS discovery without his product-serial-number contained. This allows a commissioning tool to discover pledges to be bootstrapped in the domain. The manufacturer support this functionality as outlined in <xref target="sec_cons_mDNS"/>.</t>

<t>Establishing network connectivity of the pledge is out of scope of this document but necessary to apply DNS-SD with mDNS.
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, e.g., as proposed in <xref target="I-D.richardson-emu-eap-onboarding"/>.
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="pledge_ep"><name>Pledge in Responder Mode</name>

<t>The pledge is triggered by the Registrar-Agent to create the PVR and PER.
It is also triggered for processing of the responses and the generation of status information once the Registrar-Agent has received the responses from the registrar later in the process.</t>

<t>To enable interaction as responder with the Registrar-Agent, pledges in responder mode <bcp14>MUST</bcp14> act as servers and <bcp14>MUST</bcp14> provide the endpoints defined in <xref target="pledge_ep_table"/> within the BRSKI-defined "/.well-known/brski/" URI path.
The endpoints are defined with short names to also accommodate for resource-constrained devices.</t>

<texttable title="Well-Known Endpoints on a Pledge in Responder Mode" anchor="pledge_ep_table">
      <ttcol align='left'>Endpoint</ttcol>
      <ttcol align='left'>Operation</ttcol>
      <ttcol align='left'>Exchange and Artifacts</ttcol>
      <c>tpvr</c>
      <c>Trigger Pledge Voucher-Request</c>
      <c><xref target="tpvr"/></c>
      <c>tper</c>
      <c>Trigger Pledge Enroll-Request</c>
      <c><xref target="tper"/></c>
      <c>svr</c>
      <c>Supply Voucher to Pledge</c>
      <c><xref target="voucher"/></c>
      <c>scac</c>
      <c>Supply CA Certificates to Pledge</c>
      <c><xref target="cacerts"/></c>
      <c>ser</c>
      <c>Supply Enroll-Response to Pledge</c>
      <c><xref target="enroll_response"/></c>
      <c>qps</c>
      <c>Query Pledge Status</c>
      <c><xref target="query"/></c>
</texttable>

<t><xref section="7.2" sectionFormat="of" target="RFC9110"/> makes the Host header field mandatory, so it will always be present.
The pledge <bcp14>MUST</bcp14> respond to all queries regardless of the Host header field provided by the client.</t>

<t>For instance, when the Registrar-Agent reaches out to the "tpvr" endpoint on a pledge in responder mode with the full URI "http://pledge.example.com/.well-known/brski/tpvr", it sets the Host header field to "pledge.example.com" and the absolute path "/.well-known/brski/tpbr".
In practice, however, the pledge often is only known by its IP address as returned by a discovery protocol, which will be included in the Host header field.</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 IDevID of the pledge.
Hence, pledges <bcp14>MUST</bcp14> have an Initial Device Identifier (IDevID) installed in them at the factory.</t>

<section anchor="pledge-with-combined-functionality"><name>Pledge with Combined Functionality</name>

<t>Pledges <bcp14>MAY</bcp14> support both initiator and 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 Enroll-Request (PER) or to provide an Enroll-Response can be used for further certificates.</t>

</section>
</section>
</section>
<section anchor="exchanges_uc2"><name>Exchanges and Artifacts</name>

<t>The interaction of the pledge with the Registrar-Agent may be accomplished using different transports (i.e., protocols and/or network technologies).
This specification utilizes HTTP as default transport.
Other specifications may define alternative transports such as CoAP, Bluetooth Low Energy (BLE), or Near Field Communication (NFC).
These transports may differ from and are independent of the ones used between the Registrar-Agent and the registrar.</t>

<t>Transport independence is realized through data objects that are not bound to specific transport security and stay the same along the communication path from the pledge via the Registrar-Agent to the registrar.
Therefore, authenticated self-contained artifacts (e.g., JWS-signed JSON structures or COSE-signed CBOR structures) are used for the data exchanges between the pledge and the registrar via the Registrar-Agent.</t>

<t><xref target="exchangesfig_uc2_all"/> provides an overview of the exchanges detailed in the following subsections.</t>

<figure title="Overview pledge-responder-mode exchanges" anchor="exchangesfig_uc2_all"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1856" width="576" viewBox="0 0 576 1856" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,88 L 16,192" fill="none" stroke="black"/>
<path d="M 16,256 L 16,320" fill="none" stroke="black"/>
<path d="M 16,384 L 16,448" fill="none" stroke="black"/>
<path d="M 16,512 L 16,736" fill="none" stroke="black"/>
<path d="M 16,800 L 16,912" fill="none" stroke="black"/>
<path d="M 16,976 L 16,1040" fill="none" stroke="black"/>
<path d="M 16,1104 L 16,1168" fill="none" stroke="black"/>
<path d="M 16,1232 L 16,1280" fill="none" stroke="black"/>
<path d="M 16,1344 L 16,1408" fill="none" stroke="black"/>
<path d="M 16,1472 L 16,1584" fill="none" stroke="black"/>
<path d="M 16,1648 L 16,1696" fill="none" stroke="black"/>
<path d="M 16,1760 L 16,1824" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,88 L 168,192" fill="none" stroke="black"/>
<path d="M 168,256 L 168,320" fill="none" stroke="black"/>
<path d="M 168,384 L 168,448" fill="none" stroke="black"/>
<path d="M 168,512 L 168,736" fill="none" stroke="black"/>
<path d="M 168,800 L 168,912" fill="none" stroke="black"/>
<path d="M 168,976 L 168,1040" fill="none" stroke="black"/>
<path d="M 168,1104 L 168,1168" fill="none" stroke="black"/>
<path d="M 168,1232 L 168,1280" fill="none" stroke="black"/>
<path d="M 168,1344 L 168,1408" fill="none" stroke="black"/>
<path d="M 168,1472 L 168,1584" fill="none" stroke="black"/>
<path d="M 168,1648 L 168,1696" fill="none" stroke="black"/>
<path d="M 168,1760 L 168,1824" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,88 L 312,192" fill="none" stroke="black"/>
<path d="M 312,256 L 312,320" fill="none" stroke="black"/>
<path d="M 312,384 L 312,448" fill="none" stroke="black"/>
<path d="M 312,512 L 312,528" fill="none" stroke="black"/>
<path d="M 312,624 L 312,736" fill="none" stroke="black"/>
<path d="M 312,800 L 312,912" fill="none" stroke="black"/>
<path d="M 312,976 L 312,1040" fill="none" stroke="black"/>
<path d="M 312,1104 L 312,1168" fill="none" stroke="black"/>
<path d="M 312,1232 L 312,1280" fill="none" stroke="black"/>
<path d="M 312,1344 L 312,1408" fill="none" stroke="black"/>
<path d="M 312,1472 L 312,1552" fill="none" stroke="black"/>
<path d="M 312,1648 L 312,1696" fill="none" stroke="black"/>
<path d="M 312,1760 L 312,1824" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,88 L 456,192" fill="none" stroke="black"/>
<path d="M 456,256 L 456,320" fill="none" stroke="black"/>
<path d="M 456,384 L 456,448" fill="none" stroke="black"/>
<path d="M 456,512 L 456,632" fill="none" stroke="black"/>
<path d="M 456,720 L 456,736" fill="none" stroke="black"/>
<path d="M 456,800 L 456,912" fill="none" stroke="black"/>
<path d="M 456,976 L 456,1040" fill="none" stroke="black"/>
<path d="M 456,1104 L 456,1168" fill="none" stroke="black"/>
<path d="M 456,1232 L 456,1280" fill="none" stroke="black"/>
<path d="M 456,1344 L 456,1408" fill="none" stroke="black"/>
<path d="M 456,1472 L 456,1512" fill="none" stroke="black"/>
<path d="M 456,1568 L 456,1584" fill="none" stroke="black"/>
<path d="M 456,1648 L 456,1696" fill="none" stroke="black"/>
<path d="M 456,1760 L 456,1824" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,88 L 560,192" fill="none" stroke="black"/>
<path d="M 560,256 L 560,320" fill="none" stroke="black"/>
<path d="M 560,384 L 560,448" fill="none" stroke="black"/>
<path d="M 560,512 L 560,656" fill="none" stroke="black"/>
<path d="M 560,704 L 560,736" fill="none" stroke="black"/>
<path d="M 560,800 L 560,912" fill="none" stroke="black"/>
<path d="M 560,976 L 560,1040" fill="none" stroke="black"/>
<path d="M 560,1104 L 560,1168" fill="none" stroke="black"/>
<path d="M 560,1232 L 560,1280" fill="none" stroke="black"/>
<path d="M 560,1344 L 560,1408" fill="none" stroke="black"/>
<path d="M 560,1472 L 560,1584" fill="none" stroke="black"/>
<path d="M 560,1648 L 560,1696" fill="none" stroke="black"/>
<path d="M 560,1760 L 560,1824" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,160 L 160,160" fill="none" stroke="black"/>
<path d="M 24,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,272 L 56,272" fill="none" stroke="black"/>
<path d="M 128,272 L 160,272" fill="none" stroke="black"/>
<path d="M 24,288 L 72,288" fill="none" stroke="black"/>
<path d="M 112,288 L 160,288" fill="none" stroke="black"/>
<path d="M 24,304 L 80,304" fill="none" stroke="black"/>
<path d="M 112,304 L 160,304" fill="none" stroke="black"/>
<path d="M 24,400 L 56,400" fill="none" stroke="black"/>
<path d="M 128,400 L 160,400" fill="none" stroke="black"/>
<path d="M 24,416 L 72,416" fill="none" stroke="black"/>
<path d="M 112,416 L 160,416" fill="none" stroke="black"/>
<path d="M 24,432 L 80,432" fill="none" stroke="black"/>
<path d="M 112,432 L 160,432" fill="none" stroke="black"/>
<path d="M 176,528 L 216,528" fill="none" stroke="black"/>
<path d="M 256,528 L 304,528" fill="none" stroke="black"/>
<path d="M 176,576 L 224,576" fill="none" stroke="black"/>
<path d="M 256,576 L 304,576" fill="none" stroke="black"/>
<path d="M 320,640 L 416,640" fill="none" stroke="black"/>
<path d="M 456,640 L 552,640" fill="none" stroke="black"/>
<path d="M 320,656 L 424,656" fill="none" stroke="black"/>
<path d="M 456,656 L 552,656" fill="none" stroke="black"/>
<path d="M 320,704 L 408,704" fill="none" stroke="black"/>
<path d="M 472,704 L 552,704" fill="none" stroke="black"/>
<path d="M 176,720 L 208,720" fill="none" stroke="black"/>
<path d="M 272,720 L 304,720" fill="none" stroke="black"/>
<path d="M 176,816 L 216,816" fill="none" stroke="black"/>
<path d="M 256,816 L 304,816" fill="none" stroke="black"/>
<path d="M 176,832 L 224,832" fill="none" stroke="black"/>
<path d="M 256,832 L 304,832" fill="none" stroke="black"/>
<path d="M 320,848 L 360,848" fill="none" stroke="black"/>
<path d="M 400,848 L 448,848" fill="none" stroke="black"/>
<path d="M 320,864 L 368,864" fill="none" stroke="black"/>
<path d="M 400,864 L 448,864" fill="none" stroke="black"/>
<path d="M 320,880 L 336,880" fill="none" stroke="black"/>
<path d="M 432,880 L 448,880" fill="none" stroke="black"/>
<path d="M 176,896 L 192,896" fill="none" stroke="black"/>
<path d="M 288,896 L 304,896" fill="none" stroke="black"/>
<path d="M 176,992 L 216,992" fill="none" stroke="black"/>
<path d="M 256,992 L 304,992" fill="none" stroke="black"/>
<path d="M 176,1008 L 192,1008" fill="none" stroke="black"/>
<path d="M 280,1008 L 304,1008" fill="none" stroke="black"/>
<path d="M 176,1024 L 192,1024" fill="none" stroke="black"/>
<path d="M 288,1024 L 304,1024" fill="none" stroke="black"/>
<path d="M 24,1120 L 56,1120" fill="none" stroke="black"/>
<path d="M 128,1120 L 160,1120" fill="none" stroke="black"/>
<path d="M 24,1136 L 64,1136" fill="none" stroke="black"/>
<path d="M 128,1136 L 160,1136" fill="none" stroke="black"/>
<path d="M 24,1152 L 64,1152" fill="none" stroke="black"/>
<path d="M 128,1152 L 160,1152" fill="none" stroke="black"/>
<path d="M 24,1248 L 56,1248" fill="none" stroke="black"/>
<path d="M 128,1248 L 160,1248" fill="none" stroke="black"/>
<path d="M 24,1264 L 64,1264" fill="none" stroke="black"/>
<path d="M 128,1264 L 160,1264" fill="none" stroke="black"/>
<path d="M 24,1360 L 56,1360" fill="none" stroke="black"/>
<path d="M 128,1360 L 160,1360" fill="none" stroke="black"/>
<path d="M 24,1376 L 48,1376" fill="none" stroke="black"/>
<path d="M 144,1376 L 160,1376" fill="none" stroke="black"/>
<path d="M 24,1392 L 56,1392" fill="none" stroke="black"/>
<path d="M 120,1392 L 160,1392" fill="none" stroke="black"/>
<path d="M 176,1488 L 216,1488" fill="none" stroke="black"/>
<path d="M 256,1488 L 304,1488" fill="none" stroke="black"/>
<path d="M 176,1504 L 208,1504" fill="none" stroke="black"/>
<path d="M 272,1504 L 304,1504" fill="none" stroke="black"/>
<path d="M 320,1520 L 416,1520" fill="none" stroke="black"/>
<path d="M 456,1520 L 552,1520" fill="none" stroke="black"/>
<path d="M 320,1536 L 352,1536" fill="none" stroke="black"/>
<path d="M 520,1536 L 552,1536" fill="none" stroke="black"/>
<path d="M 320,1552 L 368,1552" fill="none" stroke="black"/>
<path d="M 504,1552 L 552,1552" fill="none" stroke="black"/>
<path d="M 176,1664 L 216,1664" fill="none" stroke="black"/>
<path d="M 256,1664 L 304,1664" fill="none" stroke="black"/>
<path d="M 176,1680 L 208,1680" fill="none" stroke="black"/>
<path d="M 272,1680 L 304,1680" fill="none" stroke="black"/>
<path d="M 24,1776 L 56,1776" fill="none" stroke="black"/>
<path d="M 128,1776 L 160,1776" fill="none" stroke="black"/>
<path d="M 24,1792 L 64,1792" fill="none" stroke="black"/>
<path d="M 128,1792 L 160,1792" fill="none" stroke="black"/>
<path d="M 24,1808 L 64,1808" fill="none" stroke="black"/>
<path d="M 128,1808 L 160,1808" fill="none" stroke="black"/>
<polygon class="arrowhead" points="560,1536 548,1530.4 548,1541.6" fill="black" transform="rotate(0,552,1536)"/>
<polygon class="arrowhead" points="560,1520 548,1514.4 548,1525.6" fill="black" transform="rotate(0,552,1520)"/>
<polygon class="arrowhead" points="560,656 548,650.4 548,661.6" fill="black" transform="rotate(0,552,656)"/>
<polygon class="arrowhead" points="560,640 548,634.4 548,645.6" fill="black" transform="rotate(0,552,640)"/>
<polygon class="arrowhead" points="456,864 444,858.4 444,869.6" fill="black" transform="rotate(0,448,864)"/>
<polygon class="arrowhead" points="456,848 444,842.4 444,853.6" fill="black" transform="rotate(0,448,848)"/>
<polygon class="arrowhead" points="328,1552 316,1546.4 316,1557.6" fill="black" transform="rotate(180,320,1552)"/>
<polygon class="arrowhead" points="328,1520 316,1514.4 316,1525.6" fill="black" transform="rotate(180,320,1520)"/>
<polygon class="arrowhead" points="328,880 316,874.4 316,885.6" fill="black" transform="rotate(180,320,880)"/>
<polygon class="arrowhead" points="328,848 316,842.4 316,853.6" fill="black" transform="rotate(180,320,848)"/>
<polygon class="arrowhead" points="328,704 316,698.4 316,709.6" fill="black" transform="rotate(180,320,704)"/>
<polygon class="arrowhead" points="328,640 316,634.4 316,645.6" fill="black" transform="rotate(180,320,640)"/>
<polygon class="arrowhead" points="312,1680 300,1674.4 300,1685.6" fill="black" transform="rotate(0,304,1680)"/>
<polygon class="arrowhead" points="312,1664 300,1658.4 300,1669.6" fill="black" transform="rotate(0,304,1664)"/>
<polygon class="arrowhead" points="312,1504 300,1498.4 300,1509.6" fill="black" transform="rotate(0,304,1504)"/>
<polygon class="arrowhead" points="312,1488 300,1482.4 300,1493.6" fill="black" transform="rotate(0,304,1488)"/>
<polygon class="arrowhead" points="312,1008 300,1002.4 300,1013.6" fill="black" transform="rotate(0,304,1008)"/>
<polygon class="arrowhead" points="312,992 300,986.4 300,997.6" fill="black" transform="rotate(0,304,992)"/>
<polygon class="arrowhead" points="312,832 300,826.4 300,837.6" fill="black" transform="rotate(0,304,832)"/>
<polygon class="arrowhead" points="312,816 300,810.4 300,821.6" fill="black" transform="rotate(0,304,816)"/>
<polygon class="arrowhead" points="312,576 300,570.4 300,581.6" fill="black" transform="rotate(0,304,576)"/>
<polygon class="arrowhead" points="312,528 300,522.4 300,533.6" fill="black" transform="rotate(0,304,528)"/>
<polygon class="arrowhead" points="184,1664 172,1658.4 172,1669.6" fill="black" transform="rotate(180,176,1664)"/>
<polygon class="arrowhead" points="184,1488 172,1482.4 172,1493.6" fill="black" transform="rotate(180,176,1488)"/>
<polygon class="arrowhead" points="184,1024 172,1018.4 172,1029.6" fill="black" transform="rotate(180,176,1024)"/>
<polygon class="arrowhead" points="184,992 172,986.4 172,997.6" fill="black" transform="rotate(180,176,992)"/>
<polygon class="arrowhead" points="184,896 172,890.4 172,901.6" fill="black" transform="rotate(180,176,896)"/>
<polygon class="arrowhead" points="184,816 172,810.4 172,821.6" fill="black" transform="rotate(180,176,816)"/>
<polygon class="arrowhead" points="184,720 172,714.4 172,725.6" fill="black" transform="rotate(180,176,720)"/>
<polygon class="arrowhead" points="184,528 172,522.4 172,533.6" fill="black" transform="rotate(180,176,528)"/>
<polygon class="arrowhead" points="168,1808 156,1802.4 156,1813.6" fill="black" transform="rotate(0,160,1808)"/>
<polygon class="arrowhead" points="168,1776 156,1770.4 156,1781.6" fill="black" transform="rotate(0,160,1776)"/>
<polygon class="arrowhead" points="168,1392 156,1386.4 156,1397.6" fill="black" transform="rotate(0,160,1392)"/>
<polygon class="arrowhead" points="168,1360 156,1354.4 156,1365.6" fill="black" transform="rotate(0,160,1360)"/>
<polygon class="arrowhead" points="168,1248 156,1242.4 156,1253.6" fill="black" transform="rotate(0,160,1248)"/>
<polygon class="arrowhead" points="168,1152 156,1146.4 156,1157.6" fill="black" transform="rotate(0,160,1152)"/>
<polygon class="arrowhead" points="168,1120 156,1114.4 156,1125.6" fill="black" transform="rotate(0,160,1120)"/>
<polygon class="arrowhead" points="168,432 156,426.4 156,437.6" fill="black" transform="rotate(0,160,432)"/>
<polygon class="arrowhead" points="168,400 156,394.4 156,405.6" fill="black" transform="rotate(0,160,400)"/>
<polygon class="arrowhead" points="168,304 156,298.4 156,309.6" fill="black" transform="rotate(0,160,304)"/>
<polygon class="arrowhead" points="168,272 156,266.4 156,277.6" fill="black" transform="rotate(0,160,272)"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,1792 20,1786.4 20,1797.6" fill="black" transform="rotate(180,24,1792)"/>
<polygon class="arrowhead" points="32,1776 20,1770.4 20,1781.6" fill="black" transform="rotate(180,24,1776)"/>
<polygon class="arrowhead" points="32,1376 20,1370.4 20,1381.6" fill="black" transform="rotate(180,24,1376)"/>
<polygon class="arrowhead" points="32,1360 20,1354.4 20,1365.6" fill="black" transform="rotate(180,24,1360)"/>
<polygon class="arrowhead" points="32,1264 20,1258.4 20,1269.6" fill="black" transform="rotate(180,24,1264)"/>
<polygon class="arrowhead" points="32,1248 20,1242.4 20,1253.6" fill="black" transform="rotate(180,24,1248)"/>
<polygon class="arrowhead" points="32,1136 20,1130.4 20,1141.6" fill="black" transform="rotate(180,24,1136)"/>
<polygon class="arrowhead" points="32,1120 20,1114.4 20,1125.6" fill="black" transform="rotate(180,24,1120)"/>
<polygon class="arrowhead" points="32,416 20,410.4 20,421.6" fill="black" transform="rotate(180,24,416)"/>
<polygon class="arrowhead" points="32,400 20,394.4 20,405.6" fill="black" transform="rotate(180,24,400)"/>
<polygon class="arrowhead" points="32,288 20,282.4 20,293.6" fill="black" transform="rotate(180,24,288)"/>
<polygon class="arrowhead" points="32,272 20,266.4 20,277.6" fill="black" transform="rotate(180,24,272)"/>
<polygon class="arrowhead" points="32,160 20,154.4 20,165.6" fill="black" transform="rotate(180,24,160)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="516" y="100">Internet</text>
<text x="92" y="116">discover</text>
<text x="92" y="132">pledge</text>
<text x="68" y="148">mDNS</text>
<text x="112" y="148">query</text>
<text x="16" y="212">~</text>
<text x="168" y="212">~</text>
<text x="312" y="212">~</text>
<text x="456" y="212">~</text>
<text x="560" y="212">~</text>
<text x="16" y="228">(1)</text>
<text x="64" y="228">Trigger</text>
<text x="124" y="228">Pledge</text>
<text x="216" y="228">Voucher-Request</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
<text x="76" y="276">opt.</text>
<text x="112" y="276">TLS</text>
<text x="92" y="292">tPVR</text>
<text x="96" y="308">PVR</text>
<text x="16" y="340">~</text>
<text x="168" y="340">~</text>
<text x="312" y="340">~</text>
<text x="456" y="340">~</text>
<text x="560" y="340">~</text>
<text x="16" y="356">(2)</text>
<text x="64" y="356">Trigger</text>
<text x="124" y="356">Pledge</text>
<text x="212" y="356">Enroll-Request</text>
<text x="16" y="372">~</text>
<text x="168" y="372">~</text>
<text x="312" y="372">~</text>
<text x="456" y="372">~</text>
<text x="560" y="372">~</text>
<text x="76" y="404">opt.</text>
<text x="112" y="404">TLS</text>
<text x="92" y="420">tPER</text>
<text x="96" y="436">PER</text>
<text x="16" y="468">~</text>
<text x="168" y="468">~</text>
<text x="312" y="468">~</text>
<text x="456" y="468">~</text>
<text x="560" y="468">~</text>
<text x="16" y="484">(3)</text>
<text x="60" y="484">Supply</text>
<text x="104" y="484">PVR</text>
<text x="132" y="484">to</text>
<text x="184" y="484">Registrar</text>
<text x="268" y="484">(including</text>
<text x="344" y="484">backend</text>
<text x="428" y="484">interaction)</text>
<text x="16" y="500">~</text>
<text x="168" y="500">~</text>
<text x="312" y="500">~</text>
<text x="456" y="500">~</text>
<text x="560" y="500">~</text>
<text x="236" y="532">mTLS</text>
<text x="308" y="548">[Registrar-Agent</text>
<text x="308" y="564">authenticated&amp;authorized?]</text>
<text x="240" y="580">PVR</text>
<text x="312" y="580">|</text>
<text x="280" y="596">[accept</text>
<text x="348" y="596">device?]</text>
<text x="284" y="612">[contact</text>
<text x="352" y="612">vendor]</text>
<text x="436" y="644">mTLS</text>
<text x="440" y="660">RVR</text>
<text x="460" y="676">[extract</text>
<text x="536" y="676">DomainID]</text>
<text x="456" y="692">[update</text>
<text x="512" y="692">audit</text>
<text x="556" y="692">log]</text>
<text x="440" y="708">Voucher</text>
<text x="240" y="724">Voucher</text>
<text x="16" y="756">~</text>
<text x="168" y="756">~</text>
<text x="312" y="756">~</text>
<text x="456" y="756">~</text>
<text x="560" y="756">~</text>
<text x="16" y="772">(4)</text>
<text x="60" y="772">Supply</text>
<text x="104" y="772">PER</text>
<text x="132" y="772">to</text>
<text x="184" y="772">Registrar</text>
<text x="268" y="772">(including</text>
<text x="344" y="772">backend</text>
<text x="428" y="772">interaction)</text>
<text x="16" y="788">~</text>
<text x="168" y="788">~</text>
<text x="312" y="788">~</text>
<text x="456" y="788">~</text>
<text x="560" y="788">~</text>
<text x="236" y="820">mTLS</text>
<text x="240" y="836">PER</text>
<text x="380" y="852">mTLS</text>
<text x="384" y="868">RER</text>
<text x="384" y="884">Enroll-Resp</text>
<text x="240" y="900">Enroll-Resp</text>
<text x="16" y="932">~</text>
<text x="168" y="932">~</text>
<text x="312" y="932">~</text>
<text x="456" y="932">~</text>
<text x="560" y="932">~</text>
<text x="16" y="948">(5)</text>
<text x="64" y="948">Request</text>
<text x="108" y="948">CA</text>
<text x="172" y="948">Certificates</text>
<text x="16" y="964">~</text>
<text x="168" y="964">~</text>
<text x="312" y="964">~</text>
<text x="456" y="964">~</text>
<text x="560" y="964">~</text>
<text x="236" y="996">mTLS</text>
<text x="236" y="1012">cACert-Req</text>
<text x="240" y="1028">cACert-Resp</text>
<text x="16" y="1060">~</text>
<text x="168" y="1060">~</text>
<text x="312" y="1060">~</text>
<text x="456" y="1060">~</text>
<text x="560" y="1060">~</text>
<text x="16" y="1076">(6)</text>
<text x="60" y="1076">Supply</text>
<text x="120" y="1076">Voucher</text>
<text x="164" y="1076">to</text>
<text x="204" y="1076">Pledge</text>
<text x="16" y="1092">~</text>
<text x="168" y="1092">~</text>
<text x="312" y="1092">~</text>
<text x="456" y="1092">~</text>
<text x="560" y="1092">~</text>
<text x="76" y="1124">opt.</text>
<text x="112" y="1124">TLS</text>
<text x="96" y="1140">Voucher</text>
<text x="96" y="1156">vStatus</text>
<text x="16" y="1188">~</text>
<text x="168" y="1188">~</text>
<text x="312" y="1188">~</text>
<text x="456" y="1188">~</text>
<text x="560" y="1188">~</text>
<text x="16" y="1204">(7)</text>
<text x="60" y="1204">Supply</text>
<text x="100" y="1204">CA</text>
<text x="164" y="1204">Certificates</text>
<text x="228" y="1204">to</text>
<text x="268" y="1204">Pledge</text>
<text x="16" y="1220">~</text>
<text x="168" y="1220">~</text>
<text x="312" y="1220">~</text>
<text x="456" y="1220">~</text>
<text x="560" y="1220">~</text>
<text x="76" y="1252">opt.</text>
<text x="112" y="1252">TLS</text>
<text x="96" y="1268">cACerts</text>
<text x="16" y="1300">~</text>
<text x="168" y="1300">~</text>
<text x="312" y="1300">~</text>
<text x="456" y="1300">~</text>
<text x="560" y="1300">~</text>
<text x="16" y="1316">(8)</text>
<text x="60" y="1316">Supply</text>
<text x="152" y="1316">Enroll-Response</text>
<text x="228" y="1316">to</text>
<text x="268" y="1316">Pledge</text>
<text x="16" y="1332">~</text>
<text x="168" y="1332">~</text>
<text x="312" y="1332">~</text>
<text x="456" y="1332">~</text>
<text x="560" y="1332">~</text>
<text x="76" y="1364">opt.</text>
<text x="112" y="1364">TLS</text>
<text x="96" y="1380">Enroll-Resp</text>
<text x="88" y="1396">eStatus</text>
<text x="16" y="1428">~</text>
<text x="168" y="1428">~</text>
<text x="312" y="1428">~</text>
<text x="456" y="1428">~</text>
<text x="560" y="1428">~</text>
<text x="16" y="1444">(9)</text>
<text x="64" y="1444">Voucher</text>
<text x="124" y="1444">Status</text>
<text x="192" y="1444">Telemetry</text>
<text x="276" y="1444">(including</text>
<text x="352" y="1444">backend</text>
<text x="436" y="1444">interaction)</text>
<text x="16" y="1460">~</text>
<text x="168" y="1460">~</text>
<text x="312" y="1460">~</text>
<text x="456" y="1460">~</text>
<text x="560" y="1460">~</text>
<text x="236" y="1492">mTLS</text>
<text x="240" y="1508">vStatus</text>
<text x="436" y="1524">mTLS</text>
<text x="368" y="1540">req</text>
<text x="412" y="1540">device</text>
<text x="464" y="1540">audit</text>
<text x="504" y="1540">log</text>
<text x="396" y="1556">device</text>
<text x="448" y="1556">audit</text>
<text x="488" y="1556">log</text>
<text x="264" y="1572">[verify</text>
<text x="320" y="1572">audit</text>
<text x="364" y="1572">log]</text>
<text x="312" y="1588">|</text>
<text x="16" y="1604">~</text>
<text x="168" y="1604">~</text>
<text x="312" y="1604">~</text>
<text x="456" y="1604">~</text>
<text x="560" y="1604">~</text>
<text x="20" y="1620">(10)</text>
<text x="68" y="1620">Enroll</text>
<text x="124" y="1620">Status</text>
<text x="192" y="1620">Telemetry</text>
<text x="16" y="1636">~</text>
<text x="168" y="1636">~</text>
<text x="312" y="1636">~</text>
<text x="456" y="1636">~</text>
<text x="560" y="1636">~</text>
<text x="236" y="1668">mTLS</text>
<text x="240" y="1684">eStatus</text>
<text x="16" y="1716">~</text>
<text x="168" y="1716">~</text>
<text x="312" y="1716">~</text>
<text x="456" y="1716">~</text>
<text x="560" y="1716">~</text>
<text x="20" y="1732">(11)</text>
<text x="64" y="1732">Query</text>
<text x="116" y="1732">Pledge</text>
<text x="172" y="1732">Status</text>
<text x="16" y="1748">~</text>
<text x="168" y="1748">~</text>
<text x="312" y="1748">~</text>
<text x="456" y="1748">~</text>
<text x="560" y="1748">~</text>
<text x="76" y="1780">opt.</text>
<text x="112" y="1780">TLS</text>
<text x="96" y="1796">tStatus</text>
<text x="96" y="1812">pStatus</text>
<text x="16" y="1844">~</text>
<text x="168" y="1844">~</text>
<text x="312" y="1844">~</text>
<text x="456" y="1844">~</text>
<text x="560" y="1844">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 |     discover     |                 |                 |            |
 |      pledge      |                 |                 |            |
 |    mDNS query    |                 |                 |            |
 |<-----------------|                 |                 |            |
 |----------------->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(1) Trigger Pledge Voucher-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPVR-------|                 |                 |            |
 |--------PVR------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(2) Trigger Pledge Enroll-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPER-------|                 |                 |            |
 |--------PER------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(3) Supply PVR to Registrar (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<-----mTLS------>|                 |            |
 |                  |         [Registrar-Agent          |            |
 |                  |    authenticated&authorized?]     |            |
 |                  |-------PVR------>|                 |            |
 |                  |          [accept device?]         |            |
 |                  |          [contact vendor]         |            |
 |                  |                 |                 |            |
 |                  |                 |<------------mTLS------------>|
 |                  |                 |--------------RVR------------>|
 |                  |                 |              [extract DomainID]
 |                  |                 |              [update audit log]
 |                  |                 |<-----------Voucher-----------|
 |                  |<----Voucher-----|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(4) Supply PER to Registrar (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-------PER------>|                 |            |
 |                  |                 |<-----mTLS------>|            |
 |                  |                 |-------RER------>|            |
 |                  |                 |<--Enroll-Resp---|            |
 |                  |<--Enroll-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(5) Request CA Certificates
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |---cACert-Req--->|                 |            |
 |                  |<--cACert-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(6) Supply Voucher to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----Voucher-----|                 |                 |            |
 |------vStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(7) Supply CA Certificates to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----cACerts-----|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(8) Supply Enroll-Response to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<---Enroll-Resp---|                 |                 |            |
 |-----eStatus----->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(9) Voucher Status Telemetry (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-----vStatus---->|                 |            |
 |                  |                 |<-----------(mTLS)----------->|
 |                  |                 |-----req device audit log---->|
 |                  |                 |<------device audit log-------|
 |                  |        [verify audit log]         |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(10) Enroll Status Telemetry
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-----eStatus---->|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(11) Query Pledge Status
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----tStatus-----|                 |                 |            |
 |------pStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>The following sub sections split the interactions shown in <xref target="exchangesfig_uc2_all"/> between the different components into:</t>

<t><list style="numbers">
  <t><xref target="tpvr"/> describes the acquisition exchange for the Pledge Voucher-Request initiated by the Registrar-Agent to the pledge.</t>
  <t><xref target="tper"/> describes the acquisition exchange for the Pledge Enroll-Request initiated by the Registrar-Agent to the pledge.</t>
  <t><xref target="pvr"/> describes the issuing exchange for the Voucher initiated by the Registrar-Agent to the registrar, including the interaction of the registrar with the MASA using the RVR <xref target="rvr-proc"/>, as well as the artifact processing by these entities.</t>
  <t><xref target="per"/> describes the enroll exchange initiated by the Registrar-Agent to the registrar including the interaction of the registrar with the CA using the PER as well as the artifact processing by these entities.</t>
  <t><xref target="req_cacerts"/> describes the retrival exchange for the optional CA certificate provisioning to the pledge initiated by the Registrar-Agent to the CA.</t>
  <t><xref target="voucher"/> describes the Voucher exchange initiated by the Registrar-Agent to the pledge and the returned status information.</t>
  <t><xref target="cacerts"/> describes the certificate provisioning exchange initiated by the Registrar-Agent to the pledge.</t>
  <t><xref target="enroll_response"/> describes the Enroll-Response exchange (containing the LDevID (Pledge) certificate) initiated by the Registrar-Agent to the pledge and the returned status information.</t>
  <t><xref target="vstatus"/> describes the Voucher status telemetry exchange initiated by the Registrar-Agent to the registrar, including the interaction of the registrar with the MASA.</t>
  <t><xref target="estatus"/> describes the Enroll Status telemetry exchange initiated by the Registrar-Agent to the registrar.</t>
  <t><xref target="query"/> describes the Pledge Status exchange about the general bootstrapping state initiated by the Registrar-Agent to the pledge.</t>
</list></t>

<section anchor="tpvr"><name>Trigger Pledge Voucher-Request</name>

<t>This exchange assumes that the Registrar-Agent has already discovered the pledge.
This may be done as described in <xref target="discovery_uc2_ppa"/> and <xref target="exchangesfig_uc2_all"/> based on DNS-SD or similar.</t>

<t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge, see <xref target="pledgehttps"/>.</t>

<t><xref target="exchangesfig_uc2_1"/> shows the acquisition of the Pledge Voucher-Request (PVR) and the following subsections describe the corresponding artifacts.</t>

<figure title="PVR acquisition exchange" anchor="exchangesfig_uc2_1"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,224" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,224" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,224" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,224" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,224" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,176 L 56,176" fill="none" stroke="black"/>
<path d="M 128,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,192 L 72,192" fill="none" stroke="black"/>
<path d="M 112,192 L 160,192" fill="none" stroke="black"/>
<path d="M 24,208 L 80,208" fill="none" stroke="black"/>
<path d="M 112,208 L 160,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
<polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(1)</text>
<text x="64" y="132">Trigger</text>
<text x="124" y="132">Pledge</text>
<text x="216" y="132">Voucher-Request</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="76" y="180">opt.</text>
<text x="112" y="180">TLS</text>
<text x="92" y="196">tPVR</text>
<text x="96" y="212">PVR</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(1) Trigger Pledge Voucher-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPVR-------|                 |                 |            |
 |--------PVR------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>The Registrar-Agent triggers the pledge to create the PVR via HTTP POST on the well-known pledge endpoint <spanx style="verb">/.well-known/brski/tpvr</spanx>.
The request body <bcp14>MUST</bcp14> contain the JSON-based Pledge Voucher-Request Trigger (tPVR) artifact.
The request header <bcp14>MUST</bcp14> set the Content-Type field to <spanx style="verb">application/json</spanx>.</t>

<t>Upon receiving a valid tPVR, the pledge <bcp14>MUST</bcp14> reply with the PVR artifact in the body of a 200 OK response.
The Content-Type field header of the response <bcp14>MUST</bcp14> be set to <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>If the pledge is unable to create the PVR, it <bcp14>SHOULD</bcp14> respond with an HTTP error code. 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>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <spanx style="verb">application/jose+json</spanx>.</t>
  <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported, e.g., a type other than <spanx style="verb">application/json</spanx>.</t>
</list></t>

<section anchor="request-artifact-pledge-voucher-request-trigger-tpvr"><name>Request Artifact: Pledge Voucher-Request Trigger (tPVR)</name>

<t>The Pledge Voucher-Request Trigger (tPVR) artifact is an unsigned JSON structure providing the trigger parameters.
The following CDDL <xref target="RFC8610"/> explains the Pledge Voucher-Request Trigger structure.</t>

<figure title="CDDL for Pledge Voucher-Request Trigger" anchor="tpvr_CDDL_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  pledgevoucherrequesttrigger = {
    "agent-provided-proximity-registrar-cert": bytes,
    "agent-signed-data": bytes
  }
<CODE ENDS>
]]></artwork></figure>

<t>The fields contained in the <spanx style="verb">pledgevoucherrequesttrigger</spanx> are:</t>

<t><list style="symbols">
  <t><spanx style="verb">agent-provided-proximity-registrar-cert</spanx>: X.509 v3 certificate structure of the domain registrar EE certificate (base64-encoded value); 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</t>
  <t><spanx style="verb">agent-signed-data</spanx>: base64-encoded JWS structure containing the SubjectKeyIdentifier of the EE (RegAgt) certificate and signing Data including the creation date and serial number of the pledge. Note that <xref target="I-D.ietf-anima-rfc8366bis"/> defines an opaque binary element for agent-signed data, for which the structure is defined in BRSKI-PRM.</t>
</list></t>

<figure title="JWS structure for the agent-signed-data member in General JWS Serialization syntax" anchor="asd"><artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(prmasd)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork></figure>

<t>The BRSKI-PRM Agent Signed Data structure <bcp14>MUST</bcp14> be encoded in JSON as defined in <xref target="RFC8259"/> following the CDDL definition <xref target="prmasd_CDDL_def"/>.
The JWS Payload is further base64url-encoded to become the string value of the <spanx style="verb">payload</spanx> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.</t>

<t>The following CDDL <xref target="RFC8610"/> explains the BRSKI-PRM Agent Signed Data structure.</t>

<figure title="CDDL for BRSKI-PRM Agent Signed Data" anchor="prmasd_CDDL_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  prmasd = {
    "created": tdate,
    "serial-number": text
  }
<CODE ENDS>
]]></artwork></figure>

<t>The fields contained in the <spanx style="verb">prmasd</spanx> are:</t>

<t><list style="symbols">
  <t><spanx style="verb">created-on</spanx>: creation date and time as standard date/time string as defined in <xref target="RFC3339"/></t>
  <t><spanx style="verb">serial-number</spanx>: product-serial-number in the X520SerialNumber field of the IDevID certificate of the pledge as string as defined in <xref section="2.3.1" sectionFormat="of" target="RFC8995"/></t>
</list></t>

<t><xref target="prmasd_payload"/> below shows an example for unsigned BRSKI-PRM Agent Signed Data in JSON syntax.</t>

<figure title="Data example for prmasd" anchor="prmasd_payload"><artwork align="left"><![CDATA[
{
  "created-on": "2021-04-16T00:00:01.000Z",
  "serial-number": "callee4711"
}
]]></artwork></figure>

<t>The JWS Protected Header of the <spanx style="verb">agent-signed-data</spanx> JWS structure <bcp14>MUST</bcp14> contain the following parameters (see <xref target="asd_header"/> for an example):</t>

<t><list style="symbols">
  <t><spanx style="verb">alg</spanx>: algorithm type used to create the signature, e.g., <spanx style="verb">ES256</spanx> as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
  <t><spanx style="verb">kid</spanx>: base64-encoded bytes of the SubjectKeyIdentifier (the "KeyIdentifier" OCTET STRING value) of the EE (RegAgt) certificate.</t>
</list></t>

<figure title="Protected Header example inside agent-signed-data" anchor="asd_header"><artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "kid": "base64encodedvalue=="
}
]]></artwork></figure>

<t>Note that at the time of receiving the PVR trigger, the pledge cannot verify the registrar LDevID certificate and has no proof-of-possession of the corresponding private key for the certificate.
Hence, the tPVR is an unsigned artifact and the pledge only accepts the registrar LDevID certificate provisionally until it receives the voucher as described in <xref target="voucher"/>.</t>

<t>The pledge will also be unable to verify the agent-signed-data itself as it does not possess the EE (RegAgt) certificate and the domain trust has not been established at this point of the communication.
Verification <bcp14>SHOULD</bcp14> be done, after the voucher has been received.</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>

</section>
<section anchor="response-artifact-pledge-voucher-request-pvr"><name>Response Artifact: Pledge Voucher-Request (PVR)</name>

<t>The Pledge Voucher-Request (PVR) artifact is a JWS Voucher Request as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
Its unsigned data <bcp14>SHALL</bcp14> be constructed similar to the Voucher-Request artifact defined in <xref target="RFC8995"/>.
It will contain additional data provided by the Registrar-Agent as specified in the following.</t>

<t>The payload of the PVR <bcp14>MUST</bcp14> contain the following parameters as part of the ietf-voucher-request:voucher as defined in <xref target="I-D.ietf-anima-rfc8366bis"/> and thus makes optional leaves in the YANG definition mandatory:</t>

<t><list style="symbols">
  <t><spanx style="verb">created-on</spanx>: <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><spanx style="verb">nonce</spanx>: <bcp14>SHALL</bcp14> contain a cryptographically strong pseudo-random number.</t>
  <t><spanx style="verb">serial-number</spanx>: <bcp14>SHALL</bcp14> contain the pledge product-serial-number as X520SerialNumber.</t>
  <t><spanx style="verb">assertion</spanx>: <bcp14>SHALL</bcp14> contain the requested voucher assertion "agent-proximity" (different value as in RFC 8995)..</t>
</list></t>

<t>The ietf-voucher-request:voucher data is extended with two additional parameters that <bcp14>MUST</bcp14> be included:</t>

<t><list style="symbols">
  <t><spanx style="verb">agent-provided-proximity-registrar-cert</spanx>: base64-encoded registrar EE certificate (provided in tPVR by the Registrar-Agent); enables the registrar to verify that it is the desired registrar for handling the PVR</t>
  <t><spanx style="verb">agent-signed-data</spanx>: base64-encoded agent-signed-data (provided in tPVR by the Registrar-Agent); enables the registrar to verify and log, which Registrar-Agent was in contact with the pledge, when verifying the PVR</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_example"><artwork align="left"><![CDATA[
# The PVR in General JWS Serialization syntax
{
  "payload": BASE64URL(UTF8(ietf-voucher-request:voucher)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded Payload "ietf-voucher-request:voucher"
  representation in JSON syntax
{
  "ietf-voucher-request: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=="
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
    "alg": "ES256",
    "typ": "voucher-jws+json",
    "x5c": [
      "base64encodedvalue==",
      "base64encodedvalue=="
    ]
}
]]></artwork></figure>

</section>
</section>
<section anchor="tper"><name>Trigger Pledge Enroll-Request</name>

<t>Once the Registrar-Agent has received the PVR it can trigger the pledge to generate a Pledge Enroll-Request (PER).</t>

<t>Optionally, TLS <bcp14>MAY</bcp14> be used to provide privacy for this exchange between the Registrar-Agent and the pledge, see <xref target="pledgehttps"/>.</t>

<t><xref target="exchangesfig_uc2_2"/> shows the the acquisition of the PER and the following subsections describe the corresponding artifacts.</t>

<figure title="PER acquisition exchange" anchor="exchangesfig_uc2_2"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,224" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,224" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,224" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,224" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,224" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,176 L 56,176" fill="none" stroke="black"/>
<path d="M 128,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,192 L 72,192" fill="none" stroke="black"/>
<path d="M 112,192 L 160,192" fill="none" stroke="black"/>
<path d="M 24,208 L 80,208" fill="none" stroke="black"/>
<path d="M 112,208 L 160,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
<polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(2)</text>
<text x="64" y="132">Trigger</text>
<text x="124" y="132">Pledge</text>
<text x="212" y="132">Enroll-Request</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="76" y="180">opt.</text>
<text x="112" y="180">TLS</text>
<text x="92" y="196">tPER</text>
<text x="96" y="212">PER</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(2) Trigger Pledge Enroll-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPER-------|                 |                 |            |
 |--------PER------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>The Registrar-Agent triggers the pledge to create the PER via HTTP POST on the well-known pledge endpoint <spanx style="verb">/.well-known/brski/tper</spanx>.
As the initial enrollment aims to request a generic certificate, no certificate attributes are provided to the pledge.
To avoid an empty request body an artifact is provided containing the description of the requested operation.</t>

<t>Upon receiving a valid tPER, the pledge <bcp14>MUST</bcp14> reply with the PER artifact in the body of a 200 OK response.
The response header <bcp14>MUST</bcp14> have the Content-Type field set to <spanx style="verb">application/jose+json</spanx>.</t>

<t>If the pledge is unable to create the PER, it <bcp14>SHOULD</bcp14> respond with an HTTP error code. 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.</t>
  <t>406 Not Acceptable: if the Accept request header field 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 Content-Type request header field indicates a type that is unknown or unsupported, e.g., a type other than <spanx style="verb">application/json</spanx>.</t>
</list></t>

<section anchor="request-artifact-pledge-enroll-request-trigger-tper"><name>Request Artifact: Pledge Enroll-Request Trigger (tPER)</name>

<t>This document specifies the trigger for a generic certificate with no CSR attributes provided to the pledge.
If specific attributes in the certificate are required, they have to be inserted by the issuing RA/CA.</t>

<t>The Pledge Enroll-Request Trigger (tPVR) artifact is an unsigned JSON structure providing the trigger parameters (tPER-data).
The following CDDL <xref target="RFC8610"/> explains the Pledge Enroll-Request Trigger structure.</t>

<figure title="CDDL for Pledge Enroll-Request Trigger" anchor="tper_CDDL_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
pledgeenrollrequesttrigger = {
    "enroll-type": "enroll-generic-cert"
  }
<CODE ENDS>
]]></artwork></figure>

<t>The enroll-type field is an enum, identifying what is being enrolled. 
Currently only "enroll-generic-cert" for the LDevID certificate is defined.</t>

<t><xref target="tPER_payload"/> below shows an example for unsigned Pledge Enroll-Request Trigger in JSON syntax.</t>

<figure title="Data example for pledgeenrollrequesttrigger" anchor="tPER_payload"><artwork align="left"><![CDATA[
{
  "enroll-type" : "enroll-generic-cert"
}
]]></artwork></figure>

<t>The Pledge Enroll-Request Trigger (tPER) artifact <bcp14>MUST</bcp14> be encoded in JSON as defined in <xref target="RFC8259"/> following the CDDL definition <xref target="tper_CDDL_def"/>.</t>

<t>The Pledge Enroll-Request Trigger (tPER) artifact <bcp14>MAY</bcp14> be used to provide additional data, like CSR attributes.
How to provide and use such additional data is out of scope for this specification.</t>

</section>
<section anchor="response-artifact-pledge-enroll-request-per"><name>Response Artifact: Pledge Enroll-Request (PER)</name>

<t>The Pledge Enroll-Request (PER) artifact is a JWS-signed PKCS#10 Certificate Signing Request (CSR) utilizing the csr-grouping of the <spanx style="verb">ietf-ztp-types</spanx> YANG module as defined in <xref target="I-D.ietf-netconf-sztp-csr"/>.
The CSR already assures POP of the private key corresponding to the contained public key.
In addition, based on the PER signature using the IDevID, POI is provided.</t>

<t>The pledge constructs the Pledge Enroll-Request (PER) artifact as a JWS structure containing the PKCS#10 request wrapped in ietf-ztp-types YANG structrue as JWS payload.
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>MUST</bcp14> construct the PER as PKCS#10 and <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>A successful enrollment will result in a generic LDevID certificate for the pledge in the new domain.
This generic LDevID certificate can be used to request further (application specific) LDevID certificates if necessary for operation.
The Registrar-Agent <bcp14>SHALL</bcp14> use the enrollment endpoint <spanx style="verb">requestenroll</spanx> specified in this document to provide the Pledge Enroll-Request artifact to the Registrar.</t>

<t>The JWS Protected Header of the PER <bcp14>MUST</bcp14> contain the following parameters as defined in <xref target="RFC7515"/>:</t>

<t><list style="symbols">
  <t><spanx style="verb">alg</spanx>: algorithm type used to create the signature, e.g., <spanx style="verb">ES256</spanx> as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
  <t><spanx style="verb">x5c</spanx>: base64-encoded pledge IDevID certificate;
it <bcp14>MAY</bcp14> optionally contain the certificate chain for this certificate; if the certificate chain is not included, it <bcp14>MUST</bcp14> be available at the registrar for verification of the IDevID certificate</t>
</list></t>

<t>The body of the Pledge Enroll-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><spanx style="verb">p10-csr</spanx>: 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>

<t>While BRSKI-PRM targets the initial enrollment, re-enrollment <bcp14>SHOULD</bcp14> be supported as described in a similar way as for enrollment in this document, if no other re-enrollment mechanism is supported.
Note that in this case the current LDevID credential is used instead of the IDevID credential to create the signature of the PKCS#10 request.</t>

<figure title="Representation of PER" anchor="per_example"><artwork align="left"><![CDATA[
# The PER in General JWS Serialization syntax
{
  "payload": "BASE64URL(ietf-ztp-types)",
  "signatures": [
    {
      "protected": "BASE64URL(UTF8(JWS Protected Header))",
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded Payload "ietf-ztp-types" Representation
  in JSON Syntax
{
  "ietf-ztp-types": {
     "p10-csr": "base64encodedvalue=="
   }
}

# Example: 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 <xref section="4.1.11" sectionFormat="of" 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.
The registrar <bcp14>MAY</bcp14> consider to ignore any but the newest PER from the same pledge in the case the registrar has at any point in time more than one pending PER from the pledge.</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="pvr"><name>Supply PVR to Registrar (including backend interaction)</name>

<t>Similar to BRSKI "requestvoucher" endpoint in <xref section="5.2" sectionFormat="of" target="RFC8995"/>.</t>

<t>The Registrar-Agent has acquired one or more PVR and PER object pairs</t>

<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>

<t>In contrast to BRSKI <xref target="RFC8995"/> TLS client authentication to the registrar is achieved by using Registrar-Agent EE 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 based on the TLS client authentication.
If the connection from Registrar-Agent to registrar is established, the authorization <bcp14>SHOULD</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>With BRSKI-PRM, the pledge generates PVR and PER as JSON-in-JWS objects and the Registrar-Agent forwards them to the registrar.
In <xref target="RFC8995"/>, the pledge generates PVR as CMS-signed JSON and PER as PKCS#10 or PKCS#7 according to <xref target="RFC7030"/> and inherited by <xref target="RFC8995"/>.</t>

<t><xref target="exchangesfig_uc2_3"/> shows the exchanges for the Voucher Request processing and the following subsections describe the corresponding artifacts.</t>

<figure title="Voucher issuing exchange" anchor="exchangesfig_uc2_3"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="416" width="576" viewBox="0 0 576 416" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,384" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,384" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,176" fill="none" stroke="black"/>
<path d="M 312,272 L 312,384" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,280" fill="none" stroke="black"/>
<path d="M 456,368 L 456,384" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,304" fill="none" stroke="black"/>
<path d="M 560,352 L 560,384" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 176,176 L 216,176" fill="none" stroke="black"/>
<path d="M 256,176 L 304,176" fill="none" stroke="black"/>
<path d="M 176,224 L 224,224" fill="none" stroke="black"/>
<path d="M 256,224 L 304,224" fill="none" stroke="black"/>
<path d="M 320,288 L 416,288" fill="none" stroke="black"/>
<path d="M 456,288 L 552,288" fill="none" stroke="black"/>
<path d="M 320,304 L 424,304" fill="none" stroke="black"/>
<path d="M 456,304 L 552,304" fill="none" stroke="black"/>
<path d="M 320,352 L 408,352" fill="none" stroke="black"/>
<path d="M 472,352 L 552,352" fill="none" stroke="black"/>
<path d="M 176,368 L 208,368" fill="none" stroke="black"/>
<path d="M 272,368 L 304,368" fill="none" stroke="black"/>
<polygon class="arrowhead" points="560,304 548,298.4 548,309.6" fill="black" transform="rotate(0,552,304)"/>
<polygon class="arrowhead" points="560,288 548,282.4 548,293.6" fill="black" transform="rotate(0,552,288)"/>
<polygon class="arrowhead" points="328,352 316,346.4 316,357.6" fill="black" transform="rotate(180,320,352)"/>
<polygon class="arrowhead" points="328,288 316,282.4 316,293.6" fill="black" transform="rotate(180,320,288)"/>
<polygon class="arrowhead" points="312,224 300,218.4 300,229.6" fill="black" transform="rotate(0,304,224)"/>
<polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
<polygon class="arrowhead" points="184,368 172,362.4 172,373.6" fill="black" transform="rotate(180,176,368)"/>
<polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(3)</text>
<text x="60" y="132">Supply</text>
<text x="104" y="132">PVR</text>
<text x="132" y="132">to</text>
<text x="184" y="132">Registrar</text>
<text x="268" y="132">(including</text>
<text x="344" y="132">backend</text>
<text x="428" y="132">interaction)</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="236" y="180">mTLS</text>
<text x="308" y="196">[Registrar-Agent</text>
<text x="308" y="212">authenticated&amp;authorized?]</text>
<text x="240" y="228">PVR</text>
<text x="312" y="228">|</text>
<text x="280" y="244">[accept</text>
<text x="348" y="244">device?]</text>
<text x="284" y="260">[contact</text>
<text x="352" y="260">vendor]</text>
<text x="436" y="292">mTLS</text>
<text x="440" y="308">RVR</text>
<text x="460" y="324">[extract</text>
<text x="536" y="324">DomainID]</text>
<text x="456" y="340">[update</text>
<text x="512" y="340">audit</text>
<text x="556" y="340">log]</text>
<text x="440" y="356">Voucher</text>
<text x="240" y="372">Voucher</text>
<text x="16" y="404">~</text>
<text x="168" y="404">~</text>
<text x="312" y="404">~</text>
<text x="456" y="404">~</text>
<text x="560" y="404">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(3) Supply PVR to Registrar (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<-----mTLS------>|                 |            |
 |                  |         [Registrar-Agent          |            |
 |                  |    authenticated&authorized?]     |            |
 |                  |-------PVR------>|                 |            |
 |                  |          [accept device?]         |            |
 |                  |          [contact vendor]         |            |
 |                  |                 |                 |            |
 |                  |                 |<------------mTLS------------>|
 |                  |                 |--------------RVR------------>|
 |                  |                 |              [extract DomainID]
 |                  |                 |              [update audit log]
 |                  |                 |<-----------Voucher-----------|
 |                  |<----Voucher-----|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>The HTTP request Content-Type header field for JSON-in-JWS PVR is: <spanx style="verb">application/voucher-jws+json</spanx> (see <xref target="tpvr"/> for the content definition), as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>

<t>The Registrar-Agent sets the Accept field in the request-header indicating the acceptable Content-Type for the Voucher.</t>

<t>The HTTP response Content-Type header field is set to <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/> if no content negotiation is used.</t>

<section anchor="request-artifact-pledge-voucher-request-pvr"><name>Request Artifact: Pledge Voucher-Request (PVR)</name>

<t>For BRSKI-PRM, the Registrar-Agent sends the PVR by HTTP POST to the same registrar endpoint as introduced by BRSKI: "/.well-
known/brski/requestvoucher", but with a Content-Type header field for JSON-in-JWS"</t>

</section>
<section anchor="rvr-proc"><name>Supply RVR to MASA (backend interaction)</name>

<t>The registrar needs to convert the PVR to an RVR and supply it to the MASA.</t>

<t>If the MASA address/URI is learned from the IDevID MASA URI extension (<xref section="2.3" sectionFormat="of" target="RFC8995"/>), then the MASA on that URI <bcp14>MUST</bcp14> support the procedures defined in this document if the PVR used JSON-JWS encoding.
If the MASA is only configured on the registrar, then a registrar supporting BRKSI-PRM and other voucher encoding formats (such as those in <xref target="RFC8995"/>) <bcp14>SHOULD</bcp14> support per-message-format MASA address/URI configuration for the same IDevID trust anchor."</t>

<t>The registrar <bcp14>SHALL</bcp14> construct the payload of the RVR as defined in <xref target="RFC8995"/>, Section 5.5.
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 Registrar-Agent proximity based on the agent-signed-data.</t>
  <t>prior-signed-voucher-request: PVR as received from Registrar-Agent, see <xref target="tpvr"/></t>
</list></t>

<t>The RVR <bcp14>MUST</bcp14> be extended 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: EE (RegAgt) certificate or the EE (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.
If only a single object is contained in the x5c it <bcp14>MUST</bcp14> be the base64-encoded EE (RegAgt) certificate.
If multiple certificates are included in the x5c, the first <bcp14>MUST</bcp14> be the base64-encoded EE (RegAgt) certificate.</t>
</list></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 LDevID 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(UTF8(ietf-voucher-request:voucher)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "ietf-voucher-request:voucher"
  representation in JSON syntax
{
  "ietf-voucher-request: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==",
       "..."
     ]
  }
}

# Example: 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>This document uses the JSON-in-JWS format throughout the definition of exchanges and in the examples.
Nevertheless, alternative encodings of the voucher as used in BRSKI <xref target="RFC8995"/> with JSON-in-CMS or CBOR-in-COSE_Sign <xref target="RFC9052"/> for constraint environments are possible as well.
The assumption is that a pledge typically supports a single encoding variant and creates the PVR in the supported format.
To ensure that the pledge is able to process the voucher, the registrar <bcp14>MUST</bcp14> use the media type for Accept header in the RVR based on the media type used for the PVR.</t>

<t>Once the MASA receives the RVR it <bcp14>SHALL</bcp14> perform the verification as described in <xref section="5.5" sectionFormat="of" 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 LDevID certificate.
If so, it <bcp14>MUST</bcp14> correspond to the registrar LDevID credentials used to sign the RVR.
Note: Correspond here relates to the case that a single registrar LDevID certificate is used or that different registrar LDevID 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 EE (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 EE (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 LDevID 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 EE (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 <xref section="5.6" sectionFormat="of" target="RFC8995"/> and comprise the codes: 403, 404, 406, and 415.</t>

<t>The registrar provides the EE certificate of the Registrar-Agent identified by the SubjectKeyIdentifier (SKID) in the header of the "agent-signed-data" from the PVR in its RVR (see also <xref target="rvr-proc"/>).</t>

<t>The MASA in turn verifies the registrar LDevID certificate is included in the PVR (contained in the "prior-signed-voucher-request" field of RVR) in the "agent-provided-proximity-registrar-cert" leaf and may assert the PVR as "verified" or "logged".</t>

<t>In addition, the MASA may issue the assertion "agent-proximity" as follows:
The MASA verifies the signature of the "agent-signed-data" contained in the "prior-signed-voucher-request", based on the provided EE certificate of the Registrar-Agent in the "agent-sign-cert" leaf of the RVR.
If both can be verified successfully, the MASA can assert "agent-proximity" in the voucher.
The assertion of "agent-proximity" is similar to the proximity assertion by the MASA when using BRSKI.
Note that the different assertions do not provide a metric of strength as the security properties are not comparable.</t>

<t>Depending on the MASA verification policy, it may also respond with a suitable 4xx or 5xx response status codes as described in <xref section="5.6" sectionFormat="of" target="RFC8995"/>.
When successful, the Voucher will then be supplied via the registrar to the Registrar-Agent.</t>

</section>
<section anchor="exchanges_uc2_2_vc"><name>Issue Voucher by MASA (backend interaction)</name>

<t>The MASA creates a voucher with Media-Type of <spanx style="verb">application/voucher-jws+json</spanx> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
If the MASA detects that the Accept header of the PVR does not match <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 is according to <xref target="I-D.ietf-anima-rfc8366bis"/> but uses the new assertion value specified <xref target="agt_prx"/>.</t>

<t><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(UTF8(ietf-voucher:voucher)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: 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=="
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "voucher-jws+json"
}
]]></artwork></figure>

<t>The pinned-domain certificate to be put into the voucher is determined by the MASA as described in <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
The MASA returns the voucher-response (voucher) to the registrar.</t>

</section>
<section anchor="exchanges_uc2_2_vs"><name>Supply Voucher to Registrar (backend interaction)</name>

<t>After receiving the voucher the registrar <bcp14>SHOULD</bcp14> evaluate it for transparency and logging purposes as outlined in <xref section="5.6" sectionFormat="of" target="RFC8995"/>.
The registrar <bcp14>MUST</bcp14> add an additional signature to the MASA provided voucher using its registrar EE credentials.</t>

<t>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 subordinate CA certificates up to (but not including) the pinned domain certificate.
The pinned domain certificate is already contained in the voucher payload ("pinned-domain-cert").</t>

<t>(For many installations, with a single registrar credential, the registrar credential is what is pinned)</t>

<t>In <xref target="RFC8995"/>, the Registrar proved possession of the it's credential when the TLS session was setup.
While the pledge could not, at the time, validate the certificate truly belonged the registrar, it did validate that the certificate it was provided was able to authenticate the TLS connection.</t>

<t>In the BRSKI-PRM mode, with the Registrar-Agent mediating all communication, the Pledge has not as yet been able to witness that the intended Registrar really does possess the relevant private key.
This second signature provides for the same level of assurance to the pledge, and that it matches the public key that the pledge received in the trigger for the PVR (see <xref target="pavrt"/>).</t>

<t>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 has some operational implications when the registrar may be part of a scalable framework as described in <xref section="1.3.1" sectionFormat="comma" target="I-D.richardson-anima-registrar-considerations"/>.</t>

<t>The second signature <bcp14>MUST</bcp14> either be done with the private key associated with the registrar EE certificate provided to the Registrar-Agent, or the use of a certificate chain is necessary.
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".</t>

<t><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": BASE64URL(JWS Signature)
    },
    {
      "protected": BASE64URL(UTF8(JWS Protected Header (Reg))),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: 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=="
  }
}

# Example: Decoded "JWS Protected Header (MASA)" representation
  in JSON syntax
{
  "alg": "ES256",
  "typ": "voucher-jws+json",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}

# Example: 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="response-artifact-voucher"><name>Response Artifact: Voucher</name>

<t>After receiving the PVR from Registrar-Agent, the registrar <bcp14>SHALL</bcp14> perform the verification as defined in <xref section="5.3" sectionFormat="of" 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 LDevID 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 Registrar-Agent provided data has been signed with the private key corresponding to the EE (RegAgt) certificate 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 EE (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 has access to the EE (RegAgt) certificate data (including intermediate CA certificates if existent) based on the SKID.
Note, the registrar may have stored the EE (RegAgt) certificate if used during TLS establishment between Registrar-Agent and registrar or it may be provided via a repository.</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 or if the pledge-provided information could not be used with automated allowance.</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 performs pledge authorization according to <xref section="5.3" sectionFormat="of" target="RFC8995"/> followed by obtaining a voucher from the pledge's MASA according to <xref section="5.4" sectionFormat="of" target="RFC8995"/> with the modifications described below in <xref target="rvr-proc"/>.</t>

</section>
</section>
<section anchor="per"><name>Supply PER to Registrar (including backend interaction)</name>

<t>After receiving the voucher, the Registrar-Agent sends the PER to the registrar in the same HTTP-over-TLS connection. Which is similar to the PER processing described in <xref section="5.2" sectionFormat="of" target="RFC8995"/>.
In case the PER cannot be send in the same HTTP-over-TLS connection the Registrar-Agent may send the PER in a new HTTP-over-TLS connection. The registrar is able to correlate the PVR and the PER based on the signatures and the contained product-serial-number information.
Note, this also addresses situations in which a nonceless voucher is used and may be pre-provisioned to the pledge.</t>

<t><xref target="exchangesfig_uc2_4"/> depicts exchanges for the PER request handling and the following subsections describe the corresponding artifacts.</t>

<figure title="Enroll exchange" anchor="exchangesfig_uc2_4"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="576" viewBox="0 0 576 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,272" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,272" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,272" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,272" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,272" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 176,176 L 216,176" fill="none" stroke="black"/>
<path d="M 256,176 L 304,176" fill="none" stroke="black"/>
<path d="M 176,192 L 224,192" fill="none" stroke="black"/>
<path d="M 256,192 L 304,192" fill="none" stroke="black"/>
<path d="M 320,208 L 360,208" fill="none" stroke="black"/>
<path d="M 400,208 L 448,208" fill="none" stroke="black"/>
<path d="M 320,224 L 368,224" fill="none" stroke="black"/>
<path d="M 400,224 L 448,224" fill="none" stroke="black"/>
<path d="M 320,240 L 336,240" fill="none" stroke="black"/>
<path d="M 432,240 L 448,240" fill="none" stroke="black"/>
<path d="M 176,256 L 192,256" fill="none" stroke="black"/>
<path d="M 288,256 L 304,256" fill="none" stroke="black"/>
<polygon class="arrowhead" points="456,224 444,218.4 444,229.6" fill="black" transform="rotate(0,448,224)"/>
<polygon class="arrowhead" points="456,208 444,202.4 444,213.6" fill="black" transform="rotate(0,448,208)"/>
<polygon class="arrowhead" points="328,240 316,234.4 316,245.6" fill="black" transform="rotate(180,320,240)"/>
<polygon class="arrowhead" points="328,208 316,202.4 316,213.6" fill="black" transform="rotate(180,320,208)"/>
<polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
<polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
<polygon class="arrowhead" points="184,256 172,250.4 172,261.6" fill="black" transform="rotate(180,176,256)"/>
<polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(4)</text>
<text x="60" y="132">Supply</text>
<text x="104" y="132">PER</text>
<text x="132" y="132">to</text>
<text x="184" y="132">Registrar</text>
<text x="268" y="132">(including</text>
<text x="344" y="132">backend</text>
<text x="428" y="132">interaction)</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="236" y="180">mTLS</text>
<text x="240" y="196">PER</text>
<text x="380" y="212">mTLS</text>
<text x="384" y="228">RER</text>
<text x="384" y="244">Enroll-Resp</text>
<text x="240" y="260">Enroll-Resp</text>
<text x="16" y="292">~</text>
<text x="168" y="292">~</text>
<text x="312" y="292">~</text>
<text x="456" y="292">~</text>
<text x="560" y="292">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(4) Supply PER to Registrar (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-------PER------>|                 |            |
 |                  |                 |<-----mTLS------>|            |
 |                  |                 |-------RER------>|            |
 |                  |                 |<--Enroll-Resp---|            |
 |                  |<--Enroll-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>In case the TLS connection to the registrar is already closed, the Registrar-Agent opens a new TLS connection with the registrar as stated in <xref target="pvr"/>.</t>

<section anchor="request-artifact-pledge-enroll-request-per"><name>Request Artifact: Pledge Enroll-Request (PER)</name>

<t>As specified in <xref target="tper"/> 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_example"/>.</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 Registrar-Agent <bcp14>SHALL</bcp14> send the PER to the registrar by HTTP POST to the endpoint: "/.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 EE (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>
</list></t>

</section>
<section anchor="enroll-pledge-by-domain-ca-backend-interaction"><name>Enroll Pledge by Domain CA (backend interaction)</name>

<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 Enroll-Request with the corresponding domain CA.
It creates a Registrar Enroll-Request (RER) by utilizing the protocol expected by the domain CA.</t>

<t>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.</t>

<t>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>

</section>
<section anchor="response-artifact-enroll-response-enroll-resp"><name>Response Artifact: Enroll-Response (Enroll-Resp)</name>

<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>

<t>Note while BRSKI-PRM targets the initial enrollment, re-enrollment may be supported in a similar way with the exception that the current LDevID certificate is used instead of the IDevID certificate to verify the wrapping signature of the PKCS#10 request (see also <xref target="tper"/>).</t>

</section>
</section>
<section anchor="req_cacerts"><name>Request CA Certificates</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><xref target="exchangesfig_uc2_5"/> shows the request and provisioning of CA certificates in the infrastructure. 
The following subsections describe the corresponding artifacts.</t>

<figure title="CA certificates retrival exchange" anchor="exchangesfig_uc2_5"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,224" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,224" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,224" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,224" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,224" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 176,176 L 216,176" fill="none" stroke="black"/>
<path d="M 256,176 L 304,176" fill="none" stroke="black"/>
<path d="M 176,192 L 192,192" fill="none" stroke="black"/>
<path d="M 280,192 L 304,192" fill="none" stroke="black"/>
<path d="M 176,208 L 192,208" fill="none" stroke="black"/>
<path d="M 288,208 L 304,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
<polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
<polygon class="arrowhead" points="184,208 172,202.4 172,213.6" fill="black" transform="rotate(180,176,208)"/>
<polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(5)</text>
<text x="64" y="132">Request</text>
<text x="108" y="132">CA</text>
<text x="172" y="132">Certificates</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="236" y="180">mTLS</text>
<text x="236" y="196">cACert-Req</text>
<text x="240" y="212">cACert-Resp</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(5) Request CA Certificates
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |---cACert-Req--->|                 |            |
 |                  |<--cACert-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>In case the TLS connection to the registrar is already closed, the Registrar-Agent opens a new TLS connection with the registrar as stated in <xref target="pvr"/>.</t>

<section anchor="request-artifact-cacert-request-cacert-req"><name>Request Artifact: cACert-Request (cACert-Req)</name>

<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>

</section>
<section anchor="response-artifact-cacert-response-cacert-resp"><name>Response Artifact: cACert-Response (cACert-Resp)</name>

<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 LDevID credentials.
This results in a signed CA certificate(s) object (JSON-in-JWS), the CA certificates are provided as base64-encoded "x5bag" (see definition in <xref target="RFC9360"/>) in the JWS payload.</t>

<figure title="Representation of CA certificate(s) data with registrar signature" anchor="PCAC"><artwork align="left"><![CDATA[
# The CA certificates data with registrar signature in 
# General JWS Serialization syntax
{
  "payload": BASE64URL(certs),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "certs" representation in JSON syntax
{
  "x5bag": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}


# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

</section>
</section>
<section anchor="voucher"><name>Supply Voucher 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>To deliver these response objects, 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="pvr"/>:</t>

<t><list style="symbols">
  <t>Registrar-Agent: obtained voucher and LDevID certificate and optionally IDevID CA certificates.
The IDevID CA certificate is necessary, when the connection between the Registrar-Agent and the pledge is established using TLS to enable the Registrar-Agent to validate the pledges' IDevID certificate during the TLS handshake as described in <xref target="tpvr"/>.</t>
</list></t>

<t>The Registrar-Agent <bcp14>MAY</bcp14> optionally use TLS to protect the communication as outlined in <xref target="tpvr"/>.</t>

<t>The Registrar-Agent provides the information via distinct pledge endpoints as following.
<xref target="exchangesfig_uc2_6"/> shows the provisioning of the voucher to the pledge. 
The following subsections describe the corresponding artifacts.</t>

<figure title="Voucher exchange" anchor="exchangesfig_uc2_6"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,224" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,224" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,224" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,224" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,224" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,176 L 56,176" fill="none" stroke="black"/>
<path d="M 128,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,192 L 64,192" fill="none" stroke="black"/>
<path d="M 128,192 L 160,192" fill="none" stroke="black"/>
<path d="M 24,208 L 64,208" fill="none" stroke="black"/>
<path d="M 128,208 L 160,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
<polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(6)</text>
<text x="60" y="132">Supply</text>
<text x="120" y="132">Voucher</text>
<text x="164" y="132">to</text>
<text x="204" y="132">Pledge</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="76" y="180">opt.</text>
<text x="112" y="180">TLS</text>
<text x="96" y="196">Voucher</text>
<text x="96" y="212">vStatus</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(6) Supply Voucher to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----Voucher-----|                 |                 |            |
 |------vStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<section anchor="request-artifact-voucher"><name>Request Artifact: Voucher</name>

<t>The Registrar-Agent <bcp14>SHALL</bcp14> send the voucher-response to the pledge by HTTP POST to the endpoint: "/.well-known/brski/svr".</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 several 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 <xref section="5.6.1" sectionFormat="of" target="RFC8995"/>, against pre-installed manufacturer trust anchor (IDevID).</t>
  <t>Install trust anchor contained in the voucher ("pinned-domain-cert")  provisionally</t>
  <t>Validate the LDevID(Reg) 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>
  <t>Verify registrar signature of the voucher similar as described in <xref section="5.6.1" sectionFormat="of" target="RFC8995"/>, but take the registrar certificate instead of the MASA certificate for the verification</t>
</list></t>

<t>Step3 and step 4 have been introduced in BRSKI-PRM to enable verification of LDevID(Reg) certificate and also the proof-of-possession of the corresponding private key by the registrar, which is done in BRSKI based on the established TLS channel.
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 LDevID 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="response-artifact-voucher-status-vstatus"><name>Response Artifact: Voucher Status (vStatus)</name>

<t>After voucher verification and validation the pledge <bcp14>MUST</bcp14> reply with a status telemetry message as defined in <xref section="5.7" sectionFormat="of" 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": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "pledge-voucher-status" representation
  in JSON syntax for success case
{
  "version": 1,
  "status": true,
  "reason": "Voucher successfully processed",
  "reason-context": {
    "pvs-details": "JSON"
  }
}

# Example: Decoded payload "pledge-voucher-status" representation
  in JSON syntax for error case
{
  "version": 1,
  "status": false,
  "reason": "Failed to authenticate MASA certificate because
  it starts in the future (1/1/2023).",
  "reason-context": {
    "pvs-details": "Current date: 1/1/1970"
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork></figure>

<t>If the pledge did not did not provide voucher status telemetry information after processing the voucher, the Registrar-Agent <bcp14>MAY</bcp14> query the pledge status explicitly as described in <xref target="query"/> and <bcp14>MAY</bcp14> resent the voucher depending on the Pledge status following the procedure described in <xref target="voucher"/>.</t>

</section>
</section>
<section anchor="cacerts"><name>Supply CA Certificates to Pledge</name>

<t><xref target="exchangesfig_uc2_7"/> shows the provisioning of the CA certificates aquired by the pledge-agent to the pledge. 
The following subsections describe the corresponding artifacts.</t>

<figure title="Certificate provisioning exchange" anchor="exchangesfig_uc2_7"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="576" viewBox="0 0 576 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,208" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,208" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,208" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,208" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,208" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,176 L 56,176" fill="none" stroke="black"/>
<path d="M 128,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,192 L 64,192" fill="none" stroke="black"/>
<path d="M 128,192 L 160,192" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
<polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(7)</text>
<text x="60" y="132">Supply</text>
<text x="100" y="132">CA</text>
<text x="164" y="132">Certificates</text>
<text x="228" y="132">to</text>
<text x="268" y="132">Pledge</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="76" y="180">opt.</text>
<text x="112" y="180">TLS</text>
<text x="96" y="196">cACerts</text>
<text x="16" y="228">~</text>
<text x="168" y="228">~</text>
<text x="312" y="228">~</text>
<text x="456" y="228">~</text>
<text x="560" y="228">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(7) Supply CA Certificates to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----cACerts-----|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<section anchor="request-artifact"><name>Request Artifact:</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/scac".</t>

<t>As the CA certificate provisioning is crucial from a security perspective, this provisioning <bcp14>SHOULD</bcp14> only be done, if the voucher-response has been successfully processed by pledge as reflected in the voucher status telemetry.</t>

<t>The CA certificates message has the Content-Type <spanx style="verb">application/jose+json</spanx> and is signed using the credential of the registrar as shown in <xref target="PCAC"/>.</t>

<t>The CA certificates are provided as base64-encoded "x5bag".
The pledge <bcp14>SHALL</bcp14> install the received CA certificates as trust anchor after successful verification of the registrar's signature.</t>

</section>
<section anchor="response-no-artifact"><name>Response (no artifact)</name>

<t>The verification comprises the following steps the pledge <bcp14>MUST</bcp14> perform. Maintaining the order of versification steps as indicated allows to determine, which verification has already been passed:</t>

<t><list style="numbers">
  <t>Check content-type of the CA certificates message. If no Content-Type is contained in the HTTP header, the default Content-Type utilized in this document (JSON-in-JWS) is used. If the Content-Type of the response is in an unknown or unsupported format, the pledge <bcp14>SHOULD</bcp14> reply with a 415 Unsupported media type error code.</t>
  <t>Check the encoding of the payload. If the pledge detects errors in the encoding of the payload, it <bcp14>SHOULD</bcp14> reply with 400 Bad Request error code.</t>
  <t>Verify that the wrapped CA certificate object is signed using the registrar certificate against the pinned-domain certificate. This <bcp14>MAY</bcp14> be done by comparing the hash that is indicating the certificate used to sign the message is that of the pinned-domain certificate. If the validation against the pinned domain-certificate fails, the client <bcp14>SHOULD</bcp14> reply with a 401 Unauthorized error code. It signals that the authentication has failed and therefore the object was not accepted.</t>
  <t>Verify signature of the received wrapped CA certificate object using the domain certificate contained in the voucher. If the validation of the signature fails, the pledge <bcp14>SHOULD</bcp14> reply with a 403 Forbidden. It signals that the object could not be verified and has not been accepted.</t>
  <t>If the received CA certificates are not self-signed, i.e., an intermediate CA certificate, verify them against an already installed trust anchor, as described in section 4.1.3 of <xref target="RFC7030"/>.</t>
</list></t>

<t>In case of success, the pledge <bcp14>SHOULD</bcp14> reply with HTTP 200 OK without a response body.</t>

</section>
</section>
<section anchor="enroll_response"><name>Supply Enroll-Response to Pledge</name>

<t><xref target="exchangesfig_uc2_8"/> shows the supply of the Enroll-Response to the pledge.
The following subsections describe the corresponding artifacts.</t>

<figure title="Enroll-Response exchange" anchor="exchangesfig_uc2_8"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,224" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,224" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,224" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,224" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,224" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,176 L 56,176" fill="none" stroke="black"/>
<path d="M 128,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,192 L 48,192" fill="none" stroke="black"/>
<path d="M 144,192 L 160,192" fill="none" stroke="black"/>
<path d="M 24,208 L 56,208" fill="none" stroke="black"/>
<path d="M 120,208 L 160,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
<polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(8)</text>
<text x="60" y="132">Supply</text>
<text x="152" y="132">Enroll-Response</text>
<text x="228" y="132">to</text>
<text x="268" y="132">Pledge</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="76" y="180">opt.</text>
<text x="112" y="180">TLS</text>
<text x="96" y="196">Enroll-Resp</text>
<text x="88" y="212">eStatus</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(8) Supply Enroll-Response to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<---Enroll-Resp---|                 |                 |            |
 |-----eStatus----->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<section anchor="request-artifact-enroll-response-enroll-resp"><name>Request Artifact: Enroll-Response (Enroll-Resp)</name>

<t>The Registrar-Agent <bcp14>SHALL</bcp14> send the Enroll-Response to the pledge by HTTP(S) POST to the endpoint: "/.well-known/brski/ser".</t>

<t>The 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 property <bcp14>SHALL</bcp14> be set to "status": true, otherwise to "status": false</t>

</section>
<section anchor="response-artifact-enroll-status-estatus"><name>Response Artifact: Enroll Status (eStatus)</name>

<t>After enrollment processing the pledge <bcp14>MUST</bcp14> reply with a enrollment status telemetry message as defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
The enroll-status is also a signed object in BRSKI-PRM and results in form of JSON-in-JWS here.
If the pledge verified the received LDevID certificate successfully it <bcp14>SHALL</bcp14> sign the enroll-status using its new LDevID credentials as shown in <xref target="estat"/>.
In failure case, the pledge <bcp14>SHALL</bcp14> use its IDevID credentials.
<xref section="5.9.4" sectionFormat="of" target="RFC8995"/> specifies the enrollment status telemetry message with two optional fields for "reason" and "reason-context". 
In BRSKI-PRM the optional fields are mandated to have a clear distinction between other status messages and <bcp14>MUST</bcp14> be provided therefore.
This distinction is intended for better error handling on registrar side, as a status object could be send to a wrong status endpoint.</t>

<t>The following CDDL <xref target="RFC8610"/> explains enroll-status response structure. 
It is similar as defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/> with the optional fields set to mandatory as described above.</t>

<figure title="CDDL for pledge-enrollment-status response" anchor="e_stat_res_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
enrollstatus-trigger = {
    "version": uint,
    "status": bool,
    "reason": text,
    "reason-context" : { $$arbitrary-map }
  }
<CODE ENDS>
]]></artwork></figure>

<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": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "pledge-enroll-status" representation
  in JSON syntax for success case
{
  "version": 1,
  "status": true,
  "reason": "Enroll-Response successfully processed",
  "reason-context": {
    "pes-details": "JSON"
  }
}

# Example: Decoded payload "pledge-voucher-status" representation
  in JSON syntax for error case
{
  "version": 1,
  "status": false,
  "reason": "Enroll-Response could not be verified.",
  "reason-context": {
    "pes-details": "no matching trust anchor"
  }
}

# Example: 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>
<section anchor="vstatus"><name>Voucher Status Telemetry (including backend interaction)</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="pvr"/>:</t>

<t><list style="symbols">
  <t>Registrar-Agent: obtained voucher status (vStatus) and enroll status (eStatus) from pledge.</t>
</list></t>

<figure><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="304" width="576" viewBox="0 0 576 304" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,272" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,272" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,240" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,200" fill="none" stroke="black"/>
<path d="M 456,256 L 456,272" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,272" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 176,176 L 216,176" fill="none" stroke="black"/>
<path d="M 256,176 L 304,176" fill="none" stroke="black"/>
<path d="M 176,192 L 208,192" fill="none" stroke="black"/>
<path d="M 272,192 L 304,192" fill="none" stroke="black"/>
<path d="M 320,208 L 416,208" fill="none" stroke="black"/>
<path d="M 456,208 L 552,208" fill="none" stroke="black"/>
<path d="M 320,224 L 352,224" fill="none" stroke="black"/>
<path d="M 520,224 L 552,224" fill="none" stroke="black"/>
<path d="M 320,240 L 368,240" fill="none" stroke="black"/>
<path d="M 504,240 L 552,240" fill="none" stroke="black"/>
<polygon class="arrowhead" points="560,224 548,218.4 548,229.6" fill="black" transform="rotate(0,552,224)"/>
<polygon class="arrowhead" points="560,208 548,202.4 548,213.6" fill="black" transform="rotate(0,552,208)"/>
<polygon class="arrowhead" points="328,240 316,234.4 316,245.6" fill="black" transform="rotate(180,320,240)"/>
<polygon class="arrowhead" points="328,208 316,202.4 316,213.6" fill="black" transform="rotate(180,320,208)"/>
<polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
<polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
<polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="16" y="132">(9)</text>
<text x="64" y="132">Voucher</text>
<text x="124" y="132">Status</text>
<text x="192" y="132">Telemetry</text>
<text x="276" y="132">(including</text>
<text x="352" y="132">backend</text>
<text x="436" y="132">interaction)</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="236" y="180">mTLS</text>
<text x="240" y="196">vStatus</text>
<text x="436" y="212">mTLS</text>
<text x="368" y="228">req</text>
<text x="412" y="228">device</text>
<text x="464" y="228">audit</text>
<text x="504" y="228">log</text>
<text x="396" y="244">device</text>
<text x="448" y="244">audit</text>
<text x="488" y="244">log</text>
<text x="264" y="260">[verify</text>
<text x="320" y="260">audit</text>
<text x="364" y="260">log]</text>
<text x="312" y="276">|</text>
<text x="16" y="292">~</text>
<text x="168" y="292">~</text>
<text x="312" y="292">~</text>
<text x="456" y="292">~</text>
<text x="560" y="292">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(9) Voucher Status Telemetry (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-----vStatus---->|                 |            |
 |                  |                 |<-----------(mTLS)----------->|
 |                  |                 |-----req device audit log---->|
 |                  |                 |<------device audit log-------|
 |                  |        [verify audit log]         |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>
<t>{: #exchangesfig_uc2_9 title="Voucher Status telemetry exchange" artwork-align="center"}~~~~ aasvg</t>

<t>In case the TLS connection to the registrar is already closed, the Registrar-Agent opens a new TLS connection with the registrar as stated in <xref target="pvr"/>.</t>

<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>

<section anchor="request-artifact-voucher-status-vstatus"><name>Request Artifact: Voucher Status (vStatus)</name>

<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 depicted in the example in <xref target="vstat"/>.</t>

<t>The registrar <bcp14>SHOULD</bcp14> log the transaction provided for a pledge via Registrar-Agent and include the identity of the Registrar-Agent in these logs. For log analysis the following may be considered:</t>

<t><list style="symbols">
  <t>The registrar knows the interacting Registrar-Agent from the authentication of the Registrar-Agent towards the registrar using LDevID (RegAgt) and can log it accordingly.</t>
  <t>The telemetry information from the pledge can be correlated to the voucher response provided from the registrar to the Registrar-Agent and further to the pledge.</t>
  <t>The telemetry information, when provided to the registrar is provided via the Registrar-Agent and can thus be correlated.</t>
</list></t>

<t>The registrar <bcp14>SHALL</bcp14> verify the signature of the pledge voucher status and validate that it belongs to an accepted device of the domain based on the contained "serial-number" in the IDevID certificate referenced in the header of the voucher status.</t>

</section>
<section anchor="response-no-artifact-1"><name>Response (no artifact)</name>

<t>According to <xref section="5.7" sectionFormat="of" target="RFC8995"/>, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK without a response body in the success case or fail with HTTP 4xx/5xx status codes.
The Registrar-Agent may use the response status code 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 <xref section="5.8" sectionFormat="of" target="RFC8995"/>.</t>

</section>
</section>
<section anchor="estatus"><name>Enroll Status Telemetry</name>

<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>

<figure title="Enroll Status telemetry exchange" anchor="exchangesfig_uc2_10"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="240" width="576" viewBox="0 0 576 240" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,208" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,208" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,208" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,208" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,208" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 176,176 L 216,176" fill="none" stroke="black"/>
<path d="M 256,176 L 304,176" fill="none" stroke="black"/>
<path d="M 176,192 L 208,192" fill="none" stroke="black"/>
<path d="M 272,192 L 304,192" fill="none" stroke="black"/>
<polygon class="arrowhead" points="312,192 300,186.4 300,197.6" fill="black" transform="rotate(0,304,192)"/>
<polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
<polygon class="arrowhead" points="184,176 172,170.4 172,181.6" fill="black" transform="rotate(180,176,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="20" y="132">(10)</text>
<text x="68" y="132">Enroll</text>
<text x="124" y="132">Status</text>
<text x="192" y="132">Telemetry</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="236" y="180">mTLS</text>
<text x="240" y="196">eStatus</text>
<text x="16" y="228">~</text>
<text x="168" y="228">~</text>
<text x="312" y="228">~</text>
<text x="456" y="228">~</text>
<text x="560" y="228">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(10) Enroll Status Telemetry
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-----eStatus---->|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>In case the TLS connection to the registrar is already closed, the Registrar-Agent opens a new TLS connection with the registrar as stated in <xref target="pvr"/>.</t>

<section anchor="request-artifact-enroll-status-estatus"><name>Request Artifact: Enroll Status (eStatus)</name>

<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 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 of the 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 signature verification of the status information is an addition to the described handling in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>, and is replacing the pledges TLS client authentication by DevID credentials in <xref target="RFC8995"/>.</t>

</section>
<section anchor="response-no-artifact-2"><name>Response (no artifact)</name>

<t>According to <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>, the registrar <bcp14>SHOULD</bcp14> respond with an HTTP 200 OK in the success case or fail with HTTP 4xx/5xx status codes.</t>

<t>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.
An example case for the registrar revoking the issued LDevID for the pledge is when the pledge was not able to verify the received LDevID certificate and therefore did send a 406 (Not Acceptable) response.
In this case the registrar may revoke the LDevID certificate as the pledge did no accepted it for installation.</t>

<t>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="query"><name>Query Pledge Status</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 the dedicated endpoint for the Query Pledge Status operation.</t>

<figure title="Pledge Status exchange" anchor="exchangesfig_uc2_11"><artset><artwork  type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="256" width="576" viewBox="0 0 576 256" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
<path d="M 8,32 L 8,80" fill="none" stroke="black"/>
<path d="M 16,160 L 16,224" fill="none" stroke="black"/>
<path d="M 80,32 L 80,80" fill="none" stroke="black"/>
<path d="M 120,32 L 120,80" fill="none" stroke="black"/>
<path d="M 168,160 L 168,224" fill="none" stroke="black"/>
<path d="M 224,32 L 224,80" fill="none" stroke="black"/>
<path d="M 264,32 L 264,80" fill="none" stroke="black"/>
<path d="M 312,160 L 312,224" fill="none" stroke="black"/>
<path d="M 360,32 L 360,80" fill="none" stroke="black"/>
<path d="M 400,32 L 400,80" fill="none" stroke="black"/>
<path d="M 456,160 L 456,224" fill="none" stroke="black"/>
<path d="M 472,32 L 472,80" fill="none" stroke="black"/>
<path d="M 512,32 L 512,80" fill="none" stroke="black"/>
<path d="M 560,160 L 560,224" fill="none" stroke="black"/>
<path d="M 568,32 L 568,80" fill="none" stroke="black"/>
<path d="M 8,32 L 80,32" fill="none" stroke="black"/>
<path d="M 120,32 L 224,32" fill="none" stroke="black"/>
<path d="M 264,32 L 360,32" fill="none" stroke="black"/>
<path d="M 400,32 L 472,32" fill="none" stroke="black"/>
<path d="M 512,32 L 568,32" fill="none" stroke="black"/>
<path d="M 8,80 L 80,80" fill="none" stroke="black"/>
<path d="M 120,80 L 224,80" fill="none" stroke="black"/>
<path d="M 264,80 L 360,80" fill="none" stroke="black"/>
<path d="M 400,80 L 472,80" fill="none" stroke="black"/>
<path d="M 512,80 L 568,80" fill="none" stroke="black"/>
<path d="M 24,176 L 56,176" fill="none" stroke="black"/>
<path d="M 128,176 L 160,176" fill="none" stroke="black"/>
<path d="M 24,192 L 64,192" fill="none" stroke="black"/>
<path d="M 128,192 L 160,192" fill="none" stroke="black"/>
<path d="M 24,208 L 64,208" fill="none" stroke="black"/>
<path d="M 128,208 L 160,208" fill="none" stroke="black"/>
<polygon class="arrowhead" points="168,208 156,202.4 156,213.6" fill="black" transform="rotate(0,160,208)"/>
<polygon class="arrowhead" points="168,176 156,170.4 156,181.6" fill="black" transform="rotate(0,160,176)"/>
<polygon class="arrowhead" points="32,192 20,186.4 20,197.6" fill="black" transform="rotate(180,24,192)"/>
<polygon class="arrowhead" points="32,176 20,170.4 20,181.6" fill="black" transform="rotate(180,24,176)"/>
<g class="text">
<text x="44" y="52">Pledge</text>
<text x="172" y="52">Registrar-</text>
<text x="308" y="52">Domain</text>
<text x="436" y="52">Domain</text>
<text x="540" y="52">MASA</text>
<text x="168" y="68">Agent</text>
<text x="312" y="68">Registrar</text>
<text x="436" y="68">CA</text>
<text x="16" y="100">|</text>
<text x="168" y="100">|</text>
<text x="312" y="100">|</text>
<text x="456" y="100">|</text>
<text x="516" y="100">Internet</text>
<text x="560" y="100">|</text>
<text x="16" y="116">~</text>
<text x="168" y="116">~</text>
<text x="312" y="116">~</text>
<text x="456" y="116">~</text>
<text x="560" y="116">~</text>
<text x="20" y="132">(11)</text>
<text x="64" y="132">Query</text>
<text x="116" y="132">Pledge</text>
<text x="172" y="132">Status</text>
<text x="16" y="148">~</text>
<text x="168" y="148">~</text>
<text x="312" y="148">~</text>
<text x="456" y="148">~</text>
<text x="560" y="148">~</text>
<text x="76" y="180">opt.</text>
<text x="112" y="180">TLS</text>
<text x="96" y="196">tStatus</text>
<text x="96" y="212">pStatus</text>
<text x="16" y="244">~</text>
<text x="168" y="244">~</text>
<text x="312" y="244">~</text>
<text x="456" y="244">~</text>
<text x="560" y="244">~</text>
</g>
</svg>
</artwork><artwork  type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    | Domain |    | MASA |
|        |    |   Agent    |    | Registrar |    |   CA   |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(11) Query Pledge Status
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----tStatus-----|                 |                 |            |
 |------pStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork></artset></figure>

<t>The Registrar-Agent queries the Pledge Status via HTTP POST request on the well-known pledge endpoint <spanx style="verb">/.well-known/brski/qps</spanx>.
The request body <bcp14>MUST</bcp14> contain the JWS-signed Status Trigger (tStatus) artifact.
The request header <bcp14>MUST</bcp14> set the Content-Type field <spanx style="verb">application/jose+json</spanx>.</t>

<t>If the pledge provides the Query Pledge Status endpoint, it <bcp14>MUST</bcp14> reply to this request with the Pledge Status (pStatus) artifact in the body of a 200 OK response.
The response header <bcp14>MUST</bcp14> have the Content-Type field set to <spanx style="verb">application/jose+json</spanx>.</t>

<section anchor="request-artifact-status-trigger-tstatus"><name>Request Artifact: Status Trigger (tStatus)</name>

<t>The Status Query artifact is a JWS structure signing 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 following Concise Data Definition Language (CDDL) <xref target="RFC8610"/> defines the structure of the unsigned Status Query data (i.e., JWS payload):</t>

<figure title="CDDL for unsigned Status Trigger data (statustrigger)" anchor="stat_req_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  statustrigger = {
      "version": uint,
      "created-on": tdate,
      "serial-number": text,
      "status-type": text
  }
<CODE ENDS>
]]></artwork></figure>

<t>The <spanx style="verb">version</spanx> field is included to permit significant changes to the pledge status artifacts in the future.
The format and semantics in this document follow the status telemetry definitions of <xref target="RFC8995"/>.
Hence, the version <bcp14>MUST</bcp14> be set to <spanx style="verb">1</spanx>.
A pledge (or Registrar-Agent) that receives a version larger than it knows about <bcp14>SHOULD</bcp14> log the contents and alert a human.</t>

<t>The <spanx style="verb">created-on</spanx> field contains a standard date/time string following <xref target="RFC3339"/>.</t>

<t>The <spanx style="verb">serial-number</spanx> field takes the product-serial-number corresponding to the X520SerialNumber field of the IDevID certificate of the pledge.</t>

<t>The <spanx style="verb">status-type</spanx> value defined for BRSKI-PRM Status Query is <spanx style="verb">bootstrap</spanx>.
This indicates the pledge to provide current status information regarding the bootstrapping status (voucher processing and enrollment of the pledge into the new domain).</t>

<t>As the Status Query artifact is defined generic, it may be used by other specifications to request further status information using other status types, 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_data"/> below shows an example for unsigned Status Query data in JSON syntax using status-type <spanx style="verb">bootstrap</spanx>.</t>

<figure title="Example of unsigned Status Query data in JSON syntax using status-type bootstrap for the Status Query artifact" anchor="stat_req_data"><artwork align="left"><![CDATA[
{
  "version": 1,
  "created-on": "2022-08-12T02:37:39.235Z",
  "serial-number": "pledge-callee4711",
  "status-type": "bootstrap"
}
]]></artwork></figure>

<t>The Status Query data <bcp14>MUST</bcp14> be signed by the Registrar-Agent using its private key corresponding to the EE (RegAgt) certificate.
When using a JWS signature, the Status Query artifact looks as shown in <xref target="stat_req"/> and the Content-Type response header <bcp14>MUST</bcp14> be set to <spanx style="verb">application/jose+json</spanx>:</t>

<figure title="Status Query Representation in General JWS JSON Serialization Syntax" anchor="stat_req"><artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(status-query)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork></figure>

<t>For details on <spanx style="verb">JWS Protected Header</spanx> and <spanx style="verb">JWS Signature</spanx> see <xref target="I-D.ietf-anima-jws-voucher"/> or <xref target="RFC7515"/>.</t>

</section>
<section anchor="response-artifact-pledge-status-pstatus"><name>Response Artifact: Pledge Status (pStatus)</name>

<t>When the pledge receives a Status Query with status-type <spanx style="verb">bootstrap</spanx> it <bcp14>SHALL</bcp14> respond with previously collected telemetry information (see <xref target="vstatus"/> and <xref target="estatus"/>) in a single Pledge Status artifact.</t>

<t>The pledge-status response message is signed with IDevID or LDevID, depending on bootstrapping state of the pledge.</t>

<t>The following CDDL defines the structure of the Pledge Status (pStatus) data:</t>

<figure title="CDDL for unsigned Pledge Status data (pledgestatus)" anchor="stat_res_def"><artwork align="left"><![CDATA[
<CODE BEGINS>
  pledgestatus = {
    "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><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>As the pledge is assumed to utilize its bootstrapped credentials (LDevID) 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(UTF8(status-response)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}

# Example: Decoded payload "status-response" representation
  in JSON syntax
{
  "version": 1,
  "status": "enroll-success",
  "reason-context": {
    "additional" : "JSON"
  }
}

# Example: Decoded "JWS Protected Header" representation
  in JSON syntax
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "typ": "jose+json
}
]]></artwork></figure>

<t><list style="symbols">
  <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.</t>
  <t>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.</t>
  <t>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.</t>
  <t>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.</t>
  <t>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>
</list></t>

<t>The pledge <bcp14>SHOULD</bcp14> by default only respond to requests from nodes it can authenticate (such as registrar
agent), once the pledge is enrolled with CA certificates and a matching domain certificate.</t>

</section>
</section>
</section>
<section anchor="iana-con"><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>

<texttable title="BRSKI Well-Known URIs Additions" anchor="iana_table">
      <ttcol align='left'>Path Segment</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>requestenroll</c>
      <c>Supply PER to registrar</c>
      <c>[THISRFC]</c>
      <c>wrappedcacerts</c>
      <c>Request wrapped CA certificates</c>
      <c>[THISRFC]</c>
      <c>tpvr</c>
      <c>Trigger Pledge Voucher-Request</c>
      <c>[THISRFC]</c>
      <c>tper</c>
      <c>Trigger Pledge Enroll-Request</c>
      <c>[THISRFC]</c>
      <c>svr</c>
      <c>Supply Voucher to pledge</c>
      <c>[THISRFC]</c>
      <c>scac</c>
      <c>Supply CA certificates to pledge</c>
      <c>[THISRFC]</c>
      <c>ser</c>
      <c>Supply Enroll-Response to pledge</c>
      <c>[THISRFC]</c>
      <c>qps</c>
      <c>Query Pledge Status</c>
      <c>[THISRFC]</c>
</texttable>

</section>
<section anchor="dns-service-names"><name>DNS Service Names</name>

<t>IANA has registered the following service names:</t>

<t><strong>Service Name:</strong> brski-pledge<br />
<strong>Transport Protocol(s):</strong> tcp<br />
<strong>Assignee:</strong> IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref><br />
<strong>Contact:</strong> IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref><br />
<strong>Description:</strong> The Bootstrapping Remote Secure Key Infrastructure Pledge<br />
<strong>Reference:</strong> [THISRFC]</t>

</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>potentially no transport layer security between Registrar-Agent and pledge</t>
</list></t>

<t><xref target="tpvr"/> describes to optional apply TLS to protect the communication between the Registrar-Agent and the pledge.
The following is therefore applicable to the communication without the TLS protection.</t>

<t>The credential used by the Registrar-Agent to sign the data for the pledge <bcp14>SHOULD NOT</bcp14> 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="sec_cons-dos"><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.
Because in BRSKI-PRM, the pledge responds to requests from real or illicit Registrar-Agents, pledges are more subject to DoS attacks from Registrar-Agents in BRSKI-PRM than they are from illicit registrars in <xref target="RFC8995"/>, where pledges do initiate the connections.</t>

<t>A DoS attack with a faked Registrar-Agent may block the bootstrapping of the pledge due changing state 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.
An alternative may be that the onboarding state may expire after a certain time, if no further interaction has happened.</t>

<t>In addition, the pledge may assume that repeated triggering for PVR are the result of a communication error with the Registrar-Agent.
In that case the pledge <bcp14>MAY</bcp14> simply resent the PVR previously sent.
Note that in case of resending, a contained nonce and also the contained agent-signed-data in the PVR would consequently be reused.</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 LDevID 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 EE (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 section="11.4" sectionFormat="of" target="RFC8995"/>.</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 EE (RegAgt) certificate may be addressed by utilizing short-lived certificates (e.g., valid for a day) to authenticate the Registrar-Agent against the domain registrar.
The EE (RegAgt) certificate may have been acquired by a prior BRSKI run for the Registrar-Agent, if an IDevID is available on Registrar-Agent.
Alternatively, the EE (RegAgt) certificate 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 EE (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 EE (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 EE (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 DNS-SD with 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 section="11.7" sectionFormat="of" target="RFC8995"/> (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 section="3.7" sectionFormat="of" target="RFC8407"/> (Security Considerations).</t>

</section>
</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>We would like to thank the various reviewers, in particular Brian E. Carpenter, Charlie Kaufman (Early SECDIR review), Martin Björklund (Early YANGDOCTORS review), Marco Tiloca (Early IOTDIR review), 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' anchor="sec-normative-references">



<reference anchor="RFC6762">
  <front>
    <title>Multicast DNS</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <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"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <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"/>
    <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
    <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
    <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"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <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="RFC8366">
  <front>
    <title>A Voucher Artifact for Bootstrapping Protocols</title>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
    <author fullname="T. Eckert" initials="T." surname="Eckert"/>
    <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 "voucher".</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"/>
    <author fullname="C. Vigano" initials="C." surname="Vigano"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <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"/>
    <date month="May" year="2019"/>
    <abstract>
      <t>This memo defines a path prefix for "well-known locations", "/.well-known/", 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"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="T. Eckert" initials="T." surname="Eckert"/>
    <author fullname="M. Behringer" initials="M." surname="Behringer"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <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="RFC9360">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <date month="February" year="2023"/>
    <abstract>
      <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9360"/>
  <seriesInfo name="DOI" value="10.17487/RFC9360"/>
</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="29" month="August" year="2023"/>
      <abstract>
	 <t>   [TODO: I-D.draft-ietf-anima-rfc8366bis] 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-09"/>
   
</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="4" month="March" year="2024"/>
      <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&#x27;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&#x27;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-11"/>
   
</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"/>
    <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"/>
    <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>

<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</reference>

<reference anchor="RFC3339">
  <front>
    <title>Date and Time on the Internet: Timestamps</title>
    <author fullname="G. Klyne" initials="G." surname="Klyne"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="July" year="2002"/>
    <abstract>
      <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3339"/>
  <seriesInfo name="DOI" value="10.17487/RFC3339"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-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"/>
    <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
    <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="RFC3629">
  <front>
    <title>UTF-8, a transformation format of ISO 10646</title>
    <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
    <date month="November" year="2003"/>
    <abstract>
      <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="63"/>
  <seriesInfo name="RFC" value="3629"/>
  <seriesInfo name="DOI" value="10.17487/RFC3629"/>
</reference>

<reference anchor="RFC5272">
  <front>
    <title>Certificate Management over CMS (CMC)</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <author fullname="M. Myers" initials="M." surname="Myers"/>
    <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="RFC9525">
  <front>
    <title>Service Identity in TLS</title>
    <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
    <author fullname="R. Salz" initials="R." surname="Salz"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
      <t>This document obsoletes RFC 6125.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9525"/>
  <seriesInfo name="DOI" value="10.17487/RFC9525"/>
</reference>

<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <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"/>
    <author fullname="K. Hartke" initials="K." surname="Hartke"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <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="RFC8040">
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <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="RFC8407">
  <front>
    <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <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"/>
    <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <author fullname="Q. Wu" initials="Q." surname="Wu"/>
    <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 "single backslash" 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 "double backslash" 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="RFC8990">
  <front>
    <title>GeneRic Autonomic Signaling Protocol (GRASP)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="B. Carpenter" initials="B." role="editor" surname="Carpenter"/>
    <author fullname="B. Liu" initials="B." role="editor" surname="Liu"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8990"/>
  <seriesInfo name="DOI" value="10.17487/RFC8990"/>
</reference>

<reference anchor="RFC9052">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <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="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <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 "http" and "https" 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"/>
    <author fullname="J. Latour" initials="J." surname="Latour"/>
    <author fullname="H. Habibi Gharakheili" initials="H." surname="Habibi Gharakheili"/>
    <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="1" month="March" year="2024"/>
      <abstract>
	 <t>   This document defines an enhancement of Bootstrapping Remote Secure
   Key Infrastructure (BRSKI, RFC 8995).  It supports alternative
   certificate enrollment protocols, such as CMP, that use authenticated
   self-contained signed objects for certification messages.

   This offers the following advantages.  The origin of requests and
   responses can be authenticated independently of message transfer.
   This supports end-to-end authentication (proof of origin) also over
   multiple hops, as well as asynchronous operation of certificate
   enrollment.  This in turn provides architectural flexibility where
   and when to ultimately authenticate and authorize certification
   requests while retaining full-strength integrity and authenticity of
   certification requests.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-ae-10"/>
   
</reference>


<reference anchor="I-D.richardson-emu-eap-onboarding">
   <front>
      <title>EAP defaults for devices that need to onboard</title>
      <author fullname="Alan DeKok" initials="A." surname="DeKok">
         <organization>FreeRADIUS</organization>
      </author>
      <author fullname="Michael Richardson" initials="M." surname="Richardson">
         <organization>Sandelman Software Works</organization>
      </author>
      <date day="2" month="April" year="2023"/>
      <abstract>
	 <t>   This document describes a method by which an unconfigured device can
   use EAP to join a network on which further device onboarding, network
   attestation or other remediation can be done.  While RFC 5216
   supports EAP-TLS without a client certificate, that document defines
   no method by which unauthenticated EAP-TLS can be used.  This draft
   addresses that issue.  First, by defining the @eap.arpa domain, and
   second by showing how it can be used to provide quarantined network
   access for onboarding unauthenticated devices.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-richardson-emu-eap-onboarding-03"/>
   
</reference>


<reference anchor="I-D.eckert-anima-brski-discovery">
   <front>
      <title>Discovery for BRSKI variations</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei USA</organization>
      </author>
      <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Esko Dijk" initials="E." surname="Dijk">
         <organization>IoTconsultancy.nl</organization>
      </author>
      <date day="23" month="October" year="2023"/>
      <abstract>
	 <t>   This document specifies how BRSKI entities, such as registrars,
   proxies, pledges or others that are acting as responders, can be
   discovered and selected by BRSKI entities acting as initiators.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-anima-brski-discovery-01"/>
   
</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="March"/>
  </front>
  <format type="PDF" target="https://datatracker.ietf.org/meeting/113/materials/slides-113-anima-update-on-brski-with-pledge-in-responder-mode-brski-prm-00"/>
</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="androidnsd" target="https://developer.android.com/training/connect-devices-wirelessly">
  <front>
    <title>Android Developer: Connect devices wirelessly</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="archived at" value="https://web.archive.org/web/20230000000000*/https://developer.android.com/training/connect-devices-wirelessly"/>
</reference>
<reference anchor="androidtrustfail" target="https://developer.android.com/training/articles/security-ssl">
  <front>
    <title>Security with Network Protocols</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="archived at" value="https://web.archive.org/web/20230326153937/https://developer.android.com/training/articles/security-ssl"/>
</reference>


<reference anchor="RFC9483">
  <front>
    <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
    <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
    <author fullname="D. von Oheimb" initials="D." surname="von Oheimb"/>
    <author fullname="S. Fries" initials="S." surname="Fries"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document aims at simple, interoperable, and automated PKI management operations covering typical use cases of industrial and Internet of Things (IoT) scenarios. This is achieved by profiling the Certificate Management Protocol (CMP), the related Certificate Request Message Format (CRMF), and transfer based on HTTP or Constrained Application Protocol (CoAP) in a succinct but sufficiently detailed and self-contained way. To make secure certificate management for simple scenarios and constrained devices as lightweight as possible, only the most crucial types of operations and options are specified as mandatory. More specialized or complex use cases are supported with optional features.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9483"/>
  <seriesInfo name="DOI" value="10.17487/RFC9483"/>
</reference>


<reference anchor="I-D.richardson-anima-registrar-considerations">
   <front>
      <title>Operational Considerations for BRSKI Registrar</title>
      <author fullname="Michael Richardson" initials="M." surname="Richardson">
         <organization>Sandelman Software Works</organization>
      </author>
      <author fullname="Wei Pan" initials="W." surname="Pan">
         <organization>Huawei Technologies</organization>
      </author>
      <date day="14" month="February" year="2024"/>
      <abstract>
	 <t>   This document describes a number of operational modes that a BRSKI
   Registration Authority (Registrar) may take on.

   Each mode is defined, and then each mode is given a relevance within
   an over applicability of what kind of organization the Registrar is
   deployed into.  This document does not change any protocol
   mechanisms.

   This document includes operational advice about avoiding unwanted
   consequences.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-richardson-anima-registrar-considerations-08"/>
   
</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"/>
    <author fullname="G. Mirsky" initials="G." role="editor" surname="Mirsky"/>
    <author fullname="S. Paragiri" initials="S." surname="Paragiri"/>
    <author fullname="V. Govindan" initials="V." surname="Govindan"/>
    <author fullname="M. Mudigonda" initials="M." surname="Mudigonda"/>
    <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>


<reference anchor="I-D.irtf-t2trg-taxonomy-manufacturer-anchors">
   <front>
      <title>A Taxonomy of operational security considerations for manufacturer installed keys and Trust Anchors</title>
      <author fullname="Michael Richardson" initials="M." surname="Richardson">
         <organization>Sandelman Software Works</organization>
      </author>
      <date day="30" month="January" year="2024"/>
      <abstract>
	 <t>   This document provides a taxonomy of methods used by manufacturers of
   silicon and devices to secure private keys and public trust anchors.
   This deals with two related activities: how trust anchors and private
   keys are installed into devices during manufacturing, and how the
   related manufacturer held private keys are secured against
   disclosure.

   This document does not evaluate the different mechanisms, but rather
   just serves to name them in a consistent manner in order to aid in
   communication.

   RFCEDITOR: please remove this paragraph.  This work is occurring in
   https://github.com/mcr/idevid-security-considerations

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-irtf-t2trg-taxonomy-manufacturer-anchors-03"/>
   
</reference>




    </references>


<?line 2499?>

<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-from-masa-to-pledge-via-registrar-and-registrar-agent"><name>Example Voucher - 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-masa-issued-voucher-with-additional-registrar-signature-from-masa-to-pledge-via-registrar-and-registrar-agent"><name>Example Voucher, 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="pledgehttps"><name>HTTP-over-TLS operations between Registrar-Agent and Pledge</name>

<t>The use of HTTP-over-TLS between Registrar-Agent and pledge has been identified as an optional mechanism.</t>

<t>Provided that the key-agreement in the underlying TLS protocol connection can be properly authenticated, the use of TLS provides privacy for the voucher and enrollment operations between the pledge and the Registrar-Agent.
The authenticity of the onboarding and enrollment is not dependant upon the security of the TLS connection.</t>

<t>The use of HTTP-over-TLS is not mandated by this document for a number of reasons:</t>

<t><list style="numbers">
  <t>A certificate is generally required in order to do TLS.  While there are other modes of authentication including PSK, various EAP methods and raw public key, they do no help as there is no previous relationship between the Registrar-Agent.</t>
  <t>The pledge can use it's IDevID certificate to authenticate itself, but <xref target="RFC9525"/> DNS-ID methods do not apply as the pledge does not have a FQDN.  Instead a new mechanism is required, which authenticates the X520SerialNumber DN attribute which must be present in every IDevID.</t>
</list></t>

<t>If the Registrar-Agent has a preconfigured list of which product-serial-number(s), from which manufacturers it expects to see, then it can attempt to match this pledge against a list of potential devices.</t>

<t>In many cases only the list of manufacturers is known ahead of time, so at most the Registrar-Agent can show the X520SerialNumber to the (human) operator who may then attempt to confirm that they are standing in front of a device with that product-serial-number.
The use of scannable QRcodes may help automate this in some cases.</t>

<t><list style="numbers">
  <t>The CA used to sign the IDevID will be a manufacturer private PKI as described in <xref section="4.1" sectionFormat="comma" target="I-D.irtf-t2trg-taxonomy-manufacturer-anchors"/>.
The anchors for this PKI will never be part of the public WebPKI anchors which are distributed with most smartphone operating systems.
A Registrar-Agent application will need to use different APIs in order to initiate an HTTPS connection without performing WebPKI verification.
The application will then have to do it's own certificate chain verification against a store of manufacturer trust anchors.
In the Android ecosystem this involved use of a customer TrustManager: many application developers do not create these correctly, and there is significant push to remove this option as it has repeatedly resulted in security failures. See <xref target="androidtrustfail"/></t>
  <t>The use of the Host: (or :authority in HTTP/2) is explained in <xref section="7.2" sectionFormat="comma" target="RFC9110"/>. This header is mandatory, and so a compliant HTTPS client is going to insert it.
But, the contents of this header will at best be an IP address that came from the discovery process.
The pledge <bcp14>MUST</bcp14> therefore ignore the Host: header when it processes requests, and the pledge <bcp14>MUST NOT</bcp14> do any kind of name-base virtual hosting using the IP address/port combination.
Note that there is no requirement for the pledge to operate it's BRSKI-PRM service on port 80 or port 443, so if there is no reason for name-based virtual hosting.</t>
  <t>Note that an Extended Key Usage (EKU) for TLS WWW Server authentication cannot be expected in the pledge's IDevID certificate.
IDevID certificates are intended to be widely useable and EKU does not support that use.</t>
</list></t>

</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 11 -&gt; IETF draft 12:</t>

<t><list style="symbols">
  <t>Updated acknowledgements to reflect early reviews</t>
  <t>Addressed Shepherd review part 2 (Pull Request #132)</t>
</list></t>

<t>From IETF draft 10 -&gt; IETF draft 11:</t>

<t><list style="symbols">
  <t>issue #79, clarified that BRSKI discovery in the context of BRSKI-PRM is not needed in <xref target="discovery_uc2_reg"/>.</t>
  <t>issue #103, removed step 6 in verification handling for the wrapped CA certificate provisioning as only applicable after enrollment <xref target="cacerts"/></t>
  <t>issue #128: included notation of nomadic operation of the Registrar-Agent in <xref target="architecture"/>, including proposed text from PR #131</t>
  <t>issue #130, introduced DNS service discovery name for brski_pledge to enable discovery by the Registrar-Agent in <xref target="iana-con"/></t>
  <t>removed unused reference RFC 5280</t>
  <t>removed site terminology</t>
  <t>deleted duplicated text in <xref target="pledge_ep"/></t>
  <t>clarified registrar discovery and relation to BRSKI-Discovery in <xref target="discovery_uc2_reg"/></t>
  <t>clarified discovery of pledges by the Registrar-Agent in <xref target="discovery_uc2_ppa"/>, deleted reference to GRASP as handled in BRSKI-Discovery</t>
  <t>addressed comments from SECDIR early review</t>
</list></t>

<t>From IETF draft 09 -&gt; IETF draft 10:</t>

<t><list style="symbols">
  <t>issue #79, clarified discovery in the context of BRSKI-PRM and included information about future discovery enhancements in a separate draft in <xref target="discovery_uc2_reg"/>.</t>
  <t>issue #93, included information about conflict resolution in mDNS and GRASP in <xref target="discovery_uc2_ppa"/></t>
  <t>issue #103, included verification handling for the wrapped CA certificate provisioning in <xref target="cacerts"/></t>
  <t>issue #106, included additional text to elaborate more the registrar status handling in <xref target="vstatus"/> and <xref target="estatus"/></t>
  <t>issue #116, enhanced DoS description in <xref target="sec_cons-dos"/></t>
  <t>issue #120, included statement regarding pledge host header processing in <xref target="pledge_ep"/></t>
  <t>issue #122, availability of product-serial-number information on registrar agent clarified in <xref target="tpvr"/></t>
  <t>issue #123, Clarified usage of alternative voucher formats in  <xref target="rvr-proc"/></t>
  <t>issue #124, determination of pinned domain certificate done as in RFC 8995 included in <xref target="exchanges_uc2_2_vc"/></t>
  <t>issue #125, remove strength comparison of voucher assertions in <xref target="agt_prx"/> and <xref target="exchanges_uc2"/></t>
  <t>issue #130, aligned the usage of site and domain throughout the document</t>
  <t>changed naming of registrar certificate from LDevID(RegAgt) to EE (RegAgt) certificate throughout the document</t>
  <t>change x5b to x5bag according to <xref target="RFC9360"/></t>
  <t>updated JSON examples -&gt; "signature": BASE64URL(JWS Signature)</t>
</list></t>

<t>From IETF draft 08 -&gt; IETF draft 09:</t>

<t><list style="symbols">
  <t>issue #80, enhanced <xref target="discovery_uc2_ppa"/> with clarification on the product-serial-number and the inclusion of GRASP</t>
  <t>issue #81, enhanced introduction with motivation for agent_signed_data</t>
  <t>issue #82, included optional TLS protection of the communication link between Registrar-Agent and pledge in the introduction <xref target="req-sol"/>, and <xref target="tpvr"/></t>
  <t>issue #83, enhanced <xref target="tper"/> and <xref target="pvr"/> with note to re-enrollment</t>
  <t>issue #87, clarified available information at the Registrar-Agent in <xref target="tpvr"/></t>
  <t>issue #88, clarified, that the PVR in <xref target="tpvr"/> and PER in <xref target="tper"/> may contain the certificate chain. If not contained it <bcp14>MUST</bcp14> be available at the registrar.</t>
  <t>issue #91, clarified that a separate HTTP connection may also be used to provide the PER in <xref target="per"/></t>
  <t>resolved remaining editorial issues discovered after WGLC (responded to on the mailing list in Reply 1 and Reply 2) resulting in more consistent descriptions</t>
  <t>issue #92: kept separate endpoint for wrapped CSR on registrar <xref target="req_cacerts"/></t>
  <t>issue #94: clarified terminology (possess vs. obtained)</t>
  <t>issue #95: clarified optional IDevID CA certificates on Registrar-Agent</t>
  <t>issue #96: updated exchangesfig_uc2_3 to correct to just one CA certificate provisioning</t>
  <t>issue #97: deleted format explanation in exchanges_uc2_3 as it may be misleading</t>
  <t>issue #99: motivated verification of second signature on voucher in <xref target="voucher"/></t>
  <t>issue #100: included negative example in <xref target="vstat"/></t>
  <t>issue #101: included handling if <xref target="voucher"/> voucher telemetry information has not been received by the Registrar-Agent</t>
  <t>issue #102: relaxed requirements for CA certs provisioning in <xref target="cacerts"/></t>
  <t>issue #105: included negative example in <xref target="estat"/></t>
  <t>issue #107: included example for certificate revocation in <xref target="estatus"/></t>
  <t>issue #108: renamed heading to Pledge-Status Request of <xref target="query"/></t>
  <t>issue #111: included pledge-status response processing for authenticated requests in <xref target="query"/></t>
  <t>issue #112: added "Example key word in pledge-status response in <xref target="stat_res"/></t>
  <t>issue #113: enhanced description of status reply for "factory-default" in  <xref target="query"/></t>
  <t>issue #114: Consideration of optional TLS usage in Privacy Considerations</t>
  <t>issue #115: Consideration of optional TLS usage in Privacy Considerations to protect potentially privacy related information in the bootstrapping like status information, etc.</t>
  <t>issue #116: Enhanced DoS description and mitigation options in security consideration section</t>
  <t>updated references</t>
</list></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 LDevID 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 LDevID 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="query"/>, 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="cacerts"/>; also added new required registrar endpoint (section <xref target="pvr"/> 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="pvr"/> and section <xref target="agt_prx"/>
The verification of multiple signatures is described in section <xref target="voucher"/></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="tpvr"/></t>
  <t>Removed open issue regarding handling of multiple CSRs and Enroll-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="pvr"/> and 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 Enroll-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 <xref target="tpvr"/>.</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="pvr"/>.</t>
  <t>Note added in <xref target="pvr"/> 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="pvr"/>. Also enhanced figure
<xref target="exchangesfig_uc2_all"/> 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="pvr"/>. Also
enhanced figure <xref target="exchangesfig_uc2_all"/> 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_all"/> (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 Pledge Enroll-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, meanwhile moved to <xref target="I-D.ietf-anima-rfc8366bis"/> 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="tpvr"/> 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 Registrar-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 Registrar-Agent signing certificate using SKID
in Registrar-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>Siemens Schweiz AG</organization>
      <address>
        <email>ietf@kovatsch.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+y9+VojR7I3/D9XUQe/zzEaS2qWXpkV09hmprcD2D7nnWe+
7kIqoKaFSqMq0WbaPtfyXct3ZV+smZFZWRLg9ow37McGqSrXyMhYfhExGAzW
mrKZFLvZp0fHfznM3pXNRfZqUozPi6ycZkdFPaum42KePa/GRbZBDw1eHT3v
reWnp/PiSt7Dj9bG1WiaX0JT43l+1gzKojkb5NPyMh+czuu35WA2vxxsba/l
8yLfzV7OinnelNW0zvLpOHueT/Pz4rKYNmvvznezvReHz/eyrz9fG+cNNLi9
uX1/rW7gwdf5pJrCJ818UayVszn9Vjfbm5tPNrfX6sXpZVnX0OrJ9QyeOjw4
+Sxsb1Xno7zZzepmvDYrd9eyrKlGu9nH10X9Mfwxqi5n+ajxH9TXl/PirDYf
VPMm/ASGOK2a8qwsxvDhtKKnmnnpm8kXzUU1310bwHrDi8fD7LN5WdTwHC/m
cVOcnRVT92k1h/kclzjcOtv7HD7RnZAPuYeigB5eNk01+CK/mA6Oyul59hAn
UTbXu9nzxbQcXdCcxtDHx4+3Hu084Tkups0cnvi8mF/m02v4qLjMywkuCo1j
eIbj+FPNfQ1hTeCRxbzczS6aZlbv3rv37t27ofn6ns7sZJh9XcynxdxN7eSi
usxr/+m/a2oNjWPwjsZxl6kdDLNnRe4ndjApq0Y/olntl/Woyo6vYRUv7TSO
YKxNCX/ldV1kj9wsvs4nk7IuJpNi6qay/8Xg8c7mfTuVYziv/yzmE6Bi+Hh2
QWdj/ZP7W9n9+9njR4+zJ3Ay1v1MJzCkP41wLDQ9Gf7zIY0jn4/rauom8Rw/
KibZfvQt7xL0WExgGbPj6qx5B8cq+7qav619V5ej+SfIAv5U66PDUW4XVNfT
fH1vbVTBxMrTRWOOBKzu0/Lvb/3q1m8r/YQGc1idwHv1YgIcYnQ9nE78KAp4
djiGZ/8EOxI9NFAyrGAFi7rODkZvi3mjrX62aBbz4l1RGkJpij+N6uFZvhiO
C7N6f6mu8qYmqpO1y5vmogTaNt8E1H08uoCW/8lULq3Tar2VF4bTolm7KqaL
AvnQ+bxazISN4bFArprxW+/pjz/hy0Po4jt8Gpj44nSXHxu8O78XceG1aQUn
oCmvqO2jz/YfPnq47X/dkV8fbe5s6q8Pth7Ir493Hj7UXx9ubfpf3QNPnuiv
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
lBImWPGAeKxg4RBTMBJEuhOdOJpIUYEGmG794zowk4Wh0iRwI/QAY4/d0DsP
uhuS3/+FcNx9e5YYIPBauPF3FCaLPNsF8Upgp0M4xGaN2MG2o5aKPiNN5AZP
popnb56mk0tlsnUpPIuxo2b3RkfuCZ/7jB1edHYkegt/zxH8csnhzzaq1wQF
u1Dgjffv9fuB//6773o/CRt/u7fbGLRvajbTYeEvV0vbpB/zfGRTlO8HwT/2
+aQhdddaheGv4Hk1If/OrcMfdq0xOHzejOfZNuX22YEngvEEz7ufgLph7dLz
7fz5j+R6wn9k+IdWzoGf/0gsKz3/TI9G+PMf7uxHz3f8/Ec8oZXPd4zH/nTO
l38iJ4V90f+aIi/jpGi/GBMT/7ScFO0XY6qSScW+htSLAXkx4f2h5WtIvBjR
mR3qJ8uGuuzHWP6XvLjc8r/kxV+65X8ntPy3MpXKqQtOk9ysSwz+eMeqxUtl
ALV1062kQlSy/TQagZABaoQwko7GSdZFs5j1M7TOlXjvzxnoOS9ndRe+IaGD
JytUdCurFqkPF+oWbHQgnGDu4ZbZgpOESGqKvH7LXglN/xoI2iiV2rwFCUCW
D4zqcwDPvIBJF1cMZZ2UHCdpbEW8dsO17cRgl63CrrZcJAw0PthRe1JgaN8l
h3ABBWpiLIcFHqBkpjLG9SVzt9XGKGNcVb5CS6B3sn2aWsM/CjJW79xgo/oZ
VR5tjDXLRVub+fvF7fsFcjEv0Vy/MkEcblL8aO9Ws7KTkjndv+V+9h2cX4ft
rUhBwQ1DNe4ThoLxvgp+5DbDFy0DZez370c52udq0tNoQtzXa11EnNyD22yY
rvIxD8wvNjGM4zsMl6foVrzQv+HMf5XPS7ErK4sjVqRemZX2AoIn2QQFX5ef
lQkIXWovXRYlApNz5pcY4qbLFTXXVjo+RW+eTQhvTUw2KhxjXqbnE6PIiH+L
zAgcM+3TWNvx2gxP7KqqWbXb91arlKUwtmRQ+k/nDAyMS1JDSwnVGOxSGYzh
sQbDNlE/x9zVLpmuarRo/ZcU5aeFqbthv8VooPZ1dTiNjBC2pgPCtbULn+aL
vA3MYswNJyEobXL30ZkYez6huxBrtNTlnFhxYG+p0e2CVkU29ep2okV7Ujnw
eBsP/i9UEm2T/zIl8XbPt4a1Qi6LlAL74vKOIqXA6A3mxe6VYGEyVE/Ni9+G
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
6df6be0lEojCpMRImxukwd6EILnWFQUdQeNLG5bdPlmiMnKErzvcHt8dHFTU
QjQvrdsVyia7IvOVy9Z3c+W507QVKjddExpL7mQaYSwAJpfn0Ot4DqgjUySq
sg4DAQ3u72mByRuc32UjkbgRECL6vkMkY9bp8gwYHCztBG7QiVlDEuo4hgbk
pUl1fg5KCx68dZ3Buj/mx4vTQVibcqPu8ZQ1E+wItH2ZdmukfUrvpgDVTtND
bc5sjsY17BMpFedHIoNbOo7BDxwPWSZQ1SULpYIN4h/JOLEBEnGvr7mU2PqQ
1vPZsyGwZlLA8xLVWLfkyxI5tNI1SN1GFK8TyCbneGs9zKzuLd67jqC6Ap8e
DB+GFyCLENUlcAgN7sAmd7P7mzt9+M99/M/DPj12f+vBcC2WV40xr4gTHeqB
iI0PrTOfzl0NAtrTnh66UAJOpCMLLL4UkwmiE5548sISSdpStT1rTsE+FvOp
HtQbpFEmA0po4CF+22bRN+C9ov70IgazOmkbes/OaG8uySBWW9cc0IA/t3SK
5USnhB5aBmyEL7VVvJVCjghUvetXMVi9VkhPastuuVpRiLBLUHFDsuvi3rSI
lnnDoT6t4KhKwKdj394ojanR3LLhY7L2iVtoamVpJ//LykKvyYsrSi7sDXX+
VXuXkDGZjWyk19joLWKSTmZy76OCxhm3NVw+wwKs5Ygg8Q08fN5c6HVUF6PF
HLuHh2f4vjAdfB+ZB1zWBLZfe1po5ICBNYeX/qwCRfOa+CsRLR7MkEHCOpcM
RkAeCYT7AP7n8AYh51si6j+MRf2vcZX8HvIOKnCEQokbfEIi7ya445ipqWUY
TRCXJAo4pMOjTcIOLfW2O/2WU1G9vlK/O1OV6HW5015pdShzDdslYHofVG+3
7mxOA2RgwUlDBLIZlymZfFirRtSR3ajR281eguvtxELrSpE28TynffcqbD53
YS/W4qHLSOj3AMy7LGE1Qi+cBQOjrCJxyURav3+fnzevZ/NvBPaLCzkg6E8r
AYlLQ09mpppzUTkeYU3YAi4gGcjN4IOatH/ipmxnf76ZATT56q4ru7baeHwD
I7S3aC+zp3ZbyRO5Y9dn5ZTuTRJ3l6ds/TmajuUsdZuPE+dkqTk5WM+E7jpb
oMQg3N6wDmSM80tiqfYGvpXNyZ1rrvYeWNucmTbb0HOZqnRukV1634Rg8Jte
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
xwr4orbAZtX0m0UhP2w/fqoQsP7+WXFEXvY+3hdNudhtHH+qrhNdlHxOzkqT
89LelUo3BlmXnQtOdT7XZVVX+VSNkUrG4pOHupYXL7VIo2teedGdbYeKpOHD
CU0CGeEiR5+2ayqumK/rqp+vSuWiq9ukLt32ahLq20Y/JE/42McaZajAfbLm
1SH5gM9GyuW7yVu0PHDD2pZBVd56wasLr8qqgGhdpb2uNRqUb0/Cr+e4sUV3
V7w25tQMuaHymsvcsJ7KdV6Vm13wAp7bdV6XQYMou5XNDL62xWnJaZ1XKt8t
sozXR76sgcnxF61SFeTX9Qj/Jy9IuCm/fy6lcvP4uQz269U6P3w+b+NzsAqT
NRWia0rgXf8qNmUe67/V+E71svAh3pcV6TZX97PqqDW0uPGcd6h+uTYqiJqK
CVY2E9VlZWnitzmaKJL1Km4cBRXP5jWdedXPV/4SRt/gXt2XSmg0DafKll8f
xtsLaF2sQA54leUVh/hzB9CWYq3rtlIX6mFUlXab4otcKi87UF/U+xzXCM7R
jrT9HOqqgvHnrZ0Z2rakysIvzKYqjtzIsS7SHHe+rqINFSEFXtSVr2ulel5n
dJlwrY1BJ8TbULNNx6Z2dF56cfN7ZbXnY4CqxxmJvsXVU21kKta33gCbSiov
XLvqykGQjvKxUDHHp21Cg9/E+fq51vKKspBeLiqQ28Atkwvlvo9q4lWK2rrm
78Eio5TRr1BFqlkZVAPlUqC//QfY1XVlKvUYSRwj6NDvnQ/Q0N/rUthU+baa
4n+TPlJPgYRZW9q+diuiKJxU/rdfJah8h1fIJYCqCv9WLn+9qQdOWFVV/17Q
kGsVyhY18Xhc1wX1MKUxlQaEN+w/lZ/qqra8cui2TdDXX+HqE5DfqJwHFVd/
OCtuHRAG5vFZ2fO2eHB9H/RFZWPdsexqgr6TPmGCmoLVlZSar9aeoLlSetsU
3tu2U3zRojGxSTNIb9LFisM31WXmdY07z0CYJ3iGZL3llvtU1fUm7GpH8m+8
WOJZDecXFz+3jKN2xS2vOusJVZ/m8FCzCV6t/vODqbe1ojGR/DtfBCroy//z
+rrLnUxVHvnsM0TR+BfagUQvRwJg7v3aOfWT6nLuMYtEuO/gPBy+7PJBvnM+
8paILLquy+s8Ewe+ZGjkG9Z8jiu/fKoFXo3vTX4Em3/1u6qS42JV9wRimZOb
imKYFcyC+x+aRPTrxIVOZY0DXgT4Vx71LAh2OCUegA1Raen/Res9MqKoNYAC
HaMJpuq0Zfy/I9ABaPyRVC/9B48+8Ca9vF6FMVzsAD7vVCD66upKIa0dy7bS
iTbB97Ijip3P/37xCwks+V87TlHXlG8rqcZV6UyOKN8ziKsT8wqlVW3OLd75
WmkW1dVO4gJzGzWFO7lHkjofHp4yigOrjV3/Inalj291SXjZJZF3ia8ndv7l
t9tPMPGgrrXOpcf17swO61nkFr7nrvCkmXXsQA6qAZ/2xT+eQumPTfxIvrb9
nihAXysQBeCUcdG56bz0GlQ3Pqtvduef5gt2eH5wGWzwKK0ppB3UFK3Gfa4k
30uo6Vn09Le/hQE1sAXQnnokffm9Di/wCYymLQkOKhFEcPdtdNcg8kuHzccd
bMJkQWlEIDxdnn+KWKqyqiRekl9VPtSkCRPPetEV6JWSczA8SuXoG7M/TQUv
Fk9SmW+26eKPE3DEFS07PfnyCv3zngLdg8+YTi6FZi6eVpya8Zv+Y6g7Xxjt
SV+Es2e2i7IqCLBYrbP14wF/qmwn6kRPlbttRsk/VPXvj7jgXzqpWXv7/lmH
q/LsVRRGI6p0bHiuhW/q1kXDp+aI09fV5H8missGiyKgmWvGdJIF+qOaX60H
0jKunZWyv+gjuhK0RttWx+XzXZcyPrfx16Yq3L40VeF9U/1r9smLJTS6/bp6
/fcnvlHg1FZdob3qOVV9hxICbng9ad6lv2Dit91PP/smBSlQlZIo0jp7aurL
56Tx1N1K0O/Nzgskab/zjwMI/+Jb+CDcnH3nLAPHpU22B2+w5iLKGzJyUnCq
P/60PfWIf+W5+m1d/Ptvf4ubn8++KuKr9WwADdZWHfsUjbz+9jfQyj+oOv3n
aP0C0ISzDrcF0KlTdVKpScZRcFIzppoptV28NN22ZelT4/8WWZ1sejNsvJj3
9epMIEEV97Z6zL9WFs+byw9hbgftM0+ciBDlB6XerHgJ9zYVV32Hayta2jxv
PtNYLlu7JqOugKsF8mKxIsIcAeQXl4FMRJFawFvku0Nub3vnCk0Ttg8rPsEV
U/rj+cX3eo2Po1r18eoRkSDxaoxnW328zSNSre8qcVg5kcfyj2KzP2nG+Ycu
vkH+gqd546jOXtYy4iDNq5JXIyuTzfrpkcd+nF/XWT3CTd50RF6F5p1n9ppp
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

-->

</rfc>

