<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<?rfc compact="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-anima-brski-prm-23" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="BRSKI-PRM">BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-prm-23"/>
    <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>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="2025"/>
    <area>Operations and Management</area>
    <workgroup>ANIMA WG</workgroup>
    <abstract>
      <?line 136?>

<t>This document defines enhancements to Bootstrapping Remote Secure Key Infrastructure (BRSKI, RFC8995) as BRSKI with Pledge in Responder Mode (BRSKI-PRM).
BRSKI-PRM supports the secure bootstrapping of devices, referred to as pledges, into a domain where direct communication with the registrar is either limited or not possible at all.
To facilitate interaction between a pledge and a domain registrar the registrar-agent is introduced as new component.
The registrar-agent supports the reversal of the interaction model from a pledge-initiated mode, to a pledge-responding mode, where the pledge is in a server role.
To establish the trust relation between pledge and registrar, BRSKI-PRM relies on object security rather than transport security.
This approach is agnostic to enrollment protocols that connect a domain registrar to a key infrastructure (e.g., domain Certification Authority).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <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 146?>

<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 with 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 pertaining to the customer domain, specifically, the customer domain certificate, is exchanged and authenticated through the use of signed data objects, namely the voucher artifacts, as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.
In response to a voucher-request, the Manufacturer Authorized Signing Authority (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 artifact.</t>
      <t>For the certificate enrollment of devices, BRSKI relies on Enrollment over Secure Transport (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 an EST server.</t>
      <t>BRSKI addresses scenarios in which a 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>
      <ul spacing="normal">
        <li>
          <t>defines additional endpoints for the domain registrar and new endpoints for the pledge to enable responder mode.</t>
        </li>
        <li>
          <t>introduces the Registrar-Agent as new component to facilitate the communication between the pledge and a 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>
        </li>
        <li>
          <t>specifies additional artifacts for the exchanges between a pledge acting as server, the Registrar-Agent acting as client, and the domain registrar acting as server toward the Registrar-Agent.</t>
        </li>
        <li>
          <t>allows the application of Registrar-Agent credentials to establish TLS connections to a domain registrar; these are different from the pledge IDevID credentials.</t>
        </li>
        <li>
          <t>also enables the usage of alternative transports, both IP-based and non-IP (e.g., Bluetooth-based or NFC-based communication), between the pledge and the domain registrar via the Registrar-Agent;
security is addressed at the application layer through object security with an additional signature wrapping the exchanged artifacts.</t>
        </li>
      </ul>
      <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"/>.</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="RFC9733"/> to allow for more bootstrapping flexibility.
Providing information about capabilities of BRSKI components like the pledge or registrar is handled as part of the discovery. BRSKI-PRM relies only on a minimum necessary set of capabilities for the interaction and leaves the definition of more advanced mechanisms allowing to signal specific capabilities to <xref target="I-D.ietf-anima-brski-discovery"/>.</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 makes use of the terms 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 a data object, which is cryptographically bound to an 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.
An entity, which issues certificates and maintains certificate revocation information.</t>
        </dd>
        <dt>CMS:</dt>
        <dd>
          <t>Cryptographic Message Syntax, as defined in <xref target="RFC5652"/>.</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, as defined in <xref target="RFC2986"/>.</t>
        </dd>
        <dt>Domain registrar:</dt>
        <dd>
          <t>An entity in the customer domain, which facilitates the interaction of a pledge or Registrar-Agent with a manufacturer service (MASA).
It operates as BRSKI-EST server for the pledge when requesting vouchers and certificates and acts as the client BRSKI-MASA client when requesting vouchers from the MASA. This component was introduced in <xref target="RFC8995"/>.</t>
        </dd>
        <dt>Drop ship:</dt>
        <dd>
          <t>delivery of a component or product. This component was introduced in <xref target="RFC8995"/>.</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>the certificate of the EE signed by its owner (e.g., CA).
For domain components, the EE certificate is signed by the domain owner.
For the pledge, the EE certificate is either the IDevID certificate signed by the manufacturer or the LDevID certificate signed by the domain owner or an application-specific EE certificate signed by the domain owner.</t>
        </dd>
        <dt>endpoint:</dt>
        <dd>
          <t>Term equivalent to resource in HTTP <xref target="RFC9110"/>.
Endpoints are accessible via Well-Known URIs <xref target="RFC8615"/>.</t>
        </dd>
        <dt>IDevID:</dt>
        <dd>
          <t>An Initial Device Identifier X.509 certificate installed by the vendor on new equipment.
This is a term from 802.1AR <xref target="IEEE-802.1AR"/>.</t>
        </dd>
        <dt>LDevID:</dt>
        <dd>
          <t>A Local Device Identifier X.509 certificate installed by the owner of the equipment.
This is a term from 802.1AR <xref target="IEEE-802.1AR"/>.</t>
        </dd>
        <dt>mTLS:</dt>
        <dd>
          <t>mutual Transport Layer Security, refers to mutual authenticated TLS as specified in <xref target="RFC8446"/>.</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 via the Registrar-Agent.</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 signature-wrapped voucher-request, signed by the pledge that sends it to the domain registrar via the Registrar-Agent.</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>Registrar-Agent:</dt>
        <dd>
          <t>Component facilitating the data exchange between a pledge in responder mode and a domain registrar.</t>
        </dd>
        <dt>RVR:</dt>
        <dd>
          <t>Registrar Voucher-Request is a signature-wrapped voucher-request, signed by the domain registrar that sends it to the MASA.
For BRSKI-PRM, it contains a copy of the original 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>BASE64(OCTETS):</dt>
        <dd>
          <t>Denotes the base64 encoding of an octet sequence using the character set defined in <xref section="4" sectionFormat="of" target="RFC4648"/> and without the inclusion of any line breaks, whitespace, or other additional characters.
Note that the base64 encoding of the empty octet sequence is the empty string.</t>
        </dd>
        <dt>BASE64URL(OCTETS):</dt>
        <dd>
          <t>Denotes the base64url encoding of an octet sequence, per <xref section="2" sectionFormat="of" target="RFC7515"/>.</t>
        </dd>
        <dt>UTF8(STRING):</dt>
        <dd>
          <t>Denotes the octet sequence 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 <tt>base64encodedvalue==</tt> as a placeholder for base64 data.
The full base64 data is included in the appendices of this document.
Note, base64-encoded values are mainly used for fields related to certificates like:
x5bag, x5c, agent-provided-proximity-registrar-cert, p10-csr</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 a 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 an RA/CA and therefore this service is transferred to a backend that offers a higher level of operational security.</t>
        </section>
      </section>
      <section anchor="potential-limitations">
        <name>Potential Limitations</name>
        <t>The mechanism described in this document presumes the ability of the pledge and the Registrar-Agent to communicate with one 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 BRSKI-PRM Functional Elements</name>
      <t>Based on the intended target environment described in <xref target="sup-env"/>, the following boundary conditions are derived to support bootstrapping of pledges in responder mode (acting as server):</t>
      <ul spacing="normal">
        <li>
          <t>To facilitate the communication between a pledge in responder mode and a 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>
        </li>
        <li>
          <t>The security of communication between the Registrar-Agent and the pledge does 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 Bluetooth Low Energy (BLE) 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>
        </li>
        <li>
          <t>The use of authenticated self-contained objects addresses both, the TLS connection establishment challenges and the technology stack challenge.
Note that the chosen approach does not provide confidentiality for the self-contained object, which can be provided by employing TLS.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>It would be inaccurate for the voucher-request and voucher-response to use the assertion type <tt>proximity</tt> in the voucher, as the pledge was not in direct contact with the registrar for bootstrapping.
Therefore, a new assertion type is necessary for distinguishing assertions the MASA can state.</t>
        </li>
      </ul>
      <t>At least the following properties are required for the voucher and enrollment processing:</t>
      <ul spacing="normal">
        <li>
          <t>POI: provides data-origin authentication of an artifact, 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>
        </li>
        <li>
          <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>
        </li>
      </ul>
      <t>Solution examples based on existing technology are provided with the focus on existing IETF RFCs:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <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 pledge IDevID credential.
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>
        </li>
      </ul>
      <section anchor="tls_sup">
        <name>TLS support required</name>
        <t>As already stated in <xref target="RFC8995"/>, and required by <xref target="I-D.ietf-uta-require-tls13"/>, 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><xref target="I-D.ietf-uta-require-tls13"/> allows for continued use of TLS 1.2 for operational reasons.
<xref target="RFC8995"/> specified TLS 1.2 was the minimum, consistent with <xref target="RFC8996"/>.
<xref target="RFC8995"/> requires mutual TLS, and many frameworks, embedded SDKs and hardware load balancers did not, at the time of writing, have APIs that permitted mutual TLS to be done consistently across TLS 1.2 and TLS 1.3.
While TLS 1.3 is common in browsers, the use of mutual TLS with 1.3 is uncommon in browsers, and so working support for mutual TLS in frameworks is also uncommon.</t>
        <t>On the Registrar and MASA side, mutual TLS authentication combined with hardware TLS offload requires specific support for extensions such as <xref target="RFC9440"/> or an equivalent.
TLS 1.2 and TLS 1.3 do client authentication at a different point in the state machine, and not all frameworks support both at the time of this writing.</t>
        <t>Many security certification schemes, such as FIPS-140, do not certify source code, but rather the resulting binary executable.  Even while TLS 1.3 source code is available, and new software can be added to existing platforms, replacing the TLS libraries on many embedded systems requires that the SDK vendor recertify the platform first.
In industrial settings, these platforms have long lifecycles, and it takes some time to recertify all platforms.</t>
        <t>Thus, <xref target="RFC8995"/> and this document can not turn off TLS 1.2 until all parts of the ecosystem can run TLS 1.3.
That does not stop any of the parts of this ecosystem from deploying TLS 1.3 when possible, and for each part of the two or three transactions from negotiating TLS 1.3 in preference to TLS 1.2.</t>
      </section>
    </section>
    <section anchor="architecture">
      <name>Solution Architecture</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>For 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"/> to address the requirements stated in <xref target="req-sol"/>.
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 the 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>
        <ul spacing="normal">
          <li>
            <t>uses existing endpoints where the required functionality is provided.</t>
          </li>
          <li>
            <t>enhances existing endpoints with new supported media types, e.g., for JWS voucher.</t>
          </li>
          <li>
            <t>defines new endpoints where additional functionality is required, e.g., for wrapped certification request, wrapped CA certificates, and new status information.</t>
          </li>
        </ul>
        <figure anchor="uc2figure">
          <name>BRSKI-PRM architecture overview using Registrar-Agent</name>
          <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="448" y="308">.</text>
                  <text x="128" y="324">.</text>
                  <text x="188" y="324">EE</text>
                  <text x="224" y="324">cert.</text>
                  <text x="356" y="324">EE</text>
                  <text x="392" 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 |  .
|        |<------>|            |<------>|           |  .
|        |     .  |   EE cert. |        |  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>
        <ul spacing="normal">
          <li>
            <t>Pledge: Is expected to respond with the necessary data objects for bootstrapping to a Registrar-Agent.
The protocol used between the pledge and the Registrar-Agent is assumed to be HTTP(S) in the context of this document.
Any other protocol can be used as long as it supports the exchange of the necessary artifacts.
This includes CoAP or protocols to be used over Bluetooth or NFC connections.
A pledge acting as server leads to the following differences compared to BRSKI <xref target="RFC8995"/>:  </t>
            <ul spacing="normal">
              <li>
                <t>The pledge no longer initiates bootstrapping, but is discovered and triggered by a Registrar-Agent as defined in <xref target="discovery_uc2_ppa"/>.</t>
              </li>
              <li>
                <t>The pledge offers additional endpoints as defined in <xref target="pledge_component"/>, so that a Registrar-Agent can request data required for bootstrapping the pledge.</t>
              </li>
              <li>
                <t>The pledge includes additional data in the PVR, which is provided and signed by a Registrar-Agent as defined in <xref target="tpvr"/>.
This allows the registrar to identify with which Registrar-Agent the pledge was in contact (see <xref target="agt_prx"/>).</t>
              </li>
              <li>
                <t>The artifacts exchanged between the pledge and the registrar via the Registrar-Agent are authenticated self-contained objects (i.e., signature-wrapped artifacts).</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Registrar-Agent: Is a new component defined in <xref target="agent_component"/> that provides a store and forward communication path to exchange data objects between the pledge and a domain registrar.
This is for situations in which a domain registrar is not directly reachable by the pledge, which may be due to a different technology stacks or due to missing connectivity.
A Registrar-Agent acting as client leads to the following new aspects:  </t>
            <ul spacing="normal">
              <li>
                <t>The order of exchanges in the BRSKI-PRM call flow is different from that in BRSKI <xref target="RFC8995"/>, as the Registrar-Agent can trigger one or more pledges and collects the PVR and PER artifacts simultaneously as defined in <xref target="exchanges"/>.
This enables bulk bootstrapping of several devices.</t>
              </li>
              <li>
                <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>
              </li>
              <li>
                <t>The trust assumption between the Registrar-Agent and the domain registrar may be based on EE certificates that are both signed by the domain owner.</t>
              </li>
              <li>
                <t>The Registrar-Agent may be realized as stand-alone component supporting nomadic activities of a service technician moving between different installation sites.</t>
              </li>
              <li>
                <t>Alternatively, the Registrar-Agent may also be realized as co-located functionality for a registrar, to support pledges in responder mode.</t>
              </li>
            </ul>
          </li>
          <li>
            <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>
          </li>
          <li>
            <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).
However, there are also differences compared to BRSKI <xref target="RFC8995"/>:  </t>
            <ul spacing="normal">
              <li>
                <t>A BRSKI-PRM domain registrar does not interact with a pledge directly, but through the Registrar-Agent as defined in <xref target="exchanges"/>.</t>
              </li>
              <li>
                <t>A BRSKI-PRM domain registrar offers additional endpoints as defined in <xref target="registrar_component"/> to support the signature-wrapped artifacts used by BRSKI-PRM.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Vendor services: Encompass MASA and Ownership Tracker and are used as defined in <xref target="RFC8995"/>.
A MASA responsible for pledges that implement BRSKI-PRM is expected to support BRSKI-PRM extensions:  </t>
            <ul spacing="normal">
              <li>
                <t>The default format for voucher artifacts (including voucher-request) is JWS-signed JSON as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
              </li>
              <li>
                <t>The Agent Proximity Assertion (see <xref target="agt_prx"/>) requires additional validation steps as defined in <xref target="masa_interaction"/>.</t>
              </li>
            </ul>
          </li>
        </ul>
      </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 building automation use case mentioned in <xref target="building-automation"/>.</t>
        <figure anchor="uc3figure">
          <name>Registrar-Agent nomadic connectivity example</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="496" width="464" viewBox="0 0 464 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 336,320 L 336,368" fill="none" stroke="black"/>
                <path d="M 384,72 L 384,312" fill="none" stroke="black"/>
                <path d="M 384,368 L 384,400" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,64" fill="none" stroke="black"/>
                <path d="M 432,320 L 432,368" fill="none" stroke="black"/>
                <path d="M 432,400 L 432,448" 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 336,320 L 432,320" fill="none" stroke="black"/>
                <path d="M 272,352 L 328,352" fill="none" stroke="black"/>
                <path d="M 336,368 L 432,368" fill="none" stroke="black"/>
                <path d="M 224,400 L 432,400" fill="none" stroke="black"/>
                <path d="M 224,448 L 432,448" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="392,312 380,306.4 380,317.6" fill="black" transform="rotate(90,384,312)"/>
                <polygon class="arrowhead" points="392,72 380,66.4 380,77.6" fill="black" transform="rotate(270,384,72)"/>
                <polygon class="arrowhead" points="336,352 324,346.4 324,357.6" fill="black" transform="rotate(0,328,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="144" y="148">BRSKI-PRM</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="420" y="180">BRSKI-</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="412" y="196">MASA</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="252" y="292">...........!....................</text>
                  <text x="424" y="292">.........</text>
                  <text x="128" y="308">.</text>
                  <text x="216" y="308">v</text>
                  <text x="456" y="308">.</text>
                  <text x="128" y="324">.</text>
                  <text x="208" y="324">.-.-.-.-.-.-.-.</text>
                  <text x="300" y="324">BRSKI-</text>
                  <text x="456" 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="296" y="340">PRM</text>
                  <text x="372" y="340">Domain</text>
                  <text x="456" 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="384" y="356">Registrar</text>
                  <text x="456" y="356">.</text>
                  <text x="128" y="372">.</text>
                  <text x="208" y="372">:-.-.-.-.-.-.-:</text>
                  <text x="456" y="372">.</text>
                  <text x="128" y="388">.</text>
                  <text x="456" y="388">.</text>
                  <text x="128" y="404">.</text>
                  <text x="456" 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="456" 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="456" y="436">.</text>
                  <text x="128" y="452">.</text>
                  <text x="456" y="452">.</text>
                  <text x="292" 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                                  .       |
. +--------+           .-.-.-.-.-.-.-. .       |
. |        | BRSKI-PRM : Registrar-  : .       |
. | Pledge |<--------->: Agent       : .       |
. +--------+ L2 or L3  :-.-.-.-.-.-.-: .       | BRSKI-
.          connectivity   ^            .       | MASA
..........................!.............       |
   Pledge Installation    !                    |
   Location               ! Nomadic            |
                          ! connectivity       |
                          !                    |
               ...........!....................|.........
               .          v                    v        .
               .  .-.-.-.-.-.-.-. BRSKI- +-----------+  .
               .  : Registrar-  :  PRM   | Domain    |  .
               .  : Agent       :<------>| Registrar |  .
               .  :-.-.-.-.-.-.-:        +-----+-----+  .
               .                               |        .
               .           +-------------------+-----+  .
               .           | Key Infrastructure      |  .
               .           | (e.g., PKI CA)          |  .
               .           +-------------------------+  .
               ..........................................
                            Customer Domain
]]></artwork>
          </artset>
        </figure>
        <t>BRSKI-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>
        <ol spacing="normal" type="1"><li>
            <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>
          </li>
          <li>
            <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>
          </li>
          <li>
            <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>
          </li>
          <li>
            <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>
          </li>
          <li>
            <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>
          </li>
        </ol>
        <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="colo-regagt">
        <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 interact with a domain registrar during onboarding, through discovery, voucher exchange, and enrollment.
This may increase the load on the domain registrar, specifically, if a larger number of pledges onboards simultaneously.</t>
        <figure anchor="uc4figure">
          <name>Registrar-Agent integrated into Domain Registrar example</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="352" width="464" viewBox="0 0 464 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="420" y="100">BRSKI-MASA</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="156" y="164">BRSKI-</text>
                  <text x="268" y="164">..............</text>
                  <text x="440" y="164">.</text>
                  <text x="120" y="180">.</text>
                  <text x="152" y="180">PRM</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            |
    :                    +---------------------------+
    :                                         ^
    :                                         | BRSKI-MASA
    :          ...............................|.........
    :          .                              v        .
    v          .          +-------------------------+  .
 +--------+    . BRSKI-   |..............           |  .
 |        |    .  PRM     |. 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 stand-alone 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 the voucher that the registrar communicates via a Registrar-Agent as defined in <xref target="exchanges"/> and not directly to the pledge.
It is therefore a different assertion than "network proximity", which is defined in <xref section="3" sectionFormat="of" target="RFC8995"/>.
Hence, <xref target="I-D.ietf-anima-rfc8366bis"/> defines the additional assertion type <tt>agent-proximity</tt>.
This assertion type can be verified by the registrar and MASA during BRSKI-PRM voucher-request processing.</t>
        <t>In BRSKI, the pledge verifies POP of the registrar end-entity (EE) credentials via the TLS handshake and pins that public key as the <tt>proximity-registrar-cert</tt> 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 session is considered provisional until the pledge receives the voucher to verify POI.</t>
        <t>In contrast, in BRSKI-PRM the pledge has no direct connection to the registrar and <bcp14>MUST</bcp14> accept the supplied registrar EE certificate provisionally until it receives the voucher as described in <xref target="voucher"/> to verify both POP and POI.
The provisional registrar EE certificate is used for the object security along the authenticated self-contained objects that in BRSKI-PRM replace the direct TLS connection to the registrar available in BRSKI <xref target="RFC8995"/>.
See also <xref section="5" sectionFormat="of" target="RFC8995"/> on "provisional state".</t>
        <t>For the Agent Proximity Assertion, the Registrar-Agent EE certificate and registrar EE certificate must be signed by the same domain owner, i.e., <bcp14>MUST</bcp14> possess a common domain trust anchor in their certificate chain.
Akin to the Network Proximity Assertion in BRSKI <xref target="RFC8995"/>, the Agent Proximity Assertion provides pledge proximity evidence to the MASA.
But additionally, the Agent Proximity Assertion allows the domain registrar to be sure that the PVR supplied by the Registrar-Agent was in fact collected by the Registrar-Agent to which the registrar is connected by utilizing an agent-signed data object.</t>
      </section>
    </section>
    <section anchor="system-components">
      <name>System Components</name>
      <section anchor="agent_component">
        <name>Registrar-Agent</name>
        <t>The Registrar-Agent uses its own EE certificate and corresponding credentials (i.e., private key) for TLS client authentication and for signing agent-signed data objects.</t>
        <t>The Registrar-Agent EE certificate <bcp14>MUST</bcp14> include a SubjectKeyIdentifier as defined in <xref section="4.2.1.2" sectionFormat="of" target="RFC5280"/>, which is used as a reference within agent-signed data objects as defined in <xref target="jws-asd"/>.
Note that this is an additional requirement for issuing the Registrar-Agent EE certificate.
<xref target="RFC8995"/> has a similar requirement for the registrar EE certificate.</t>
        <t>The SubjectKeyIdentifier is used in favor of providing the complete Registrar-Agent EE certificate in agent-signed data objects to accommodate also constrained environments and reduce bandwidth needed for communication with the pledge.
In addition, it follows the recommendation from BRSKI to use SubjectKeyIdentifier in favor of a certificate fingerprint to avoid additional computations.</t>
        <t>The provisioning of the Registrar-Agent EE certificate is out of scope for this document, but may be done using its own BRSKI run or by other means such as configuration.
It is <bcp14>RECOMMENDED</bcp14> to use short-lived Registrar-Agent EE certificates in the range of days or weeks.
This is to address the assumed nature of stand-alone Registrar-Agents as nomadic devices (see <xref target="arch_nomadic"/>) and to avoid potential misuse as outlined in <xref target="sec_cons_reg-agt"/>.</t>
        <t>Further, the Registrar-Agent requires the registrar EE certificate to provide it to the pledge.
It <bcp14>MAY</bcp14> use the certificate verified during server authentication within an initial TLS session with the registrar;
in this case, the Registrar-Agent <bcp14>MUST</bcp14> possess the domain trust anchor (i.e., CA certificate) for the registrar EE certificate to verify the certificate chain.
Alternatively, the registrar EE certificate <bcp14>MAY</bcp14> be provided via configuration.
The registrar IP address or hostname is provided either by configuration or by using the discovery mechanism defined in <xref target="RFC8995"/> (see <xref target="discovery_uc2_reg"/>).</t>
        <t>In addition to the certificates, the Registrar-Agent is provided with the product-serial-number(s) of the pledge(s) to be bootstrapped.
This is necessary to allow for the discovery of pledges 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 (out-of-band) 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 data record.</t>
        <t>In summary, the following information <bcp14>MUST</bcp14> be available at the Registrar-Agent before the interaction with a pledge:</t>
        <ul spacing="normal">
          <li>
            <t>Registrar-Agent EE certificate and corresponding private key: own operational credentials to authenticate and sign agent-signed data</t>
          </li>
          <li>
            <t>Registrar EE certificate: certificate of the domain registrar to be provided to the pledge</t>
          </li>
          <li>
            <t>Serial number(s): product-serial-number(s) of pledge(s) to be bootstrapped; used for discovery</t>
          </li>
        </ul>
        <t>Further, the Registrar-Agent <bcp14>SHOULD</bcp14> have synchronized time.
In case the registrar-agent does not have synchronized time, it may not be able to verify the registrar EE certificate during the optional TLS handshake.
As the registrar-agent is recommended to utilize short-lived certificates in <xref target="sec_cons_reg-agt"/>, a registrar-agent may use the valid from time of its short-lived certificate for time synchronization.</t>
        <t>Finally, the Registrar-Agent <bcp14>MAY</bcp14> possess the IDevID (root or issuing) CA certificate of the pledge manufacturer/vendor to validate the IDevID certificate on returned PVR or in case of optional TLS usage for pledge communication (see <xref target="pledgehttps"/>).
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>While the Registrar-Agent requires an IP address of a domain registrar to initiate a TLS session, a separate discovery of the registrar is likely not needed and a configuration of the domain registrar IP address or hostname is assumed.
Registrar-Agent and registrar are domain components that already have a trust relation, as a Registrar-Agent acts as representative of the domain registrar towards the pledge or may even be collocated with the domain registrar.
Further, 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"/>.</t>
          <t>Moreover, the discovery described in <xref section="4" sectionFormat="of" target="RFC8995"/> and <xref section="A.2" sectionFormat="of" target="RFC8995"/> does not support identification of registrars with an enhanced feature set (like the support of BRSKI-PRM), and hence that 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.
For further discussion, see <xref target="I-D.ietf-anima-brski-discovery"/>.</t>
        </section>
        <section anchor="discovery_uc2_ppa">
          <name>Discovery of the Pledge</name>
          <t>The discovery of the pledge by the Registrar-Agent in the context of this document describes the minimum discovery approach that <bcp14>MUST</bcp14> be supported.
A more general discovery mechanism, also supporting GRASP besides DNS-SD with mDNS, is discussed in <xref target="I-D.ietf-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 section="9" sectionFormat="of" target="RFC6762"/> provides support for conflict resolution in situations when a DNS-SD with mDNS responder receives an 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 Service Instance Name based on device local information (manufacturer/vendor name and serial number), which results in <tt>&lt;product-serial-number&gt;._brski-pledge._tcp.local</tt>.
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>Note that the service name definition is not fully inline with the naming recommendation of <xref target="RFC6763"/> due to the positioning of <tt>_tcp</tt>. However, the definition of the <tt>product-serial-number</tt> has to align with the allowed character set (see <xref target="RFC6763"/>) to avoid discovery problems. This check is necessary as the <tt>product-serial-number</tt> is also contained in the certificate as X520SerialNumber, that has a larger allowed character set. Using the <tt>product-serial-number</tt> as part of the service name allows to discover specific instances of a pledge.</t>
          <t>The <tt>_brski-pledge._tcp</tt> service, however, targets machine-to-machine discovery.</t>
          <t>For discovery the Registrar-Agent <bcp14>MUST</bcp14> use</t>
          <ul spacing="normal">
            <li>
              <t><tt>&lt;product-serial-number&gt;._brski-pledge._tcp.local</tt>, to discover a specific pledge, e.g., when connected to a local network</t>
            </li>
            <li>
              <t><tt>_brski-pledge._tcp.local</tt> to get a list of pledges to be bootstrapped</t>
            </li>
          </ul>
          <t>if it does not support a more general discovery such as defined in <xref target="I-D.ietf-anima-brski-discovery"/>.</t>
          <t>When supporting different options for discovery, as outlined in <xref target="I-D.ietf-anima-brski-discovery"/>, a manufacturer may support configuration of preferred options.</t>
          <t>A manufacturer may allow the pledge to react on DNS-SD with mDNS discovery without its product-serial-number contained.
This allows a commissioning tool to discover pledges to be bootstrapped in the domain.
The manufacturer supports 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, network connectivity can be provided, e.g., via a switch to an operational network or to a specific VLAN for bootstrapping, depending on an operators security policy.
For WiFi networks, connectivity can be provided by using a pre-agreed SSID for bootstrapping, e.g., as proposed in <xref target="I-D.draft-ietf-emu-eap-arpa"/>.
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_component">
        <name>Pledge in Responder Mode</name>
        <t>In BRSKI-PRM, the pledge is triggered by a 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 a Registrar-Agent, pledges in responder mode <bcp14>MUST</bcp14> act as servers and <bcp14>MUST</bcp14> provide the endpoints "tpvr", "tper", "svr", "scac", and "ser" defined in <xref target="pledge_ep_table"/> within the BRSKI-defined <tt>/.well-known/brski/</tt> URI path.
The optional endpoint "qps" <bcp14>SHOULD</bcp14> be supported.
The endpoints are defined with short names to also accommodate for resource-constrained devices.</t>
        <table anchor="pledge_ep_table">
          <name>Well-Known Endpoints on a Pledge in Responder Mode</name>
          <thead>
            <tr>
              <th align="left">Endpoint</th>
              <th align="left">Operation</th>
              <th align="left">Exchange and Artifacts</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">tpvr</td>
              <td align="left">Trigger Pledge Voucher-Request</td>
              <td align="left">
                <xref target="tpvr"/></td>
            </tr>
            <tr>
              <td align="left">tper</td>
              <td align="left">Trigger Pledge Enroll-Request</td>
              <td align="left">
                <xref target="tper"/></td>
            </tr>
            <tr>
              <td align="left">svr</td>
              <td align="left">Supply Voucher to Pledge</td>
              <td align="left">
                <xref target="voucher"/></td>
            </tr>
            <tr>
              <td align="left">scac</td>
              <td align="left">Supply CA Certificates to Pledge</td>
              <td align="left">
                <xref target="cacerts"/></td>
            </tr>
            <tr>
              <td align="left">ser</td>
              <td align="left">Supply Enroll-Response to Pledge</td>
              <td align="left">
                <xref target="enroll_response"/></td>
            </tr>
            <tr>
              <td align="left">qps</td>
              <td align="left">Query Pledge Status</td>
              <td align="left">
                <xref target="query"/></td>
            </tr>
          </tbody>
        </table>
        <t>HTTP(S) uses the Host header field (or :authority in HTTP/2) to allow for name-based virtual hosting as explained in <xref section="7.2" sectionFormat="of" target="RFC9110"/>.
This header field is mandatory, and so a compliant HTTP(S) client is going to insert it, which may be just an IP address.
In the absence of a security policy the pledge <bcp14>MUST</bcp14> respond to all requests regardless of the Host header field provided by the client (i.e., ignore it).
A security policy  may include a rate limiting for requests to avoid susceptibility of the pledge to overload.
Note that there is no requirement for the pledge to operate its BRSKI-PRM service on port numbers 80 or 443, so there is no reason for name-based virtual hosting.</t>
        <t>For instance, when the Registrar-Agent reaches out to the "tpvr" endpoint on a pledge in responder mode with the full URI <tt>http://pledge.example.com/.well-known/brski/tpvr</tt>, it sets the Host header field to <tt>pledge.example.com</tt> and the absolute path <tt>/.well-known/brski/tpbr</tt>.
In practice, however, the pledge is usually known by a <tt>.local</tt> hostname or only 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 objects between the pledge and the domain registrar, the binding of the pledge identity to the voucher-requests is provided by the wrapping signature employing the pledge IDevID credential.
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 may 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-like 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 anchor="pledgestatus-reason-context-values">
          <name>Pledgestatus "reason-context" Values</name>
          <t>The following table provides an overview of "reason-context" values and further details of pledgestatus data objects:</t>
          <table anchor="reason-context_pstatus_table_uri">
            <name>Pledgestatus "reason-context" values and details</name>
            <thead>
              <tr>
                <th align="left">"reason-context" Value</th>
                <th align="left">Predef. Details</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">pbs-details</td>
                <td align="left"> </td>
                <td align="left">Pledge bootstrap status details, <xref target="pstatus_data"/></td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">factory-default</td>
                <td align="left">Pledge has not been bootstrapped</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">voucher-success</td>
                <td align="left">Pledge processed voucher exchange successfully</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">voucher-error</td>
                <td align="left">Pledge voucher processing with error</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">enroll-success</td>
                <td align="left">Pledge processed enrollment exchange successfully</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">enroll-error</td>
                <td align="left">Pledge enrollment-response processing with error</td>
              </tr>
              <tr>
                <td align="left">pos-details</td>
                <td align="left"> </td>
                <td align="left">Pledge operation status details, <xref target="pstatus_data"/></td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">connect-success</td>
                <td align="left">Pledge successfully establish connection to  peer</td>
              </tr>
              <tr>
                <td align="left"> </td>
                <td align="left">connect-error</td>
                <td align="left">Pledge connection establishment with error</td>
              </tr>
            </tbody>
          </table>
          <t>Note that the predefined details listed in <xref target="reason-context_pstatus_table_uri"/> may be enhanced by other specifications if necessary. 
The currently defined details reflect the different stages during onboarding along the exchanges shown in <xref target="exchangesfig_uc2_all"/>.</t>
        </section>
        <section anchor="voucher-status-and-enroll-status-telemetry-reason-context-values">
          <name>Voucher Status and Enroll Status Telemetry "reason-context" Values</name>
          <t>The following table provides an overview of "reason-context" values and further details of voucher status and enroll status telemetry data objects:</t>
          <table anchor="reason-context_tele_table_uri">
            <name>Voucher Status and Enroll Status Telemetry "reason-context" values and details</name>
            <thead>
              <tr>
                <th align="left">"reason-context" Value</th>
                <th align="left">Details type</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">pvs-details</td>
                <td align="left">STRING</td>
                <td align="left">Pledge voucher status details, <xref target="vstatus_artifact"/></td>
              </tr>
              <tr>
                <td align="left">pes-details</td>
                <td align="left">STRING</td>
                <td align="left">Pledge enroll status details, <xref target="estatus_artifact"/></td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="registrar_component">
        <name>Domain Registrar</name>
        <t>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 <tt>/.well-known/brski/</tt> Well-Known URI path.
These endpoints accommodate for the authenticated self-contained objects used by BRSKI-PRM to provide Pledge Enroll-Request (PER) artifacts and signature-wrapped CA certificates via the Registrar-Agent.</t>
        <table anchor="registrar_ep_table">
          <name>Additional Well-Known Endpoints on a BRSKI-PRM Registrar</name>
          <thead>
            <tr>
              <th align="left">Endpoint</th>
              <th align="left">Operation</th>
              <th align="left">Exchange and Artifacts</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">requestenroll</td>
              <td align="left">Supply PER to Registrar</td>
              <td align="left">
                <xref target="per"/></td>
            </tr>
            <tr>
              <td align="left">wrappedcacerts</td>
              <td align="left">Obtain CA Certificates</td>
              <td align="left">
                <xref target="obtain_cacerts"/></td>
            </tr>
          </tbody>
        </table>
        <t>For the supply of the PVR to the registrar, the pledge uses the endpoint "requestvoucher", defined in <xref target="RFC8995"/> as described in <xref target="pvr"/>.</t>
        <t>The registrar possesses its own EE certificate and corresponding private key for authenticating and signing.
It <bcp14>MUST</bcp14> use the same certificate/credentials for authentication in the TLS session with a Registrar-Agent and for signing artifacts for that Registrar-Agent and its pledges (see <xref target="rcv_artifact"/>).</t>
        <t>According to <xref section="5.3" sectionFormat="of" target="RFC8995"/>, a domain registrar performs the pledge authorization for bootstrapping within its domain based on the Pledge Voucher-Request.
For this, it <bcp14>MUST</bcp14> possess the IDevID trust anchor(s) (i.e., root or issuing CA certificate(s)) of the pledge vendor(s)/manufacturer(s).
This behavior is retained in BRSKI-PRM.</t>
        <t>In its role as EST server <xref target="RFC7030"/>, the domain registrar <bcp14>MUST</bcp14> also possess the domain CA certificates as defined in <xref section="5.9" sectionFormat="of" target="RFC8995"/>.</t>
        <t>Finally, the domain registrar <bcp14>MUST</bcp14> possess the Registrar-Agent EE certificate(s) to validate agent-signed data and to provide it to the MASA.
The registrar <bcp14>MAY</bcp14> use the certificate verified during client authentication within the TLS sessions with the Registrar-Agent;
in this case, the registrar <bcp14>MUST</bcp14> possess the domain trust anchor (i.e., domain CA certificate) for the Registrar-Agent EE certificate to verify the certificate chain.
Alternatively, the Registrar-Agent EE certificate(s) <bcp14>MAY</bcp14> be provided via configuration or a repository.</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 credentials for client authentication during the TLS session establishment and 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 Registrar-Agent EE certificate, which allows the domain registrar to explicitly detect already in the TLS session establishment that the connecting client is a Registrar-Agent.</t>
          <t>The registrar <bcp14>MAY</bcp14> be configured to only accept certain Registrar-Agents, which authenticate using the Registrar-Agent EE certificate.</t>
          <t>Note that using an EE certificate for TLS client authentication of the Registrar-Agent is a deviation from <xref target="RFC8995"/>, in which the pledge IDevID certificate is used to perform TLS client authentication.</t>
        </section>
      </section>
      <section anchor="masa">
        <name>MASA</name>
        <t>The Manufacturer Authorized Signing Authority (MASA) is a vendor service that generates and signs voucher artifacts for pledges by the same vendor.
When these pledges support BRSKI-PRM, the MASA needs to implement the following functionality in addition to BRSKI <xref target="RFC8995"/>.</t>
        <t>A MASA for pledges in responder mode <bcp14>MUST</bcp14> support the voucher format defined in <xref target="I-D.ietf-anima-jws-voucher"/> to parse and process JWS-signed voucher-request artifacts and generate JWS-signed voucher artifacts.</t>
        <t>Further, a MASA for pledges in responder mode <bcp14>MUST</bcp14> support the Agent Proximity Assertion (<xref target="agt_prx"/>) through the validation steps defined in <xref target="masa_interaction"/> based on the Pledge Voucher-Request (PVR) and Registrar Voucher-Request (RVR) artifact fields defined in <xref target="pvr_artifact"/> and <xref target="rvr_artifact"/>, respectively.</t>
      </section>
    </section>
    <section anchor="exchanges">
      <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(S) 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 authenticated self-contained objects that are not bound to a specific transport security and stay the same along the communication path from the pledge via the Registrar-Agent to the registrar.
<xref target="I-D.ietf-anima-rfc8366bis"/> defines CMS-signed JSON structures as format for artifacts representing authenticated self-contained objects.
This specification utilizes JWS-signed JSON structures as default format for BRSKI-PRM.
Other specifications may define alternative formats for representing authenticated self-contained objects such as COSE-signed CBOR structures.</t>
      <t><xref target="exchangesfig_uc2_all"/> provides an overview of the exchanges detailed in the following subsections.</t>
      <figure anchor="exchangesfig_uc2_all">
        <name>Overview pledge-responder-mode exchanges</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="1904" width="576" viewBox="0 0 576 1904" 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,800" fill="none" stroke="black"/>
              <path d="M 16,864 L 16,960" fill="none" stroke="black"/>
              <path d="M 16,1024 L 16,1072" fill="none" stroke="black"/>
              <path d="M 16,1136 L 16,1200" fill="none" stroke="black"/>
              <path d="M 16,1264 L 16,1312" fill="none" stroke="black"/>
              <path d="M 16,1376 L 16,1440" fill="none" stroke="black"/>
              <path d="M 16,1504 L 16,1632" fill="none" stroke="black"/>
              <path d="M 16,1696 L 16,1744" fill="none" stroke="black"/>
              <path d="M 16,1808 L 16,1872" 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,800" fill="none" stroke="black"/>
              <path d="M 168,864 L 168,960" fill="none" stroke="black"/>
              <path d="M 168,1024 L 168,1072" fill="none" stroke="black"/>
              <path d="M 168,1136 L 168,1200" fill="none" stroke="black"/>
              <path d="M 168,1264 L 168,1312" fill="none" stroke="black"/>
              <path d="M 168,1376 L 168,1440" fill="none" stroke="black"/>
              <path d="M 168,1504 L 168,1632" fill="none" stroke="black"/>
              <path d="M 168,1696 L 168,1744" fill="none" stroke="black"/>
              <path d="M 168,1808 L 168,1872" 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,544" fill="none" stroke="black"/>
              <path d="M 312,592 L 312,624" fill="none" stroke="black"/>
              <path d="M 312,656 L 312,800" fill="none" stroke="black"/>
              <path d="M 312,864 L 312,960" fill="none" stroke="black"/>
              <path d="M 312,1024 L 312,1072" fill="none" stroke="black"/>
              <path d="M 312,1136 L 312,1200" fill="none" stroke="black"/>
              <path d="M 312,1264 L 312,1312" fill="none" stroke="black"/>
              <path d="M 312,1376 L 312,1440" fill="none" stroke="black"/>
              <path d="M 312,1504 L 312,1600" fill="none" stroke="black"/>
              <path d="M 312,1696 L 312,1744" fill="none" stroke="black"/>
              <path d="M 312,1808 L 312,1872" 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,664" fill="none" stroke="black"/>
              <path d="M 456,784 L 456,800" fill="none" stroke="black"/>
              <path d="M 456,864 L 456,960" fill="none" stroke="black"/>
              <path d="M 456,1024 L 456,1072" fill="none" stroke="black"/>
              <path d="M 456,1136 L 456,1200" fill="none" stroke="black"/>
              <path d="M 456,1264 L 456,1312" fill="none" stroke="black"/>
              <path d="M 456,1376 L 456,1440" fill="none" stroke="black"/>
              <path d="M 456,1504 L 456,1544" fill="none" stroke="black"/>
              <path d="M 456,1600 L 456,1632" fill="none" stroke="black"/>
              <path d="M 456,1696 L 456,1744" fill="none" stroke="black"/>
              <path d="M 456,1808 L 456,1872" 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,704" fill="none" stroke="black"/>
              <path d="M 560,752 L 560,800" fill="none" stroke="black"/>
              <path d="M 560,864 L 560,960" fill="none" stroke="black"/>
              <path d="M 560,1024 L 560,1072" fill="none" stroke="black"/>
              <path d="M 560,1136 L 560,1200" fill="none" stroke="black"/>
              <path d="M 560,1264 L 560,1312" fill="none" stroke="black"/>
              <path d="M 560,1376 L 560,1440" fill="none" stroke="black"/>
              <path d="M 560,1504 L 560,1632" fill="none" stroke="black"/>
              <path d="M 560,1696 L 560,1744" fill="none" stroke="black"/>
              <path d="M 560,1808 L 560,1872" 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,608 L 224,608" fill="none" stroke="black"/>
              <path d="M 256,608 L 304,608" fill="none" stroke="black"/>
              <path d="M 320,672 L 416,672" fill="none" stroke="black"/>
              <path d="M 456,672 L 552,672" fill="none" stroke="black"/>
              <path d="M 320,688 L 424,688" fill="none" stroke="black"/>
              <path d="M 456,688 L 552,688" fill="none" stroke="black"/>
              <path d="M 320,768 L 408,768" fill="none" stroke="black"/>
              <path d="M 472,768 L 552,768" fill="none" stroke="black"/>
              <path d="M 176,784 L 208,784" fill="none" stroke="black"/>
              <path d="M 280,784 L 304,784" fill="none" stroke="black"/>
              <path d="M 176,880 L 216,880" fill="none" stroke="black"/>
              <path d="M 256,880 L 304,880" fill="none" stroke="black"/>
              <path d="M 176,896 L 224,896" fill="none" stroke="black"/>
              <path d="M 256,896 L 304,896" fill="none" stroke="black"/>
              <path d="M 320,912 L 344,912" fill="none" stroke="black"/>
              <path d="M 424,912 L 448,912" fill="none" stroke="black"/>
              <path d="M 320,928 L 336,928" fill="none" stroke="black"/>
              <path d="M 176,944 L 192,944" fill="none" stroke="black"/>
              <path d="M 288,944 L 304,944" fill="none" stroke="black"/>
              <path d="M 176,1040 L 216,1040" fill="none" stroke="black"/>
              <path d="M 256,1040 L 304,1040" fill="none" stroke="black"/>
              <path d="M 176,1056 L 208,1056" fill="none" stroke="black"/>
              <path d="M 272,1056 L 304,1056" fill="none" stroke="black"/>
              <path d="M 24,1152 L 56,1152" fill="none" stroke="black"/>
              <path d="M 128,1152 L 160,1152" fill="none" stroke="black"/>
              <path d="M 24,1168 L 64,1168" fill="none" stroke="black"/>
              <path d="M 136,1168 L 160,1168" fill="none" stroke="black"/>
              <path d="M 24,1184 L 64,1184" fill="none" stroke="black"/>
              <path d="M 128,1184 L 160,1184" fill="none" stroke="black"/>
              <path d="M 24,1280 L 56,1280" fill="none" stroke="black"/>
              <path d="M 128,1280 L 160,1280" fill="none" stroke="black"/>
              <path d="M 24,1296 L 64,1296" fill="none" stroke="black"/>
              <path d="M 128,1296 L 160,1296" fill="none" stroke="black"/>
              <path d="M 24,1392 L 56,1392" fill="none" stroke="black"/>
              <path d="M 128,1392 L 160,1392" fill="none" stroke="black"/>
              <path d="M 24,1408 L 48,1408" fill="none" stroke="black"/>
              <path d="M 144,1408 L 160,1408" fill="none" stroke="black"/>
              <path d="M 24,1424 L 56,1424" fill="none" stroke="black"/>
              <path d="M 120,1424 L 160,1424" fill="none" stroke="black"/>
              <path d="M 176,1520 L 216,1520" fill="none" stroke="black"/>
              <path d="M 256,1520 L 304,1520" fill="none" stroke="black"/>
              <path d="M 176,1536 L 208,1536" fill="none" stroke="black"/>
              <path d="M 272,1536 L 304,1536" fill="none" stroke="black"/>
              <path d="M 320,1552 L 416,1552" fill="none" stroke="black"/>
              <path d="M 456,1552 L 552,1552" fill="none" stroke="black"/>
              <path d="M 320,1568 L 352,1568" fill="none" stroke="black"/>
              <path d="M 520,1568 L 552,1568" fill="none" stroke="black"/>
              <path d="M 320,1584 L 368,1584" fill="none" stroke="black"/>
              <path d="M 504,1584 L 552,1584" fill="none" stroke="black"/>
              <path d="M 176,1712 L 216,1712" fill="none" stroke="black"/>
              <path d="M 256,1712 L 304,1712" fill="none" stroke="black"/>
              <path d="M 176,1728 L 208,1728" fill="none" stroke="black"/>
              <path d="M 272,1728 L 304,1728" fill="none" stroke="black"/>
              <path d="M 24,1824 L 56,1824" fill="none" stroke="black"/>
              <path d="M 128,1824 L 160,1824" fill="none" stroke="black"/>
              <path d="M 24,1840 L 64,1840" fill="none" stroke="black"/>
              <path d="M 128,1840 L 160,1840" fill="none" stroke="black"/>
              <path d="M 24,1856 L 64,1856" fill="none" stroke="black"/>
              <path d="M 128,1856 L 160,1856" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="560,1568 548,1562.4 548,1573.6" fill="black" transform="rotate(0,552,1568)"/>
              <polygon class="arrowhead" points="560,1552 548,1546.4 548,1557.6" fill="black" transform="rotate(0,552,1552)"/>
              <polygon class="arrowhead" points="560,688 548,682.4 548,693.6" fill="black" transform="rotate(0,552,688)"/>
              <polygon class="arrowhead" points="560,672 548,666.4 548,677.6" fill="black" transform="rotate(0,552,672)"/>
              <polygon class="arrowhead" points="456,912 444,906.4 444,917.6" fill="black" transform="rotate(0,448,912)"/>
              <polygon class="arrowhead" points="328,1584 316,1578.4 316,1589.6" fill="black" transform="rotate(180,320,1584)"/>
              <polygon class="arrowhead" points="328,1552 316,1546.4 316,1557.6" fill="black" transform="rotate(180,320,1552)"/>
              <polygon class="arrowhead" points="328,928 316,922.4 316,933.6" fill="black" transform="rotate(180,320,928)"/>
              <polygon class="arrowhead" points="328,768 316,762.4 316,773.6" fill="black" transform="rotate(180,320,768)"/>
              <polygon class="arrowhead" points="328,672 316,666.4 316,677.6" fill="black" transform="rotate(180,320,672)"/>
              <polygon class="arrowhead" points="312,1728 300,1722.4 300,1733.6" fill="black" transform="rotate(0,304,1728)"/>
              <polygon class="arrowhead" points="312,1712 300,1706.4 300,1717.6" fill="black" transform="rotate(0,304,1712)"/>
              <polygon class="arrowhead" points="312,1536 300,1530.4 300,1541.6" fill="black" transform="rotate(0,304,1536)"/>
              <polygon class="arrowhead" points="312,1520 300,1514.4 300,1525.6" fill="black" transform="rotate(0,304,1520)"/>
              <polygon class="arrowhead" points="312,1040 300,1034.4 300,1045.6" fill="black" transform="rotate(0,304,1040)"/>
              <polygon class="arrowhead" points="312,896 300,890.4 300,901.6" fill="black" transform="rotate(0,304,896)"/>
              <polygon class="arrowhead" points="312,880 300,874.4 300,885.6" fill="black" transform="rotate(0,304,880)"/>
              <polygon class="arrowhead" points="312,608 300,602.4 300,613.6" fill="black" transform="rotate(0,304,608)"/>
              <polygon class="arrowhead" points="312,528 300,522.4 300,533.6" fill="black" transform="rotate(0,304,528)"/>
              <polygon class="arrowhead" points="184,1712 172,1706.4 172,1717.6" fill="black" transform="rotate(180,176,1712)"/>
              <polygon class="arrowhead" points="184,1520 172,1514.4 172,1525.6" fill="black" transform="rotate(180,176,1520)"/>
              <polygon class="arrowhead" points="184,1056 172,1050.4 172,1061.6" fill="black" transform="rotate(180,176,1056)"/>
              <polygon class="arrowhead" points="184,1040 172,1034.4 172,1045.6" fill="black" transform="rotate(180,176,1040)"/>
              <polygon class="arrowhead" points="184,944 172,938.4 172,949.6" fill="black" transform="rotate(180,176,944)"/>
              <polygon class="arrowhead" points="184,880 172,874.4 172,885.6" fill="black" transform="rotate(180,176,880)"/>
              <polygon class="arrowhead" points="184,784 172,778.4 172,789.6" fill="black" transform="rotate(180,176,784)"/>
              <polygon class="arrowhead" points="184,528 172,522.4 172,533.6" fill="black" transform="rotate(180,176,528)"/>
              <polygon class="arrowhead" points="168,1856 156,1850.4 156,1861.6" fill="black" transform="rotate(0,160,1856)"/>
              <polygon class="arrowhead" points="168,1824 156,1818.4 156,1829.6" fill="black" transform="rotate(0,160,1824)"/>
              <polygon class="arrowhead" points="168,1424 156,1418.4 156,1429.6" fill="black" transform="rotate(0,160,1424)"/>
              <polygon class="arrowhead" points="168,1392 156,1386.4 156,1397.6" fill="black" transform="rotate(0,160,1392)"/>
              <polygon class="arrowhead" points="168,1280 156,1274.4 156,1285.6" fill="black" transform="rotate(0,160,1280)"/>
              <polygon class="arrowhead" points="168,1184 156,1178.4 156,1189.6" fill="black" transform="rotate(0,160,1184)"/>
              <polygon class="arrowhead" points="168,1152 156,1146.4 156,1157.6" fill="black" transform="rotate(0,160,1152)"/>
              <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,1840 20,1834.4 20,1845.6" fill="black" transform="rotate(180,24,1840)"/>
              <polygon class="arrowhead" points="32,1824 20,1818.4 20,1829.6" fill="black" transform="rotate(180,24,1824)"/>
              <polygon class="arrowhead" points="32,1408 20,1402.4 20,1413.6" fill="black" transform="rotate(180,24,1408)"/>
              <polygon class="arrowhead" points="32,1392 20,1386.4 20,1397.6" fill="black" transform="rotate(180,24,1392)"/>
              <polygon class="arrowhead" points="32,1296 20,1290.4 20,1301.6" fill="black" transform="rotate(180,24,1296)"/>
              <polygon class="arrowhead" points="32,1280 20,1274.4 20,1285.6" fill="black" transform="rotate(180,24,1280)"/>
              <polygon class="arrowhead" points="32,1168 20,1162.4 20,1173.6" fill="black" transform="rotate(180,24,1168)"/>
              <polygon class="arrowhead" points="32,1152 20,1146.4 20,1157.6" fill="black" transform="rotate(180,24,1152)"/>
              <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="432" y="52">Key</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">Infra.</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="332" y="484">MASA</text>
                <text x="404" 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="564">[Registrar-Agent</text>
                <text x="308" y="580">authenticated&amp;authorized?]</text>
                <text x="240" y="612">PVR</text>
                <text x="280" y="644">[accept</text>
                <text x="348" y="644">device?]</text>
                <text x="436" y="676">mTLS</text>
                <text x="440" y="692">RVR</text>
                <text x="456" y="708">~</text>
                <text x="460" y="724">[extract</text>
                <text x="536" y="724">DomainID]</text>
                <text x="456" y="740">[update</text>
                <text x="532" y="740">audit-log]</text>
                <text x="456" y="756">~</text>
                <text x="440" y="772">Voucher</text>
                <text x="244" y="788">Voucher'</text>
                <text x="16" y="820">~</text>
                <text x="168" y="820">~</text>
                <text x="312" y="820">~</text>
                <text x="456" y="820">~</text>
                <text x="560" y="820">~</text>
                <text x="16" y="836">(4)</text>
                <text x="60" y="836">Supply</text>
                <text x="104" y="836">PER</text>
                <text x="132" y="836">to</text>
                <text x="184" y="836">Registrar</text>
                <text x="268" y="836">(including</text>
                <text x="328" y="836">Key</text>
                <text x="404" y="836">Infrastructure</text>
                <text x="516" y="836">interaction)</text>
                <text x="16" y="852">~</text>
                <text x="168" y="852">~</text>
                <text x="312" y="852">~</text>
                <text x="456" y="852">~</text>
                <text x="560" y="852">~</text>
                <text x="236" y="884">mTLS</text>
                <text x="240" y="900">PER</text>
                <text x="384" y="916">[Request]</text>
                <text x="396" y="932">[Certificate]-</text>
                <text x="240" y="948">Enroll-Resp</text>
                <text x="16" y="980">~</text>
                <text x="168" y="980">~</text>
                <text x="312" y="980">~</text>
                <text x="456" y="980">~</text>
                <text x="560" y="980">~</text>
                <text x="16" y="996">(5)</text>
                <text x="60" y="996">Obtain</text>
                <text x="100" y="996">CA</text>
                <text x="164" y="996">Certificates</text>
                <text x="16" y="1012">~</text>
                <text x="168" y="1012">~</text>
                <text x="312" y="1012">~</text>
                <text x="456" y="1012">~</text>
                <text x="560" y="1012">~</text>
                <text x="236" y="1044">mTLS</text>
                <text x="240" y="1060">caCerts</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="16" y="1108">(6)</text>
                <text x="60" y="1108">Supply</text>
                <text x="120" y="1108">Voucher</text>
                <text x="164" y="1108">to</text>
                <text x="204" y="1108">Pledge</text>
                <text x="16" y="1124">~</text>
                <text x="168" y="1124">~</text>
                <text x="312" y="1124">~</text>
                <text x="456" y="1124">~</text>
                <text x="560" y="1124">~</text>
                <text x="76" y="1156">opt.</text>
                <text x="112" y="1156">TLS</text>
                <text x="100" y="1172">Voucher'</text>
                <text x="96" y="1188">vStatus</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="16" y="1236">(7)</text>
                <text x="60" y="1236">Supply</text>
                <text x="100" y="1236">CA</text>
                <text x="164" y="1236">Certificates</text>
                <text x="228" y="1236">to</text>
                <text x="268" y="1236">Pledge</text>
                <text x="16" y="1252">~</text>
                <text x="168" y="1252">~</text>
                <text x="312" y="1252">~</text>
                <text x="456" y="1252">~</text>
                <text x="560" y="1252">~</text>
                <text x="76" y="1284">opt.</text>
                <text x="112" y="1284">TLS</text>
                <text x="96" y="1300">caCerts</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="16" y="1348">(8)</text>
                <text x="60" y="1348">Supply</text>
                <text x="152" y="1348">Enroll-Response</text>
                <text x="228" y="1348">to</text>
                <text x="268" y="1348">Pledge</text>
                <text x="16" y="1364">~</text>
                <text x="168" y="1364">~</text>
                <text x="312" y="1364">~</text>
                <text x="456" y="1364">~</text>
                <text x="560" y="1364">~</text>
                <text x="76" y="1396">opt.</text>
                <text x="112" y="1396">TLS</text>
                <text x="96" y="1412">Enroll-Resp</text>
                <text x="88" y="1428">eStatus</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="16" y="1476">(9)</text>
                <text x="64" y="1476">Voucher</text>
                <text x="124" y="1476">Status</text>
                <text x="192" y="1476">Telemetry</text>
                <text x="276" y="1476">(including</text>
                <text x="352" y="1476">backend</text>
                <text x="436" y="1476">interaction)</text>
                <text x="16" y="1492">~</text>
                <text x="168" y="1492">~</text>
                <text x="312" y="1492">~</text>
                <text x="456" y="1492">~</text>
                <text x="560" y="1492">~</text>
                <text x="236" y="1524">mTLS</text>
                <text x="240" y="1540">vStatus</text>
                <text x="436" y="1556">mTLS</text>
                <text x="368" y="1572">req</text>
                <text x="412" y="1572">device</text>
                <text x="480" y="1572">audit-log</text>
                <text x="396" y="1588">device</text>
                <text x="464" y="1588">audit-log</text>
                <text x="264" y="1620">[verify</text>
                <text x="340" y="1620">audit-log]</text>
                <text x="312" y="1636">|</text>
                <text x="16" y="1652">~</text>
                <text x="168" y="1652">~</text>
                <text x="312" y="1652">~</text>
                <text x="456" y="1652">~</text>
                <text x="560" y="1652">~</text>
                <text x="20" y="1668">(10)</text>
                <text x="68" y="1668">Enroll</text>
                <text x="124" y="1668">Status</text>
                <text x="192" y="1668">Telemetry</text>
                <text x="16" y="1684">~</text>
                <text x="168" y="1684">~</text>
                <text x="312" y="1684">~</text>
                <text x="456" y="1684">~</text>
                <text x="560" y="1684">~</text>
                <text x="236" y="1716">mTLS</text>
                <text x="240" y="1732">eStatus</text>
                <text x="16" y="1764">~</text>
                <text x="168" y="1764">~</text>
                <text x="312" y="1764">~</text>
                <text x="456" y="1764">~</text>
                <text x="560" y="1764">~</text>
                <text x="20" y="1780">(11)</text>
                <text x="64" y="1780">Query</text>
                <text x="116" y="1780">Pledge</text>
                <text x="172" y="1780">Status</text>
                <text x="16" y="1796">~</text>
                <text x="168" y="1796">~</text>
                <text x="312" y="1796">~</text>
                <text x="456" y="1796">~</text>
                <text x="560" y="1796">~</text>
                <text x="76" y="1828">opt.</text>
                <text x="112" y="1828">TLS</text>
                <text x="96" y="1844">tStatus</text>
                <text x="96" y="1860">pStatus</text>
                <text x="16" y="1892">~</text>
                <text x="168" y="1892">~</text>
                <text x="312" y="1892">~</text>
                <text x="456" y="1892">~</text>
                <text x="560" y="1892">~</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   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 MASA interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<-----mTLS------>|                 |            |
 |                  |                 |                 |            |
 |                  |         [Registrar-Agent          |            |
 |                  |    authenticated&authorized?]     |            |
 |                  |                 |                 |            |
 |                  |-------PVR------>|                 |            |
 |                  |                 |                 |            |
 |                  |          [accept device?]         |            |
 |                  |                 |                 |            |
 |                  |                 |<------------mTLS------------>|
 |                  |                 |--------------RVR------------>|
 |                  |                 |                 ~            |
 |                  |                 |              [extract DomainID]
 |                  |                 |              [update audit-log]
 |                  |                 |                 ~            |
 |                  |                 |<-----------Voucher-----------|
 |                  |<----Voucher''---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(4) Supply PER to Registrar (including Key Infrastructure interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<---((mTLS))---->|                 |            |
 |                  |-------PER------>|                 |            |
 |                  |                 |----[Request]--->|            |
 |                  |                 |<--[Certificate]-|            |
 |                  |<--Enroll-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(5) Obtain CA Certificates
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |<----caCerts-----|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
(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 subsections split the interactions shown in <xref target="exchangesfig_uc2_all"/> between the different components into:</t>
      <ol spacing="normal" type="1"><li>
          <t><xref target="tpvr"/> describes the acquisition exchange for the Pledge Voucher-Request initiated by the Registrar-Agent to the pledge.</t>
        </li>
        <li>
          <t><xref target="tper"/> describes the acquisition exchange for the Pledge Enroll-Request initiated by the Registrar-Agent to the pledge.</t>
        </li>
        <li>
          <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_artifact"/>, as well as the artifact processing by these entities.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t><xref target="obtain_cacerts"/> describes the retrieval exchange for the optional CA certificate provisioning to the pledge initiated by the Registrar-Agent to the CA.</t>
        </li>
        <li>
          <t><xref target="voucher"/> describes the Voucher exchange initiated by the Registrar-Agent to the pledge and the returned status information.</t>
        </li>
        <li>
          <t><xref target="cacerts"/> describes the CA certificate exchange initiated by the Registrar-Agent to the pledge.</t>
        </li>
        <li>
          <t><xref target="enroll_response"/> describes the Enroll-Response exchange initiated by the Registrar-Agent to the pledge (containing a new pledge EE certificate) and the returned status information.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t><xref target="estatus"/> describes the Enroll Status telemetry exchange initiated by the Registrar-Agent to the registrar.</t>
        </li>
        <li>
          <t><xref target="query"/> describes the Pledge Status exchange about the general bootstrapping state initiated by the Registrar-Agent to the pledge.</t>
        </li>
      </ol>
      <section anchor="tpvr">
        <name>Trigger Pledge Voucher-Request</name>
        <t>The Registrar-Agent begins the sequence of exchanges by sending the Pledge Voucher-Request Trigger (tPVR).
This assumes that the Registrar-Agent has already discovered the pledge, for instance as described in <xref target="discovery_uc2_ppa"/> based on DNS-SD or similar.</t>
        <t>TLS <bcp14>MAY</bcp14> be used to provide transport security, e.g., privacy and peer authentication, for the 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 anchor="exchangesfig_uc2_1">
          <name>PVR acquisition exchange</name>
          <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="432" y="52">Key</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">Infra.</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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(1) Trigger Pledge Voucher-Request
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<------tPVR-------|                 |                 |            |
 |--------PVR------>|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent triggers the pledge to create a PVR via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/tpvr</tt>.
The request body <bcp14>MUST</bcp14> contain the JSON-based Pledge Voucher-Request Trigger (tPVR) artifact as defined in <xref target="tpvr_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        <t>Upon receiving a valid tPVR, the pledge <bcp14>MUST</bcp14> reply with the PVR artifact as defined in <xref target="pvr_artifact"/> in the body of an HTTP 200 OK response.
If the Accept header was not provided in the PVR, the pledge assumes that the accepted response format is <tt>application/voucher-jws+json</tt> and proceeds processing.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        <t>Note that the pledge provisionally accepts the registrar EE certificate contained in the tPVR until it receives the voucher (see <xref target="agt_prx"/>).
The pledge will take the last received tPVR for the provisional accept of the received registrar EE certificate, if it does not have the capability to store more that one registrar EE certificate.</t>
        <t>If the pledge is unable to create the PVR, it responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects 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 Content-Type request header field was set to <tt>application/json</tt>.</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/voucher-jws+json</tt>.</t>
          </li>
          <li>
            <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 <tt>application/json</tt>.</t>
          </li>
        </ul>
        <t>The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <t>While BRSKI-PRM does not specify which content may be provided in the response body, it is recommended to provided it as JSON encoded information as other BRSKI-PRM exchanges also utilize this encoding.</t>
        <section anchor="tpvr_artifact">
          <name>Request Artifact: Pledge Voucher-Request Trigger (tPVR)</name>
          <t>The Pledge Voucher-Request Trigger (tPVR) artifact <bcp14>SHALL</bcp14> be an unsigned data object, providing the necessary parameters for generating the Pledge Voucher-Request (PVR) artifact such that the Agent Proximity Assertion can be verified by registrar and MASA:
the registrar EE certificate and an agent-signed data object containing the product-serial-number and a timestamp.
The artifact is unsigned because at the time of receiving the tPVR, the pledge could not verify any signature.</t>
          <t>For the JSON-based format used by this specification, the tPVR artifact <bcp14>SHALL</bcp14> be a UTF-8 encoded JSON document <xref target="RFC8259"/> that conforms with the CDDL <xref target="RFC8610"/> data model defined in <xref target="tpvr_CDDL_def"/>:</t>
          <figure anchor="tpvr_CDDL_def">
            <name>CDDL for Pledge Voucher-Request Trigger (pledgevoucherrequesttrigger)</name>
            <artwork type="cddl" align="left"><![CDATA[
  pledgevoucherrequesttrigger = {
    "agent-provided-proximity-registrar-cert": bytes,
    "agent-signed-data": bytes
  }
]]></artwork>
          </figure>
          <t>The <tt>agent-provided-proximity-registrar-cert</tt> member <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate in X.509 v3 (DER) format.
The <tt>agent-signed-data</tt> member <bcp14>SHALL</bcp14> contain the base64-encoded JWS Agent-Signed Data as defined in <xref target="jws-asd"/>.
<xref target="tpvr_example"/> summarizes the serialization the JSON tPVR artifact:</t>
          <figure anchor="tpvr_example">
            <name>tPVR Representation in JSON</name>
            <artwork align="left"><![CDATA[
{
  "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
  "agent-signed-data": BASE64(UTF8(JWS Agent-Signed Data))
}
]]></artwork>
          </figure>
          <section anchor="jws-asd">
            <name>JWS Agent-Signed Data</name>
            <t>To enable alternative formats, the YANG module in <xref target="I-D.ietf-anima-rfc8366bis"/> defines the leaf <tt>agent-signed-data</tt> as binary.
For the JWS-signed JSON format used by this specification, the <tt>agent-signed-data</tt> leaf <bcp14>SHALL</bcp14> be a UTF-8 encoded JWS structure in "General JWS JSON Serialization Syntax" as defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/> signing the JSON Agent-Signed Data defined in <xref target="prm-asd"/>.
<xref target="asd_representation"/> summarizes this JWS structure for the <tt>agent-signed-data</tt> member of the tPVR artifact:</t>
            <figure anchor="asd_representation">
              <name>JWS Agent-Signed Data in General JWS JSON Serialization Syntax</name>
              <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Agent-Signed Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
            </figure>
            <t>The JSON Agent-Signed Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
            <section anchor="prm-asd">
              <name>JSON Agent-Signed Data</name>
              <t>The JSON Agent-Signed Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="prmasd_CDDL_def"/>:</t>
              <figure anchor="prmasd_CDDL_def">
                <name>CDDL for JSON Agent-Signed Data (prmasd)</name>
                <artwork type="cddl" align="left"><![CDATA[
  prmasd = {
    "created-on": tdate,
    "serial-number": text
  }
]]></artwork>
              </figure>
              <t>The <tt>created-on</tt> member <bcp14>SHALL</bcp14> contain the current date and time at tPVR creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>.</t>
              <t>The <tt>serial-number</tt> member <bcp14>SHALL</bcp14> contain the product-serial-number of the pledge with which the Registrar-Agent assumes to communicate as string.
The format <bcp14>MUST</bcp14> correspond to the X520SerialNumber field of IDevID certificates.</t>
              <t><xref target="prmasd_payload"/> below shows an example for the JSON Agent-Signed Data:</t>
              <figure anchor="prmasd_payload">
                <name>JSON Agent-Signed Data Example</name>
                <artwork type="json" align="left"><![CDATA[
{
  "created-on": "2021-04-16T00:00:01.000Z",
  "serial-number": "vendor-pledge4711"
}
]]></artwork>
              </figure>
            </section>
            <section anchor="jws-protected-header">
              <name>JWS Protected Header</name>
              <t>The JWS Protected Header of the <tt>agent-signed-data</tt> member <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
              <ul spacing="normal">
                <li>
                  <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/>.</t>
                </li>
                <li>
                  <t><tt>kid</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded OCTET STRING value of the SubjectKeyIdentifier of the Registrar-Agent EE certificate as described in <xref target="agent_component"/>.</t>
                </li>
              </ul>
              <t><xref target="asd_header"/> shows an example for this JWS Protected Header:</t>
              <figure anchor="asd_header">
                <name>JWS Protected Header Example for</name>
                <artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "kid": "base64encodedvalue=="
}
]]></artwork>
              </figure>
            </section>
            <section anchor="jws-signature">
              <name>JWS Signature</name>
              <t>The Registrar-Agent <bcp14>MUST</bcp14> sign the <tt>agent-signed-data</tt> member using its EE credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
            </section>
          </section>
        </section>
        <section anchor="pvr_artifact">
          <name>Response Artifact: Pledge Voucher-Request (PVR)</name>
          <t>The Pledge Voucher-Request (PVR) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing an extended Voucher-Request artifact based on <xref section="5.2" sectionFormat="of" target="RFC8995"/>.
The BRSKI-PRM related enhancements of the <tt>ietf-voucher-request</tt> YANG module are defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the PVR artifact <bcp14>MUST</bcp14> be a JWS Voucher structure as defined in <xref target="I-D.ietf-anima-jws-voucher"/>, which <bcp14>MUST</bcp14> contain the JSON PVR Data defined in <xref target="pvr_data"/> in the JWS Payload.
<xref target="pvr_representation"/> summarizes the serialization of the JWS-signed JSON PVR artifact:</t>
          <figure anchor="pvr_representation">
            <name>PVR Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON PVR Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <section anchor="pvr_data">
            <name>JSON PVR Data</name>
            <t>The JSON PVR Data <bcp14>MUST</bcp14> contain the following fields of the <tt>ietf-voucher-request</tt> YANG module as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>;
note that this makes optional leaf data nodes in the YANG definition mandatory for the PVR artifact:</t>
            <ul spacing="normal">
              <li>
                <t><tt>created-on</tt>: <bcp14>SHALL</bcp14> contain the current date and time at PVR creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>;
if the pledge does not have synchronized time, it <bcp14>SHALL</bcp14> use the <tt>created-on</tt> value from the JSON Agent-Signed Data received with the tPVR artifact and <bcp14>SHOULD</bcp14> advance that value based on its local clock to reflect the PVR creation time.</t>
              </li>
              <li>
                <t><tt>nonce</tt>: <bcp14>SHALL</bcp14> contain a cryptographically strong random or pseudo-random number nonce (see <xref section="6.2" sectionFormat="of" target="RFC4086"/>).</t>
              </li>
              <li>
                <t><tt>serial-number</tt>: <bcp14>SHALL</bcp14> contain the product-serial-number in the X520SerialNumber field of the pledge IDevID certificate as string as defined in <xref section="2.3.1" sectionFormat="of" target="RFC8995"/>.</t>
              </li>
              <li>
                <t><tt>assertion</tt>: <bcp14>SHALL</bcp14> contain the assertion type <tt>agent-proximity</tt> to indicate the pledge request (different from BRSKI <xref target="RFC8995"/>).</t>
              </li>
              <li>
                <t><tt>agent-provided-proximity-registrar-cert</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate provided in the tPVR by the Registrar-Agent;
enables the registrar and MASA to verify the Agent Proximity Assertion.</t>
              </li>
              <li>
                <t><tt>agent-signed-data</tt>: <bcp14>SHALL</bcp14> contain the same value as the <tt>agent-signed-data</tt> member in the tPVR provided by the Registrar-Agent;
enables the registrar and MASA to verify the Agent Proximity Assertion;
also enables the registrar to log which Registrar-Agent was in contact with the pledge.</t>
              </li>
            </ul>
            <t><xref target="pvr_data_example"/> shows an example for the JSON PVR Data:</t>
            <figure anchor="pvr_data_example">
              <name>JSON PVR Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "ietf-voucher-request:voucher": {
     "created-on": "2021-04-16T00:00:02.000Z",
     "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
     "serial-number": "vendor-pledge4711",
     "assertion": "agent-proximity",
     "agent-provided-proximity-registrar-cert": "base64encodedvalue==",
     "agent-signed-data": "base64encodedvalue=="
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-1">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header <bcp14>MUST</bcp14> follow the definitions of <xref section="3.2" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.</t>
          </section>
          <section anchor="jws-signature-1">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the PVR artifact using its IDevID credential following the definitions of <xref section="3.3" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </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>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 acquisition of the PER and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_2">
          <name>PER acquisition exchange</name>
          <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="432" y="52">Key</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">Infra.</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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   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(S) POST to the pledge endpoint at <tt>/.well-known/brski/tper</tt>.
The request body <bcp14>MUST</bcp14> contain the JSON-based Pledge Enroll-Request Trigger (tPER) artifact as defined in <xref target="tper_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving a valid tPER, the pledge <bcp14>MUST</bcp14> reply with the PER artifact as defined in <xref target="per_artifact"/> in the body of an HTTP 200 OK response.
If the Accept header was not provided in the PER, the pledge assumes that the accepted response format is <tt>application/voucher-jws+json</tt> and proceeds processing.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to create the PER, it responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request.</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt>.</t>
          </li>
          <li>
            <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 <tt>application/json</tt>.</t>
          </li>
        </ul>
        <t>The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.
While BRSKI-PRM does not specify which content may be provided in the response body, it is recommended to provided it as JSON encoded information as other BRSKI-PRM exchanges also utilize this encoding.</t>
        <section anchor="tper_artifact">
          <name>Request Artifact: Pledge Enroll-Request Trigger (tPER)</name>
          <t>The Pledge Enroll-Request Trigger (tPVR) artifact <bcp14>SHALL</bcp14> be an unsigned data object, providing enrollment parameters.
This document specifies only the basic parameter for a generic, device-related LDevID 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 Key Infrastructure.</t>
          <t>The Pledge Enroll-Request Trigger (tPER) artifact <bcp14>MAY</bcp14> be used to provide additional enrollment parameters such as CSR attributes.
How to provide and use such additional data is out of scope for this specification.</t>
          <t>For the JSON-based format used by this specification, the tPER artifact <bcp14>MUST</bcp14> be a UTF-8 encoded JSON document <xref target="RFC8259"/> that conforms with the CDDL <xref target="RFC8610"/> data model defined in <xref target="tper_CDDL_def"/>:</t>
          <figure anchor="tper_CDDL_def">
            <name>CDDL for Pledge Enroll-Request Trigger (pledgeenrollrequesttrigger)</name>
            <artwork type="cddl" align="left"><![CDATA[
pledgeenrollrequesttrigger = {
    "enroll-type": $enroll-type
}

$enroll-type /= "enroll-generic-cert"
]]></artwork>
          </figure>
          <t>The <tt>enroll-type</tt> member allows for specifying which type of certificate is to be enrolled.
As shown in <xref target="tper_CDDL_def"/>, BRSKI-PRM only defines the enumeration value <tt>enroll-generic-cert</tt> for the enrollment of the generic, device-related LDevID certificate.
Other specifications using this artifact may define further enum values, e.g., to bootstrap application-related EE certificates with additional CSR attributes.</t>
        </section>
        <section anchor="per_artifact">
          <name>Response Artifact: Pledge Enroll-Request (PER)</name>
          <t>The Pledge Enroll-Request (PER) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing a PKCS#10 Certificate Signing Request (CSR) <xref target="RFC2986"/>.
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 of the pledge, POI is provided.</t>
          <t>For the JWS-signed JSON format used by this specification, the PER artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON CSR Data defined in <xref target="per_data"/> in the JWS Payload.
<xref target="per_representation"/> summarizes the serialization of the JWS-signed JSON PER artifact:</t>
          <figure anchor="per_representation">
            <name>PER Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON CSR Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON CSR Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="per_data">
            <name>JSON CSR Data</name>
            <t>The JSON CSR Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the data model described by the <tt>csr-grouping</tt> of the <tt>ietf-ztp-types</tt> YANG module defined in <xref section="3.2" sectionFormat="of" target="RFC9646"/> and <bcp14>MUST</bcp14> be encoded using the rules defined in <xref target="RFC7951"/>.
Note that <xref target="RFC9646"/> also allows for inclusion of CSRs in different formats used by CMP and CMC.
For PKCS#10 CSRs as used in BRSKI and BRSKI-PRM, the <tt>p10-csr</tt> case of the <tt>csr-grouping</tt> <bcp14>MUST</bcp14> be used.</t>
            <t><xref target="csr_example"/> below shows an example for the JSON CSR Data:</t>
            <figure anchor="csr_example">
              <name>JSON CSR Data Example</name>
              <artwork align="left"><![CDATA[
{
  "ietf-ztp-types": {
     "p10-csr": "base64encodedvalue=="
   }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-2">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the PER artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge EE certificate used to sign the PER artifact and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate.
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification.
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</t>
              </li>
              <li>
                <t><tt>crit</tt>: <bcp14>SHALL</bcp14> indicate the extension Header Parameter <tt>created-on</tt> to ensure that it must be understood and validated by the receiver as defined in <xref section="4.1.11" sectionFormat="of" target="RFC7515"/>.</t>
              </li>
            </ul>
            <t>In addition, the JWS Protected Header of the PER artifact <bcp14>MUST</bcp14> contain the following extension Header Parameter:</t>
            <ul spacing="normal">
              <li>
                <t><tt>created-on</tt>: <bcp14>SHALL</bcp14> contain the current date and time at PER creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>;
if the pledge does not have synchronized time, it <bcp14>SHALL</bcp14> use the <tt>created-on</tt> value from the JSON Agent-Signed Data received with the tPVR artifact and <bcp14>SHOULD</bcp14> advance that value based on its local clock to reflect the PER creation time.</t>
              </li>
            </ul>
            <t>The new protected Header Parameter <tt>created-on</tt> is introduced to reflect freshness of the PER.
It allows the registrar to verify the timely correlation between the PER artifact and previous exchanges, i.e., <tt>created-on</tt> of PER &gt;= <tt>created-on</tt> of PVR &gt;= <tt>created-on</tt> of PVR trigger.
The registrar <bcp14>MAY</bcp14> ignore any but the newest PER artifact from the same pledge in case the registrar has at any point in time more than one pending PER from the pledge.</t>
            <t><xref target="per_header"/> shows an example for this JWS Protected Header:</t>
            <figure anchor="per_header">
              <name>JWS Protected Header Example within PER</name>
              <artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ],
  "crit": ["created-on"],
  "created-on": "2025-01-13T00:00:02.000Z"
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-2">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the PER artifact using its IDevID credential.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
            <t>While BRSKI-PRM targets the initial enrollment, re-enrollment can be supported similarly.
In this case, the pledge <bcp14>MAY</bcp14> use its current, potentially application-related EE credential instead of its IDevID credential to sign the PER artifact.
The issuing CA can associate the re-enrollment request with the pledge based on the previously issued and still valid EE certificate.
Note that a pledge that does not have synchronized time needs to advance the last known current date and time based on its local clock over a longer period, which also requires persisting the local clock advancements across reboots.</t>
          </section>
        </section>
      </section>
      <section anchor="pvr">
        <name>Supply PVR to Registrar (including MASA interaction)</name>
        <t>Once the Registrar-Agent has acquired one or more PVR and PER object pairs, it starts the interaction with the domain registrar.
Collecting multiple pairs allows bulk bootstrapping of several pledges using the same session with the registrar.</t>
        <t>The Registrar-Agent <bcp14>MUST</bcp14> establish a TLS session to the registrar with mutual authentication.
In contrast to BRSKI <xref target="RFC8995"/>, the TLS client authentication uses the Registrar-Agent EE certificate instead of the pledge IDevID certificate.
Consequently, the domain registrar can distinguish BRSKI (pledge-initiator-mode) from BRSKI-PRM (pledge-responder-mode).</t>
        <t><xref target="exchangesfig_uc2_3"/> shows the voucher-request processing and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_3">
          <name>Voucher issuing exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="480" width="576" viewBox="0 0 576 480" 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,448" 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,448" 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,192" fill="none" stroke="black"/>
                <path d="M 312,240 L 312,272" fill="none" stroke="black"/>
                <path d="M 312,304 L 312,448" 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,312" fill="none" stroke="black"/>
                <path d="M 456,432 L 456,448" 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,352" fill="none" stroke="black"/>
                <path d="M 560,400 L 560,448" 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,256 L 224,256" fill="none" stroke="black"/>
                <path d="M 256,256 L 304,256" fill="none" stroke="black"/>
                <path d="M 320,320 L 416,320" fill="none" stroke="black"/>
                <path d="M 456,320 L 552,320" fill="none" stroke="black"/>
                <path d="M 320,336 L 424,336" fill="none" stroke="black"/>
                <path d="M 456,336 L 552,336" fill="none" stroke="black"/>
                <path d="M 320,416 L 408,416" fill="none" stroke="black"/>
                <path d="M 472,416 L 552,416" fill="none" stroke="black"/>
                <path d="M 176,432 L 208,432" fill="none" stroke="black"/>
                <path d="M 280,432 L 304,432" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="560,336 548,330.4 548,341.6" fill="black" transform="rotate(0,552,336)"/>
                <polygon class="arrowhead" points="560,320 548,314.4 548,325.6" fill="black" transform="rotate(0,552,320)"/>
                <polygon class="arrowhead" points="328,416 316,410.4 316,421.6" fill="black" transform="rotate(180,320,416)"/>
                <polygon class="arrowhead" points="328,320 316,314.4 316,325.6" fill="black" transform="rotate(180,320,320)"/>
                <polygon class="arrowhead" points="312,256 300,250.4 300,261.6" fill="black" transform="rotate(0,304,256)"/>
                <polygon class="arrowhead" points="312,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,432 172,426.4 172,437.6" fill="black" transform="rotate(180,176,432)"/>
                <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="432" y="52">Key</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">Infra.</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="212">[Registrar-Agent</text>
                  <text x="308" y="228">authenticated&amp;authorized?]</text>
                  <text x="240" y="260">PVR</text>
                  <text x="280" y="292">[accept</text>
                  <text x="348" y="292">device?]</text>
                  <text x="436" y="324">mTLS</text>
                  <text x="440" y="340">RVR</text>
                  <text x="456" y="356">~</text>
                  <text x="460" y="372">[extract</text>
                  <text x="536" y="372">DomainID]</text>
                  <text x="456" y="388">[update</text>
                  <text x="532" y="388">audit-log]</text>
                  <text x="456" y="404">~</text>
                  <text x="440" y="420">Voucher</text>
                  <text x="244" y="436">Voucher'</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>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(3) Supply PVR to Registrar (including backend interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<-----mTLS------>|                 |            |
 |                  |                 |                 |            |
 |                  |         [Registrar-Agent          |            |
 |                  |    authenticated&authorized?]     |            |
 |                  |                 |                 |            |
 |                  |-------PVR------>|                 |            |
 |                  |                 |                 |            |
 |                  |          [accept device?]         |            |
 |                  |                 |                 |            |
 |                  |                 |<------------mTLS------------>|
 |                  |                 |--------------RVR------------>|
 |                  |                 |                 ~            |
 |                  |                 |              [extract DomainID]
 |                  |                 |              [update audit-log]
 |                  |                 |                 ~            |
 |                  |                 |<-----------Voucher-----------|
 |                  |<----Voucher''---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>As a first step of the interaction with the domain registrar, the Registrar-Agent <bcp14>SHALL</bcp14> supply the PVR artifact(s) to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/requestvoucher</tt>.
Note that this is the same endpoint as for BRSKI described in <xref section="5.2" sectionFormat="of" target="RFC8995"/>.
The request body <bcp14>MUST</bcp14> contain one previously acquired PVR artifact as defined in <xref target="pvr_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/voucher-jws+json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        <t>Upon receiving a PVR artifact, the registrar accepts or declines the request to join the domain.
For this, it <bcp14>MUST</bcp14> perform pledge authorization as defined in <xref section="5.3" sectionFormat="of" target="RFC8995"/>.
Due to the Registrar-Agent in the middle, the registrar <bcp14>MUST</bcp14> verify in addition that</t>
        <ul spacing="normal">
          <li>
            <t>the <tt>agent-provided-proximity-registrar-cert</tt> field of the PVR contains a registrar EE certificate signed by the same domain owner as the registrar EE certificate used to sign the RVR;
note that this check allows for installations with multiple domain registrars and for registrar EE certificate renewal between exchanges with the Registrar-Agent (see <xref target="arch_nomadic"/>);
in many installations with a single registrar the contained certificate is identical to the signing certificate.</t>
          </li>
          <li>
            <t>the <tt>agent-signed-data</tt> field of the PVR is signed with the private key corresponding to the Registrar-Agent EE certificate as known by the registrar (see <xref target="registrar_component"/>);
this is done via the SubjectKeyIdentifier of the certificate in the <tt>kid</tt> Header Parameter of the JWS Protected Header of the <tt>agent-signed-data</tt> field.</t>
          </li>
          <li>
            <t>the product-serial-number inside the <tt>agent-signed-data</tt> is equal to the <tt>serial-number</tt> field of the PVR as well as the X520SerialNumber field of the pledge IDevID certificate, which is contained in the JWS Protected Header of the PVR.</t>
          </li>
          <li>
            <t>the Registrar-Agent EE certificate is still valid;
this is necessary to avoid that a rogue Registrar-Agent generates <tt>agent-signed-data</tt> objects to onboard arbitrary pledges at a later point in time, see also <xref target="sec_cons_reg-agt"/>.</t>
          </li>
        </ul>
        <t>If the registrar is unable to process the request or validate the PVR, it responds with an HTTP client error status code to the Registrar-Agent.
The following client error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the registrar detects an error in the format of the request.</t>
          </li>
          <li>
            <t>403 Forbidden: if the registrar detected that one or more security related fields are not valid or if the pledge-provided information could not be used with automated allowance.</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported.</t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the Content-Type request header field indicates a type that is unknown or unsupported.</t>
          </li>
        </ul>
        <t>Otherwise, the registrar converts the PVR artifact to a Registrar Voucher-Request (RVR) artifact (see <xref target="rvr_artifact"/>) and starts the backend interaction with the MASA.</t>
        <t>The domain registrar can respond with an HTTP 202 Accepted response status code to the Registrar-Agent at this point following <xref section="5.6" sectionFormat="of" target="RFC8995"/>, while the rules defined for the pledge also apply to the Registrar-Agent;
in this case, the registrar still continues with the MASA interaction to provide the Voucher artifact to the retry request.</t>
        <t>The registrar <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <section anchor="masa_interaction">
          <name>MASA Interaction</name>
          <t>The domain registrar <bcp14>MUST</bcp14> establish a TLS session with mutual authentication to the MASA of the pledge according to <xref section="5.4" sectionFormat="of" target="RFC8995"/>.
It requests the voucher from the MASA according to <xref section="5.5" sectionFormat="of" target="RFC8995"/> via HTTP-over-TLS POST to the MASA endpoint at <tt>/.well-known/brski/requestvoucher</tt>.
The request body <bcp14>MUST</bcp14> contain the RVR artifact as defined in <xref target="rvr_artifact"/>.
In the request header, the Content-Type field and the Accept field <bcp14>MUST</bcp14> be set to the same media type as the incoming PVR artifact.
For the default format used in this specification, this is <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
          <t>The assumption is that a pledge typically supports a single artifact format and creates the PVR in the supported format;
to ensure that the pledge is able to process the voucher, the registrar requests this format via the HTTP Accept header field when requesting the voucher.
Further, the RVR artifact and the PVR artifact inside should also use the same format to limit the number of required format encoders.
Note that BRSKI-PRM allows for alternative formats such as CMS-signed JSON as used in BRSKI <xref target="RFC8995"/> or COSE-signed CBOR for constrained environments, when defined by other specifications.
Overall, a MASA responsible for BRSKI-PRM capable pledges consequently supports the same formats as supported by those pledges.</t>
          <t>Once the MASA receives the RVR artifact, it <bcp14>MUST</bcp14> perform the verification as described in <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
Depending on policy, the MASA <bcp14>MAY</bcp14> choose the type of assertion to perform.
For the Agent Proximity Assertion of BRSKI-PRM (see <xref target="agt_prx"/>), the MASA <bcp14>MUST</bcp14> skip the verification described in <xref section="5.5.5" sectionFormat="of" target="RFC8995"/> and instead <bcp14>MUST</bcp14> verify for the PVR contained in the <tt>prior-signed-voucher-request</tt> field of the RVR that</t>
          <ul spacing="normal">
            <li>
              <t>the <tt>agent-provided-proximity-registrar-cert</tt> field contains an EE certificate that is signed by the same domain owner as the EE certificate/credentials used to sign the RVR;
note that this check allows for installations with multiple domain registrars and for registrar EE certificate renewal while PVRs are collected by the Registrar-Agent.</t>
            </li>
            <li>
              <t>the registrar EE certificate in the <tt>agent-provided-proximity-registrar-cert</tt> field and the Registrar-Agent EE certificate in the <tt>agent-sign-cert</tt> field of the RVR are signed by the same domain owner.</t>
            </li>
            <li>
              <t>the <tt>agent-signed-data</tt> field is signed with the credentials corresponding to the Registrar-Agent EE certificate in the <tt>agent-sign-cert</tt> field of the RVR;
this is done via the SubjectKeyIdentifier of the certificate in the <tt>kid</tt> Header Parameter of the JWS Protected Header in the <tt>agent-signed-data</tt> field.</t>
            </li>
            <li>
              <t>the product-serial-number inside the <tt>agent-signed-data</tt> is equal to the <tt>serial-number</tt> field of PVR and the <tt>serial-number</tt> field of the RVR as well as the X520SerialNumber field of the pledge IDevID certificate, which is contained in the JWS Protected Header of the PVR.</t>
            </li>
          </ul>
          <t>If the <tt>agent-sign-cert</tt> field in the RVR is not set, the MASA <bcp14>MAY</bcp14> state a lower level assertion value instead of failing the verification, e.g., "logged" or "verified".</t>
          <t>If the verification fails, the MASA responds with an HTTP client error status code to the registrar.
The client error status codes are kept the same as defined in <xref section="5.6" sectionFormat="of" target="RFC8995"/>:</t>
          <ul spacing="normal">
            <li>
              <t>403 Forbidden: if the voucher-request is not signed correctly or is stale or if the pledge has another outstanding voucher that cannot be overridden.</t>
            </li>
            <li>
              <t>404 Not Found: if the request is for a device that is not known to the MASA.</t>
            </li>
            <li>
              <t>406 Not Acceptable: if a voucher of the desired type or that uses the desired algorithms (as indicated by the "Accept" header fields and algorithms used in the signature) cannot be issued as such because the MASA knows the pledge cannot process that type.</t>
            </li>
            <li>
              <t>415 Unsupported Media Type: if the request uses an artifact format or Accept header value that is not supported by the MASA.</t>
            </li>
          </ul>
          <t>Otherwise, the MASA creates a Voucher artifact as defined in <xref target="voucher_artifact"/> and updates the audit-log as described in <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
The Voucher is then supplied to the registrar within the body of an HTTP 200 OK response according to <xref section="5.6" sectionFormat="of" target="RFC8995"/>.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to the media type of the incoming RVR artifact.
For the default format used in this specification, this is <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
        </section>
        <section anchor="supply-voucher-to-registrar-agent">
          <name>Supply Voucher to Registrar-Agent</name>
          <t>After receiving the Voucher from the MASA, the registrar <bcp14>SHOULD</bcp14> evaluate it for transparency and logging purposes as outlined in <xref section="5.6" sectionFormat="of" target="RFC8995"/>.
It then countersigns the Voucher for delivery to the pledge via the Registrar-Agent.</t>
          <t>The registrar <bcp14>MUST</bcp14> reply to the Registrar-Agent with the registrar-countersigned Voucher artifact ('Voucher') as defined in <xref target="rcv_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to the media type of the incoming PVR artifact.
For the default format used in this specification, this is <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.</t>
          <t>If the domain registrar is unable to return the Voucher, it responds with an HTTP server error status code to the Registrar-Agent.
The following server error status codes can be used:</t>
          <ul spacing="normal">
            <li>
              <t>500 Internal Server Error: if both Registrar-Agent request and MASA response are valid, but the registrar still failed to return the Voucher, e.g., due to missing configuration or a program failure.</t>
            </li>
            <li>
              <t>502 Bad Gateway: if the registrar received an invalid response from the MASA.</t>
            </li>
            <li>
              <t>503 Service Unavailable: if a simple retry of the Registrar-Agent request might lead to a successful response;
this error response <bcp14>MUST</bcp14> include the <tt>Retry-After</tt> response header field with an appropriate value.</t>
            </li>
            <li>
              <t>504 Gateway Timeout: if the backend request to the MASA timed out.</t>
            </li>
          </ul>
        </section>
        <section anchor="request-artifact-pledge-voucher-request-pvr">
          <name>Request Artifact: Pledge Voucher-Request (PVR)</name>
          <t>Identical to the PVR artifact received from the pledge as defined in <xref target="pvr_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify PVRs.</t>
        </section>
        <section anchor="rvr_artifact">
          <name>Backend Request Artifact: Registrar Voucher-Request (RVR)</name>
          <t>The Registrar Voucher-Request (RVR) artifact <bcp14>SHALL</bcp14> be an extended Voucher-Request artifact based on <xref section="5.5" sectionFormat="of" target="RFC8995"/>.
The BRSKI-PRM related enhancements of the <tt>ietf-voucher-request</tt> YANG module are defined in <xref target="I-D.ietf-anima-rfc8366bis"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the RVR artifact <bcp14>MUST</bcp14> be a JWS Voucher structure as defined in <xref target="I-D.ietf-anima-jws-voucher"/>, which <bcp14>MUST</bcp14> contain the JSON RVR Data defined in <xref target="rvr_data"/> in the JWS Payload.
<xref target="rvr_representation"/> summarizes the serialization of the JWS-signed JSON RVR artifact:</t>
          <figure anchor="rvr_representation">
            <name>RVR Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON RVR Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <section anchor="rvr_data">
            <name>JSON RVR Data</name>
            <t>The JSON RVR Data <bcp14>MUST</bcp14> contain the following fields of the <tt>ietf-voucher-request</tt> YANG module as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>;
note that this makes optional leaves in the YANG definition mandatory for the RVR artifact:</t>
            <ul spacing="normal">
              <li>
                <t><tt>created-on</tt>: <bcp14>SHALL</bcp14> contain the current date and time at RVR creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/></t>
              </li>
              <li>
                <t><tt>nonce</tt>: <bcp14>SHALL</bcp14> contain a copy of the <tt>nonce</tt> field from the JSON PVR Data
the registrar provides this information to assure successful verification of Registrar-Agent proximity based on the agent-signed-data</t>
              </li>
              <li>
                <t><tt>serial-number</tt>: <bcp14>SHALL</bcp14> contain the product-serial-number of the pledge;
note the required verification by the registrar defined in <xref target="pvr"/></t>
              </li>
              <li>
                <t><tt>idevid-issuer</tt>: <bcp14>SHALL</bcp14> contain the issuer value from the pledge IDevID certificate obtained from the PVR JWS Protected Header <tt>x5c</tt> field</t>
              </li>
              <li>
                <t><tt>prior-signed-voucher-request</tt>: <bcp14>SHALL</bcp14> contain the PVR artifact as received from the Registrar-Agent, see <xref target="tpvr"/></t>
              </li>
            </ul>
            <t>As BRSKI-PRM uses the Agent Proximity Assertion (see <xref target="agt_prx"/>), the JSON RVR Data <bcp14>MUST</bcp14> also contain the following fields:</t>
            <ul spacing="normal">
              <li>
                <t><tt>assertion</tt>: <bcp14>SHALL</bcp14> contain the value <tt>agent-proximity</tt> to indicate successful verification of the Agent Proximity Assertion (see <xref target="agt_prx"/>) by the registrar.</t>
              </li>
              <li>
                <t><tt>agent-sign-cert</tt>: <bcp14>SHALL</bcp14> be a JSON array that contains the base64-encoded Registrar-Agent EE certificate as possessed by the registrar (see <xref target="registrar_component"/>) as the first item;
subsequent items <bcp14>MUST</bcp14> contain the corresponding certificate chain for verification at the MASA;
the field is used for verification of the <tt>agent-signed-data</tt> field of the contained PVR.</t>
              </li>
            </ul>
            <t>Note that the <tt>ietf-voucher-request</tt> YANG module defines the leaf <tt>agent-sign-cert</tt> as binary;
this specification refines it as a JSON array structure similar to the <tt>x5c</tt> Header Parameter defined in <xref section="4.1.6" sectionFormat="of" target="RFC7515"/>.</t>
            <t><xref target="rvr_data_example"/> shows an example for the JSON RVR Data:</t>
            <figure anchor="rvr_data_example">
              <name>JSON RVR Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "ietf-voucher-request:voucher": {
     "created-on": "2025-01-04T02:37:39.235Z",
     "nonce": "eDs++/FuDHGUnRxN3E14CQ==",
     "serial-number": "vendor-pledge4711",
     "idevid-issuer": "base64encodedvalue==",
     "prior-signed-voucher-request": "base64encodedvalue==",
     "assertion": "agent-proximity",
     "agent-sign-cert": [
       "base64encodedvalue==",
       "base64encodedvalue==",
       "..."
     ]
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-3">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header <bcp14>MUST</bcp14> follow the definitions of <xref section="3.2" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.</t>
          </section>
          <section anchor="jws-signature-3">
            <name>JWS Signature</name>
            <t>The domain registrar <bcp14>MUST</bcp14> sign the RVR artifact using its EE credentials following the definitions of <xref section="3.3" sectionFormat="of" target="I-D.ietf-anima-jws-voucher"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </section>
        <section anchor="voucher_artifact">
          <name>Backend Response Artifact: Voucher</name>
          <t>The Voucher artifact is defined in <xref section="5.6" sectionFormat="of" target="RFC8995"/> (cf. "voucher response").
The only difference for BRSKI-PRM is that the <tt>assertion</tt> field <bcp14>MAY</bcp14> contain the value <tt>agent-proximity</tt> as defined in <xref target="I-D.ietf-anima-rfc8366bis"/>, when the Agent-Proximity Assertion (see <xref target="agt_prx"/>) is performed by the MASA.</t>
          <t>For the JWS-signed JSON format used by this specification, the Voucher artifact <bcp14>MUST</bcp14> be a JWS Voucher structure as defined in <xref target="I-D.ietf-anima-jws-voucher"/>.
It contains JSON Voucher Data in the JWS Payload, for which an example is given in <xref target="voucher_data_example"/>:</t>
          <figure anchor="voucher_data_example">
            <name>JSON RVR Data Example</name>
            <artwork type="json" align="left"><![CDATA[
{
  "ietf-voucher:voucher": {
    "created-on": "2025-01-04T00:00:02.000Z",
    "nonce": "base64encodedvalue==",
    "assertion": "agent-proximity",
    "pinned-domain-cert": "base64encodedvalue==",
    "serial-number": "vendor-pledge4711"
  }
}
]]></artwork>
          </figure>
        </section>
        <section anchor="rcv_artifact">
          <name>Response Artifact: Registrar-Countersigned Voucher</name>
          <t>The Registrar-Countersigned Voucher (Voucher') artifact <bcp14>SHALL</bcp14> be an extended Voucher artifact based on <xref section="5.6" sectionFormat="of" target="RFC8995"/> using the format defined in <xref target="voucher_artifact"/>.</t>
          <t>For BRSKI-PRM, the domain registrar <bcp14>MUST</bcp14> add an JWS Protected Header and JWS Signature to the MASA-provided Voucher.
<xref target="rcv_representation"/> summarizes the serialization of the JWS-signed JSON Voucher' artifact:</t>
          <figure anchor="rcv_representation">
            <name>Voucher' Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(JSON Voucher Data),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header (MASA))),
      "signature": BASE64URL(JWS Signature (MASA))
    },
    {
      "protected": BASE64URL(UTF8(JWS Protected Header (Registrar))),
      "signature": BASE64URL(JWS Signature (Registrar))
    }
  ]
}
]]></artwork>
          </figure>
          <t>In BRSKI <xref target="RFC8995"/>, the registrar proves possession of its credential through the server authentication within the TLS session with the pledge.
While the pledge cannot verify the registrar certificate at the time of TLS session establishment, it can verify the TLS server certificate through the certificate in the <tt>pinned-domain-cert</tt> field upon receiving the Voucher artifact (see <xref section="5.6.2" sectionFormat="of" target="RFC8995"/>).</t>
          <t>In BRSKI-PRM with the Registrar-Agent mediating all communication, this second signature provides verification and POP of the private key for the registrar EE certificate provided in the initial tPVR artifact from the Registrar-Agent (see <xref target="tpvr_artifact"/>).</t>
          <t>Depending on the security policy of the operator, this signature can also be interpreted as explicit authorization of the registrar to install the contained trust anchor (i.e., pinned domain certificate).</t>
          <section anchor="json-voucher-data">
            <name>JSON Voucher Data</name>
            <t>As provided by the MASA inside the JWS Payload.
The domain registrar <bcp14>MUST NOT</bcp14> modify the JWS Payload.</t>
          </section>
          <section anchor="jws-protected-header-registrar">
            <name>JWS Protected Header (Registrar)</name>
            <t>The registrar-added JWS Protected Header (Registrar) <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/>.</t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate used to sign the voucher as well as the certificate chain up to (but not including) the pinned domain certificate (the initial domain trust anchor);
the pinned domain certificate is already contained in the JSON Voucher Data.</t>
              </li>
            </ul>
            <t>Note that for many installations with a single registrar credential, the registrar EE certificate is pinned.</t>
          </section>
          <section anchor="jws-signature-registrar">
            <name>JWS Signature (Registrar)</name>
            <t>The signature is created by signing the registrar-added JWS Protected Header (Registrar) and the original JWS Payload produced by the MASA as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
            <t>The registrar <bcp14>MUST</bcp14> use its EE credentials to sign.</t>
            <t>Note that the credentials need to be the same as used for server authentication in the TLS session with the Registrar-Agent receiving this artifact (see <xref target="registrar_component"/>).</t>
          </section>
        </section>
      </section>
      <section anchor="per">
        <name>Supply PER to Registrar (including Key Infrastructure interaction; requestenroll)</name>
        <t>After receiving the Voucher artifact, the Registrar-Agent sends the PER to the domain registrar within the same TLS session.</t>
        <t>In case the TLS session to the registrar is already closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.
The registrar is able to correlate the PVR and PER artifacts based on the signatures and the contained product-serial-number.
Note that 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.
Note that "Request" and "Certificate" do not denote BRSKI-PRM defined artifacts, but are data objects depending on the certificate management protocol used by the domain Key Infrastructure.</t>
        <figure anchor="exchangesfig_uc2_4">
          <name>Enroll exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="576" viewBox="0 0 576 288" 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,256" 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,256" 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,256" 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,256" 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,256" 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 344,208" fill="none" stroke="black"/>
                <path d="M 424,208 L 448,208" fill="none" stroke="black"/>
                <path d="M 320,224 L 336,224" fill="none" stroke="black"/>
                <path d="M 176,240 L 192,240" fill="none" stroke="black"/>
                <path d="M 288,240 L 304,240" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="456,208 444,202.4 444,213.6" fill="black" transform="rotate(0,448,208)"/>
                <polygon class="arrowhead" points="328,224 316,218.4 316,229.6" fill="black" transform="rotate(180,320,224)"/>
                <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,240 172,234.4 172,245.6" fill="black" transform="rotate(180,176,240)"/>
                <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="432" y="52">Key</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">Infra.</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="328" y="132">Key</text>
                  <text x="404" y="132">Infrastructure</text>
                  <text x="516" 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="384" y="212">[Request]</text>
                  <text x="396" y="228">[Certificate]-</text>
                  <text x="240" y="244">Enroll-Resp</text>
                  <text x="16" y="276">~</text>
                  <text x="168" y="276">~</text>
                  <text x="312" y="276">~</text>
                  <text x="456" y="276">~</text>
                  <text x="560" y="276">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(4) Supply PER to Registrar (including Key Infrastructure interaction)
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |-------PER------>|                 |            |
 |                  |                 |----[Request]--->|            |
 |                  |                 |<--[Certificate]-|            |
 |                  |<--Enroll-Resp---|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>As a second step of the interaction with the domain registrar, the Registrar-Agent <bcp14>SHALL</bcp14> supply the PER artifact(s) to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/requestenroll</tt>.
The request body <bcp14>MUST</bcp14> contain one previously acquired PER artifact as defined in <xref target="per_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Note that this is different from the EST <xref target="RFC7030"/> endpoint used in BRSKI, as the PER artifact is signature-wrapped.
Hence, upon receiving a PER artifact, the registrar <bcp14>MUST</bcp14> verify that</t>
        <ul spacing="normal">
          <li>
            <t>the PER was signed with the private key corresponding to the pledge EE certificate, which is contained in the JWS Protected Header of the PER.</t>
          </li>
          <li>
            <t>the pledge identified by its EE certificate is accepted to join the domain after successful validation of the corresponding PVR.</t>
          </li>
        </ul>
        <t>If the registrar is unable to process the request or validate the PER, it responds with an HTTP client error status code to the Registrar-Agent.
The following client error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the registrar detects an error in the format of the request.</t>
          </li>
          <li>
            <t>403 Forbidden: if the signature of the PER cannot be verified.</t>
          </li>
          <li>
            <t>404 Not Found: if the PER is for a device that is not known to the registrar.</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt>.</t>
          </li>
          <li>
            <t>415 Unsupported Media Type: if the PER uses an artifact format that is not supported by the registrar, e.g., a type other than <tt>application/jose+json</tt>.</t>
          </li>
        </ul>
        <t>Otherwise, the registrar extracts the PKCS#10 Certificate Signing Request (CSR) inside the PER (see <xref target="per_artifact"/>) and uses the CSR to request a new pledge EE certificate from the domain Key Infrastructure.
The exact interaction and exchanged data objects depends on the certificate management protocol used by the Key Infrastructure, and is out of scope for this document.</t>
        <t>A successful interaction with the Key Infrastructure will result in a pledge EE certificate signed by the domain owner (e.g., LDevID certificate).
The registrar <bcp14>MUST</bcp14> reply to the Registrar-Agent with the Enroll-Response (Enroll-Resp) as defined in <xref target="er_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/pkcs7-mime</tt> with an smime-type parameter <tt>certs-only</tt>, as specified in <xref target="RFC7030"/> and <xref target="RFC5273"/>.</t>
        <t>If the domain registrar is unable to return the Enroll-Resp, it responds with an HTTP server error status code to the Registrar-Agent.
The following server error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>500 Internal Server Error: if the Key Infrastructure response is valid, but the registrar still failed to return the Enroll-Resp, e.g., due to missing configuration or a program failure.</t>
          </li>
          <li>
            <t>502 Bad Gateway: if the registrar received an invalid response from the Key Infrastructure.</t>
          </li>
          <li>
            <t>503 Service Unavailable: if a simple retry of the Registrar-Agent request might lead to a successful response; this error response <bcp14>MUST</bcp14> include the Retry-After response header field with an appropriate value.</t>
          </li>
          <li>
            <t>504 Gateway Timeout: if the backend request to the Key Infrastructure timed out.</t>
          </li>
        </ul>
        <t>Note that while BRSKI-PRM targets the initial enrollment, re-enrollment may be supported similarly with the exception that the current, potentially application-related pledge EE certificate is used instead of the IDevID certificate to sign the PER artifact (see also <xref target="tper"/>).
Hence, there is no verification whether the pledge is accepted to join the domain, as the still valid EE certificate signed by the domain owner identifies the pledge as already accepted component of the domain.</t>
        <section anchor="request-artifact-pledge-enroll-request-per">
          <name>Request Artifact: Pledge Enroll-Request (PER)</name>
          <t>Identical to the PER artifact defined in <xref target="per_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify PERs received from pledges.</t>
        </section>
        <section anchor="er_artifact">
          <name>Response Artifact: Registrar Enroll-Response (Enroll-Resp)</name>
          <t>The Enroll-Response (Enroll-Resp) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the domain owner, containing a pledge EE certificate.</t>
          <t>For this specification, the Enroll-Resp artifact <bcp14>MUST</bcp14> be a certs-only CMC Simple PKI Response (PKCS#7) as defined in <xref section="4.1" sectionFormat="of" target="RFC5272"/> (following EST <xref target="RFC7030"/>).
Note that it only contains the pledge EE certificate, but not the certificate chain.
The chain is provided with the CA certificates.</t>
        </section>
      </section>
      <section anchor="obtain_cacerts">
        <name>Obtain CA Certificates (wrappedcacerts)</name>
        <t>The pinned domain certificate in the voucher is only the initial trust anchor for only the domain registrar.
To fully trust the domain and also to verify its own EE certificate, the pledge also needs the corresponding domain CA certificate(s).
A bag of CA certificates signed by the registrar will allow the pledge to verify the authorization to install the received CA certificate(s) through the pinned domain certificate in the voucher.</t>
        <t>Note that this is a deviation from EST <xref target="RFC7030"/> used in BRSKI <xref target="RFC8995"/>.</t>
        <t>The Registrar-Agent obtains this artifact within the same TLS session.
In case the TLS session to the registrar is already closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.
The CA certificates do not need to be correlated to a specific voucher or Enroll-Response; they only need to be fresh.</t>
        <t><xref target="exchangesfig_uc2_5"/> shows the acquisition of the CA certificate(s) and the following subsections describe the corresponding artifact.</t>
        <figure anchor="exchangesfig_uc2_5">
          <name>CA certificates retrieval exchange</name>
          <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,176 300,170.4 300,181.6" fill="black" transform="rotate(0,304,176)"/>
                <polygon class="arrowhead" points="184,192 172,186.4 172,197.6" fill="black" transform="rotate(180,176,192)"/>
                <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="432" y="52">Key</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">Infra.</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="60" y="132">Obtain</text>
                  <text x="100" y="132">CA</text>
                  <text x="164" 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="240" 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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(5) Obtain CA Certificates
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<----(mTLS)----->|                 |            |
 |                  |<----caCerts-----|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>As a third step of the interaction with the domain registrar, the Registrar-Agent <bcp14>SHALL</bcp14> obtain the CA-Certificates artifact from the registrar via HTTP-over-TLS GET to the registrar endpoint at <tt>/.well-known/brski/wrappedcacerts</tt>.
In the request header, the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving a GET request at <tt>/.well-known/brski/wrappedcacerts</tt>, the domain registrar <bcp14>MUST</bcp14> reply with the CA-Certificates artifact as defined in <xref target="cacerts_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <section anchor="request-no-artifact">
          <name>Request (no artifact)</name>
          <t>In this exchange, the request is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the registrar.
As the caCerts artifact processing on the pledge may result in errors, signaled via HTTP status codes, the Registrar-Agent should log these for evaluation as outlined in <xref target="log_hints"/>.</t>
        </section>
        <section anchor="cacerts_artifact">
          <name>Response Artifact: CA-Certificates (caCerts)</name>
          <t>The CA-Certificates (caCerts) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the registrar, containing the domain trust anchors and the certificate chain for the pledge domain EE certificate, i.e., the root CA certificate(s) and possibly intermediate certificate(s) as described in <xref section="4.1.3" sectionFormat="of" target="RFC7030"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the caCerts artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON CA Data defined in <xref target="cacerts_data"/> in the JWS Payload.</t>
          <t><xref target="cacerts_representation"/> summarizes the serialization of the JWS-signed JSON caCerts artifact:</t>
          <figure anchor="cacerts_representation">
            <name>Voucher' Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON CA Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON CA Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="cacerts_data">
            <name>JSON CA Data</name>
            <t>The JSON CA Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="cacerts_CDDL_def"/>:</t>
            <figure anchor="cacerts_CDDL_def">
              <name>CDDL for JSON CA Data (cacerts)</name>
              <artwork type="cddl" align="left"><![CDATA[
cacerts = {
    "x5bag": bytes / [2* bytes]
}
]]></artwork>
            </figure>
            <t>The <tt>x5bag</tt> member <bcp14>MUST</bcp14> follow the definition of the <tt>x5bag</tt> COSE Header Parameter in <xref section="2" sectionFormat="of" target="RFC9360"/>.
It is either a single X.509 v3 certificate or an array of at least two X.509 v3 certificates in DER format.
For JSON syntax, the octet-based certificates <bcp14>MUST</bcp14> be base64-encoded.
It <bcp14>SHALL</bcp14> contain one or more domain CA (root or issuing) certificates.</t>
            <t>Note that as per <xref target="RFC8995"/>, the domain registrar acts as EST server, and hence is expected to possess the CA certificates applicable for the domain and can thus deliver them to the pledge (see <xref target="registrar_component"/>).</t>
            <t><xref target="cacerts_data_example"/> below shows an example for the JSON CA Data:</t>
            <figure anchor="cacerts_data_example">
              <name>JSON CA Data Example</name>
              <artwork align="left"><![CDATA[
{
  "x5bag": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-4">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the caCerts artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded registrar EE certificate used to sign the caCerts artifact as well as the certificate chain up to (but not including) the pinned domain certificate</t>
              </li>
            </ul>
            <t><xref target="cacerts_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="cacerts_header">
              <name>JWS Protected Header Example within PER</name>
              <artwork align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-4">
            <name>JWS Signature</name>
            <t>The registrar <bcp14>MUST</bcp14> sign the caCerts artifact using its EE credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </section>
      </section>
      <section anchor="voucher">
        <name>Supply Voucher to Pledge (svr)</name>
        <t>Once the Registrar-Agent has acquired the following three bootstrapping artifacts, it can supply them to the pledge starting with the Voucher':</t>
        <ul spacing="normal">
          <li>
            <t>Voucher': voucher countersigned by the registrar (from MASA via Registrar)</t>
          </li>
          <li>
            <t>Enroll-Resp: pledge EE certificate signed by the domain owner (from Key Infrastructure via registrar)</t>
          </li>
          <li>
            <t>caCerts: domain trust anchors (from Key Infrastructure via Registrar)</t>
          </li>
        </ul>
        <t>Reconnecting to the pledge might require to re-discover the pledge as described in <xref target="discovery_uc2_ppa"/>.
The Registrar-Agent <bcp14>MAY</bcp14> store information from the first connection with the pledge to optimize this process.</t>
        <t>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_6"/> shows the provisioning of the voucher to the pledge and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_6">
          <name>Voucher exchange</name>
          <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 136,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="432" y="52">Key</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">Infra.</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="100" 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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(6) Supply Voucher to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----Voucher''---|                 |                 |            |
 |------vStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> supply the voucher to the pledge via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/svr</tt>.
The request body <bcp14>MUST</bcp14> contain the Registrar-Countersigned Voucher (Voucher') artifact previously acquired from the domain registrar as defined in <xref target="rcv_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/voucher-jws+json</tt> as defined in <xref target="I-D.ietf-anima-jws-voucher"/> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>,
to indicate the encoding of the vStatus response object status telemetry message.</t>
        <t>Upon receiving the voucher, the pledge <bcp14>SHALL</bcp14> perform the signature verification in the following order:</t>
        <ol spacing="normal" type="1"><li>
            <t>Verify the MASA signature as described in <xref section="5.6.1" sectionFormat="of" target="RFC8995"/> against the pre-installed manufacturer trust anchor (e.g., IDevID).</t>
          </li>
          <li>
            <t>Provisionally install the initial domain trust anchor contained in the <tt>pinned-domain-cert</tt> field of the voucher.</t>
          </li>
          <li>
            <t>Validate the registrar EE certificate received in the <tt>agent-provided-proximity-registrar-cert</tt> field of the previously received tPVR artifact using the pinned domain certificate;
this terminates the "provisional state" for the object security within the authenticated self-contained objects that in BRSKI-PRM replace the direct TLS connection to the registrar in BRSKI <xref target="RFC8995"/> (see <xref target="agt_prx"/>).</t>
          </li>
          <li>
            <t>Verify registrar signature of the Voucher' artifact similar as described in <xref section="5.6.1" sectionFormat="of" target="RFC8995"/>, but using the pinned domain certificate instead of the MASA certificate for the verification.</t>
          </li>
        </ol>
        <t>If all steps above complete successfully, the pledge <bcp14>SHALL</bcp14> terminate the "provisional state" for the initial domain trust anchor (i.e., the pinned domain certificate).</t>
        <t>A nonceless voucher <bcp14>MAY</bcp14> be accepted as in <xref target="RFC8995"/> if allowed by the pledge implementation of the manufacturer.
A manufacturer may opt to provide the acceptance of nonceless voucher  as configurable item.</t>
        <t>After voucher validation and verification, the pledge needs to reply with a status telemetry message as defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/>.
The pledge <bcp14>MUST</bcp14> generate the Voucher Status (vStatus) artifact as defined in <xref target="vstatus_artifact"/> and <bcp14>MUST</bcp14> provide it to the Registrar-Agent in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to validate or verify the voucher, it <bcp14>MUST</bcp14> report the reason in the corresponding field of the Voucher Status.</t>
        <t>If the pledge 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"/>.
It <bcp14>MAY</bcp14> resend the voucher depending on the Pledge status following the same procedure.</t>
        <section anchor="request-artifact-registrar-countersigned-voucher">
          <name>Request Artifact: Registrar-Countersigned Voucher</name>
          <t>Identical to the Registrar-Countersigned Voucher (Voucher') artifact received from the registrar as defined in <xref target="rcv_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify countersigned vouchers.</t>
        </section>
        <section anchor="vstatus_artifact">
          <name>Response Artifact: Voucher Status (vStatus)</name>
          <t>The Voucher Status (vStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing status telemetry as defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the vStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Voucher Status Data defined in <xref target="vstatus_data"/> in the JWS Payload.
<xref target="vstatus_representation"/> summarizes the serialization of the JWS-signed JSON vStatus artifact:</t>
          <figure anchor="vstatus_representation">
            <name>vStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Voucher Status Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Status Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="vstatus_data">
            <name>JSON Voucher Status Data</name>
            <t>The JSON Status Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the <tt>voucherstatus-post</tt> CDDL <xref target="RFC8610"/> data model defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>version</tt>: contains a version number for the format and semantics of the other fields;
this specification assumes version <tt>1</tt> just like BRSKI <xref target="RFC8995"/>.</t>
              </li>
              <li>
                <t><tt>status</tt>: contains the boolean value <tt>true</tt> in case of success and <tt>false</tt> in case of failure.</t>
              </li>
              <li>
                <t><tt>reason</tt>: contains a human-readable message;
should not provide information beneficial to an attacker.
As the pledge is not localized at this point in time language selection cannot be done.
Therefore, English is taken as a default here for this diagnostic messages.
The internationalization of text is expected to be done on another level.</t>
              </li>
              <li>
                <t><tt>reason-context</tt>: contains a JSON object that provides additional information specific to a failure;
in contrast to <xref section="5.7" sectionFormat="of" target="RFC8995"/>, <bcp14>MUST</bcp14> be provided;</t>
              </li>
            </ul>
            <t>BRSKI-PRM implementations utilize the <tt>reason-context</tt> field to provide a distinguishable token, which enables the registrar to detect status artifacts provided to the wrong endpoint.
For vStatus artifacts, the JSON object in the <tt>reason-context</tt> field <bcp14>MUST</bcp14> contain the member <tt>pvs-details</tt>.</t>
            <t><xref target="vstatus_data_example_success"/> shows an example for the JSON Voucher Status Data in case of success and <xref target="vstatus_data_example_error"/> in case of failure:</t>
            <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/jose+json
Content-Language: en
]]></artwork>
            <figure anchor="vstatus_data_example_success">
              <name>JSON Voucher Status Data Success Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": true,
  "reason": "Voucher successfully processed.",
  "reason-context": {
    "pvs-details": "Current date 5/23/2024"
  }
}
]]></artwork>
            </figure>
            <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/jose+json
Content-Language: en
]]></artwork>
            <figure anchor="vstatus_data_example_error">
              <name>JSON Voucher Status Data Failure Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": false,
  "reason": "Failed to authenticate MASA certificate.",
  "reason-context": {
    "pvs-details": "Current date 1/1/1970 < valid from 1/1/2023"
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-5">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the vStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/>.</t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge IDevID certificate used to sign the vStatus artifact and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate.
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification.
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</t>
              </li>
            </ul>
            <t><xref target="vstatus_header"/> shows an example for this JWS Protected Header:</t>
            <figure anchor="vstatus_header">
              <name>JWS Protected Header Example within vStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-5">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the vStatus artifact using its IDevID credential.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </section>
      </section>
      <section anchor="cacerts">
        <name>Supply CA Certificates to Pledge (scac)</name>
        <t>Before supplying the pledge EE certificate, the Registrar-Agent supplies the domain CA certificates to the pledge, so the pledge can verify its EE certificate in the next exchange.
As the CA certificate provisioning is crucial from a security perspective, this exchange <bcp14>SHOULD</bcp14> only be done if supplying the voucher in the previous exchange (<xref target="voucher"/>) has been successfully processed by the pledge as reflected in the vStatus artifact.</t>
        <t>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_7"/> shows the provisioning of the CA certificates to the pledge and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_7">
          <name>Certificate provisioning exchange</name>
          <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="432" y="52">Key</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">Infra.</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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(7) Supply CA Certificates to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----caCerts-----|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> provide the bag of CA certificates requested from and signed by the registrar to the pledge by HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/scac</tt>.
The request body <bcp14>MUST</bcp14> contain the caCerts artifact as defined in <xref target="cacerts_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving valid caCerts artifact, the pledge <bcp14>MUST</bcp14> first verify the signature of the registrar using the initial trust anchor (pinned domain certificate).
In the case of success, the pledge <bcp14>MUST</bcp14> install the contained CA certificates as trust anchors as described in <xref section="4.1.3" sectionFormat="of" target="RFC7030"/>.
This includes the verification of all intermediate CA certificates (i.e., not self-signed CA certificates).</t>
        <t>If the pledge is unable to process the caCerts, it responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request.</t>
          </li>
          <li>
            <t>403 Forbidden: if the signature of the registrar cannot be verified against the installed initial trust anchor (pinned domain certificate).</t>
          </li>
          <li>
            <t>403 Forbidden: if one of the intermediate CA certificates cannot be verified against the available trust anchors (e.g., self-signed CA certificates).</t>
          </li>
          <li>
            <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 <tt>application/jose+json</tt>.</t>
          </li>
        </ul>
        <t>Otherwise, if processing completes successfully, the pledge <bcp14>SHOULD</bcp14> reply with HTTP 200 OK without a response body.
The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <section anchor="request-artifact-ca-certificates-cacerts">
          <name>Request Artifact: CA-Certificates (caCerts)</name>
          <t>Identical to the CA-Certificates (caCerts) artifact received from the registrar as defined in <xref target="cacerts_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify CA-Certificates artifacts.</t>
        </section>
        <section anchor="response-no-artifact">
          <name>Response (no artifact)</name>
          <t>In this exchange, the response is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the Registrar-Agent.
The pledge <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent. While BRSKI-PRM does not specify which content may be provided in the response body, it is recommended to provided it as JSON encoded information as other BRSKI-PRM exchanges also utilize this encoding.</t>
        </section>
      </section>
      <section anchor="enroll_response">
        <name>Supply Enroll-Response to Pledge (ser)</name>
        <t>After supplying the CA certificates, the Registrar-Agent supplies the pledge EE certificate to the pledge.</t>
        <t>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_8"/> shows the provisioning of the domain-owner signed EE certificate to the pledge and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_8">
          <name>Enroll-Response exchange</name>
          <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="432" y="52">Key</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">Infra.</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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(8) Supply Enroll-Response to Pledge
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<---Enroll-Resp---|                 |                 |            |
 |-----eStatus----->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> send the domain-owner signed EE certificate to the pledge by HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/ser</tt>.
The request body <bcp14>MUST</bcp14> contain the Enroll-Response (Enroll-Resp) artifact previously acquired from the domain registrar as defined in <xref target="er_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/pkcs7-mime</tt> with an smime-type parameter <tt>certs-only</tt>, as specified in <xref target="RFC7030"/> and <xref target="RFC5273"/>, and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon reception, the pledge <bcp14>SHALL</bcp14> verify the received EE certificate using the installed trust anchors.
After Enroll-Resp validation and verification, the pledge needs to reply with a status telemetry message as defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
The pledge <bcp14>MUST</bcp14> generate the Enroll Status (eStatus) artifact as defined in <xref target="estatus_artifact"/> and <bcp14>MUST</bcp14> provide it to the Registrar-Agent in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to validate or verify the Enroll-Response, it <bcp14>MUST</bcp14> report the reason in the corresponding field of the Enroll Status.</t>
        <section anchor="request-artifact-enroll-response-enroll-resp">
          <name>Request Artifact: Enroll-Response (Enroll-Resp)</name>
          <t>Identical to the Enroll-Response (Enroll-Resp) artifact received from the registrar as defined in <xref target="er_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify Enroll-Response artifacts.</t>
        </section>
        <section anchor="estatus_artifact">
          <name>Response Artifact: Enroll Status (eStatus)</name>
          <t>The Enroll Status (eStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing status telemetry as defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.</t>
          <t>For the JWS-signed JSON format used by this specification, the eStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Enroll Status Data defined in <xref target="estatus_data"/> in the JWS Payload.
<xref target="estatus_representation"/> summarizes the serialization of the JWS-signed JSON eStatus artifact:</t>
          <figure anchor="estatus_representation">
            <name>eStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Enroll Status Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Enroll Status Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="estatus_data">
            <name>JSON Enroll Status Data</name>
            <t>The JSON Status Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the <tt>enrollstatus-post</tt> CDDL <xref target="RFC8610"/> data model defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
The members are the same as for the JSON Voucher Status Data and follow the same definitions as given in <xref target="vstatus_data"/> (including making <tt>reason-context</tt> mandatory).</t>
            <t>BRSKI-PRM implementations again utilize the <tt>reason-context</tt> field to provide a distinguishable token.
For eStatus artifacts, the JSON object in the <tt>reason-context</tt> field <bcp14>MUST</bcp14> contain the member <tt>pes-details</tt>.</t>
            <t><xref target="estatus_data_example_success"/> below shows an example for the JSON Enroll Status Data in case of success and <xref target="estatus_data_example_error"/> in case of failure:</t>
            <figure anchor="estatus_data_example_success">
              <name>JSON Enroll Status Data Success Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": true,
  "reason": "Enroll-Response successfully processed.",
  "reason-context": {
    "pes-details": "Successfully enrolled"
  }
}
]]></artwork>
            </figure>
            <figure anchor="estatus_data_example_error">
              <name>JSON Enroll Status Data Failure Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": false,
  "reason": "Enroll-Response could not be verified.",
  "reason-context": {
    "pes-details": "No matching trust anchor"
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-6">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the eStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge EE certificate used to sign the eStatus artifact and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate.
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification.
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</t>
              </li>
            </ul>
            <t><xref target="estatus_header"/> below shows an example for this JWS Protected Header:</t>
            <figure anchor="estatus_header">
              <name>JWS Protected Header Example within eStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-6">
            <name>JWS Signature</name>
            <t>If the pledge verified the received EE certificate successfully, it <bcp14>MUST</bcp14> sign the eStatus artifact using its new EE credentials.
In failure case, the pledge <bcp14>MUST</bcp14> sign it using its IDevID credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </section>
      </section>
      <section anchor="vstatus">
        <name>Voucher Status Telemetry (including MASA interaction)</name>
        <t>Once the Registrar-Agent has collected both status artifacts from one or more pledges, it <bcp14>SHALL</bcp14> provide the status information to the domain registrar for further processing, beginning with the voucher status telemetry.</t>
        <t>In case the TLS session to the registrar is closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.</t>
        <t><xref target="exchangesfig_uc2_9"/> shows the provisioning of the voucher status information from the pledge(s) to the registrar and the following subsections describe the corresponding artifact and MASA interaction.</t>
        <figure anchor="exchangesfig_uc2_9">
          <name>Voucher Status telemetry exchange</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="576" viewBox="0 0 576 320" 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,288" 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,288" 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,256" 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,288" 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,288" 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="432" y="52">Key</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">Infra.</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="480" y="228">audit-log</text>
                  <text x="396" y="244">device</text>
                  <text x="464" y="244">audit-log</text>
                  <text x="264" y="276">[verify</text>
                  <text x="340" y="276">audit-log]</text>
                  <text x="312" y="292">|</text>
                  <text x="16" y="308">~</text>
                  <text x="168" y="308">~</text>
                  <text x="312" y="308">~</text>
                  <text x="456" y="308">~</text>
                  <text x="560" y="308">~</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
+--------+    +------------+    +-----------+    +--------+    +------+
| Pledge |    | Registrar- |    |  Domain   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   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>First, the Registrar-Agent <bcp14>SHALL</bcp14> supply the voucher status telemetry to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/voucher_status</tt>.
The request body <bcp14>MUST</bcp14> contain one previously acquired vStatus artifact as defined in <xref target="vstatus_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving a vStatus artifact, the registrar <bcp14>MUST</bcp14> process it as described in <xref section="5.7" sectionFormat="of" target="RFC8995"/>.
Due to the Registrar-Agent in the middle, the registrar <bcp14>MUST</bcp14> in addition verify the signature of the vStatus and that it belongs to an accepted device of the domain based on the <tt>serial-number</tt> field of the IDevID certificate contained in the JWS Protected Header of the vStatus.</t>
        <t>According to <xref section="5.7" sectionFormat="of" target="RFC8995"/>, the registrar responds with an HTTP 200 OK without a response body in the success case or fail with an HTTP error status code.
The registrar <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <t>The registrar <bcp14>SHOULD</bcp14> proceed with the audit-log request to the MASA as in BRSKI described in <xref section="5.8" sectionFormat="of" target="RFC8995"/>.</t>
        <section anchor="request-artifact-voucher-status-vstatus">
          <name>Request Artifact: Voucher Status (vStatus)</name>
          <t>Identical to the Voucher Status (vStatus) artifact received from the pledge as defined in <xref target="vstatus_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify vStatus artifacts.</t>
        </section>
        <section anchor="response-no-artifact-1">
          <name>Response (no artifact)</name>
          <t>In this exchange, the response is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the Registrar-Agent.</t>
        </section>
      </section>
      <section anchor="estatus">
        <name>Enroll Status Telemetry</name>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> complete the sequence of exchanges for bootstrapping with providing the enroll status telemetry to the domain registrar.
This status indicates whether the pledge could process the Enroll-Response (pledge EE certificate signed by the domain owner) and holds the corresponding private key.</t>
        <t>In case the TLS session to the registrar is already closed, the Registrar-Agent establishes a new session as described in <xref target="pvr"/>.</t>
        <t><xref target="exchangesfig_uc2_10"/> shows the provisioning of the enroll status information from the pledge(s) to the registrar and the following subsections describe the corresponding artifact.</t>
        <figure anchor="exchangesfig_uc2_10">
          <name>Enroll Status telemetry exchange</name>
          <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="432" y="52">Key</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">Infra.</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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(10) Enroll Status Telemetry
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |                  |<---((mTLS))---->|                 |            |
 |                  |-----eStatus---->|                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> supply the enroll status telemetry to the registrar via HTTP-over-TLS POST to the registrar endpoint at <tt>/.well-known/brski/enrollstatus</tt>.
The request body <bcp14>MUST</bcp14> contain one previously acquired eStatus artifact as defined in <xref target="estatus_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>Upon receiving an eStatus artifact, the registrar <bcp14>MUST</bcp14> process it as described in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.
Due to the Registrar-Agent in the middle, instead of the BRSKI TLS session with the pledge, the registrar <bcp14>MUST</bcp14> verify the signature of the eStatus artifact and that it belongs to an accepted device of the domain based on the <tt>serial-number</tt> field of the EE certificate contained in the JWS Protected Header of the eStatus.
Note that if the Enroll Status indicates success, the eStatus artifact is signed with the new pledge EE credentials;
if it indicates failure, the pledge was unable to process the supplied EE certificate and therefore signed with its IDevID credentials.</t>
        <t>According to <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>, the registrar responds with an HTTP 200 OK in the success case or can fail with an HTTP 404 client error status code.
The registrar <bcp14>MAY</bcp14> use the response body to signal success/failure details to the service technician operating the Registrar-Agent.</t>
        <t>If the eStatus indicates failure, 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 pledge EE certificate.
An example case for the registrar revoking the issued certificate is when the pledge was not able to verify the received EE certificate and therefore did not accept it for installation.</t>
        <section anchor="request-artifact-enroll-status-estatus">
          <name>Request Artifact: Enroll Status (eStatus)</name>
          <t>Identical to the Enroll Status (eStatus) artifact received from the pledge as defined in <xref target="estatus_artifact"/>.
The Registrar-Agent <bcp14>MUST NOT</bcp14> modify eStatus artifacts.</t>
        </section>
        <section anchor="response-no-artifact-2">
          <name>Response (no artifact)</name>
          <t>In this exchange, the response is a result of the HTTP(S) default transport for this specification.
There is no artifact provided to the Registrar-Agent.</t>
        </section>
      </section>
      <section anchor="query">
        <name>Query Pledge Status (qps)</name>
        <t>The following assumes that a Registrar-Agent may need to query the overall status of a pledge.
This information can be useful to solve errors, when the pledge was not able to connect to the target domain during bootstrapping.
A pledge <bcp14>MAY</bcp14> omit the dedicated endpoint for the Query Pledge Status operation (see <xref target="pledge_component"/>).</t>
        <t>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_11"/> shows the query and response for the overall pledge status and the following subsections describe the corresponding artifacts.</t>
        <figure anchor="exchangesfig_uc2_11">
          <name>Pledge Status exchange</name>
          <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="432" y="52">Key</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">Infra.</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   |    |  Key   |    | MASA |
|        |    |   Agent    |    | Registrar |    | Infra. |    |      |
+--------+    +------------+    +-----------+    +--------+    +------+
 |                  |                 |                 |   Internet |
 ~                  ~                 ~                 ~            ~
(11) Query Pledge Status
 ~                  ~                 ~                 ~            ~
 |                  |                 |                 |            |
 |<----opt. TLS---->|                 |                 |            |
 |<-----tStatus-----|                 |                 |            |
 |------pStatus---->|                 |                 |            |
 |                  |                 |                 |            |
 ~                  ~                 ~                 ~            ~
]]></artwork>
          </artset>
        </figure>
        <t>The Registrar-Agent <bcp14>SHALL</bcp14> query the pledge via HTTP(S) POST to the pledge endpoint at <tt>/.well-known/brski/qps</tt>.
The request body <bcp14>MUST</bcp14> contain the Status Trigger (tStatus) artifact as defined in <xref target="tstatus_artifact"/>.
In the request header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt> and the Accept field <bcp14>SHOULD</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge implements the Query Pledge Status endpoint, it <bcp14>MUST</bcp14> first verify the signature of the tStatus artifact using its trust anchors.
If the pledge does not possess any domain trust anchor yet, it <bcp14>MAY</bcp14> skip the signature verification and choose to reply without it.
In the case of success, it <bcp14>MUST</bcp14> reply with the Pledge Status (pStatus) artifact as defined in <xref target="pstatus_artifact"/> in the body of an HTTP 200 OK response.
In the response header, the Content-Type field <bcp14>MUST</bcp14> be set to <tt>application/jose+json</tt>.</t>
        <t>If the pledge is unable to create the pStatus artifact, the pledge responds with an HTTP error status code to the Registrar-Agent.
The following client error status codes can be used:</t>
        <ul spacing="normal">
          <li>
            <t>400 Bad Request: if the pledge detects an error in the format of the request.</t>
          </li>
          <li>
            <t>403 Forbidden: if the signature of the Registrar-Agent cannot be verified using the installed trust anchors.</t>
          </li>
          <li>
            <t>406 Not Acceptable: if the Accept request header field indicates a type that is unknown or unsupported, e.g., a type other than <tt>application/jose+json</tt>.</t>
          </li>
          <li>
            <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 <tt>application/jose+json</tt>.</t>
          </li>
        </ul>
        <t>The pledge <bcp14>MAY</bcp14> use the response body to signal failure details to the service technician operating the Registrar-Agent.</t>
        <section anchor="tstatus_artifact">
          <name>Request Artifact: Status Trigger (tStatus)</name>
          <t>The Status Query (tStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, providing status query parameters.</t>
          <t>For the JWS-signed JSON format used by this specification, the tStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Status Trigger Data defined in <xref target="tstatus_data"/> in the JWS Payload.
<xref target="tstatus_representation"/> summarizes the serialization of the JWS-signed JSON PER artifact:</t>
          <figure anchor="tstatus_representation">
            <name>tStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Status Trigger Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Status Trigger Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="tstatus_data">
            <name>JSON Status Trigger Data</name>
            <t>The JSON Status Trigger Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="stat_req_def"/>:</t>
            <figure anchor="stat_req_def">
              <name>CDDL for JSON Status Trigger Data (statustrigger)</name>
              <artwork type="cddl" align="left"><![CDATA[
  statustrigger = {
      "version": uint,
      "serial-number": text,
      "created-on": tdate,
      "status-type": $status-type
  }

  $status-type /= "bootstrap"
  $status-type /= "operation"
]]></artwork>
            </figure>
            <t>The <tt>version</tt> member 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 <tt>version</tt> <bcp14>SHALL</bcp14> be set to <tt>1</tt>.
A pledge (or Registrar-Agent) that receives a version larger than it knows about <bcp14>SHOULD</bcp14> log the contents and emit an operational notification.</t>
            <t>The <tt>serial-number</tt> member <bcp14>SHALL</bcp14> contain the product-serial-number corresponding to the X520SerialNumber field of the pledge IDevID certificate;
it can be correlated with the product-serial-number in the signing certificate contained in the JWS Protected Header of the Pledge Status response artifact.</t>
            <t>The <tt>created-on</tt> member <bcp14>SHALL</bcp14> contain the current date and time at tStatus creation as standard date/time string as defined in <xref section="5.6" sectionFormat="of" target="RFC3339"/>;
it can be used as reference time for the corresponding Pledge Status response artifact after correlating via the product-serial-number;
note that pledges may not have synchronized time to provide the created-on date and time on their own.</t>
            <t>The <tt>status-type</tt> allows for specifying which status information is to be returned.
As shown in <xref target="stat_req_def"/>, BRSKI-PRM defines two enumeration values:</t>
            <ul spacing="normal">
              <li>
                <t><tt>bootstrap</tt> to query current status information regarding the bootstrapping status (e.g., voucher processing and enrollment of the pledge into a domain).</t>
              </li>
              <li>
                <t><tt>operation</tt> to query current status information regarding the operational status (e.g., utilization of the bootstrapped EE credentials in communication with other peers).</t>
              </li>
            </ul>
            <t>Other specifications using this artifact may define further enumeration values, e.g., to query application-related status.</t>
            <t><xref target="stat_req_data"/> shows an example for the JSON Status Trigger Data using the status type <tt>bootstrap</tt>:</t>
            <figure anchor="stat_req_data">
              <name>JSON Status Trigger Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "created-on": "2025-01-12T02:37:39.235Z",
  "serial-number": "vendor-pledge4711",
  "status-type": "bootstrap"
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-7">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the tStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/></t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded Registrar-Agent EE certificate used to sign the tStatus artifact as well as the certificate chain</t>
              </li>
            </ul>
            <t><xref target="tstatus_header"/> shows an example for this JWS Protected Header:</t>
            <figure anchor="tstatus_header">
              <name>JWS Protected Header Example within tStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-7">
            <name>JWS Signature</name>
            <t>The Registrar-Agent <bcp14>MUST</bcp14> sign the tStatus artifact using its EE credentials.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </section>
        <section anchor="pstatus_artifact">
          <name>Response Artifact: Pledge Status (pStatus)</name>
          <t>The Pledge Status (pStatus) artifact <bcp14>SHALL</bcp14> be an authenticated self-contained object signed by the pledge, containing status telemetry information.
The exact content depends on the Status Trigger parameter <tt>status-type</tt>.</t>
          <t>For the JWS-signed JSON format used by this specification, the pStatus artifact <bcp14>MUST</bcp14> use the "General JWS JSON Serialization Syntax" defined in <xref section="7.2.1" sectionFormat="of" target="RFC7515"/>, which <bcp14>MUST</bcp14> contain the JSON Pledge Status Data defined in <xref target="pstatus_data"/> in the JWS Payload.
<xref target="pstatus_representation"/> summarizes the serialization of the JWS-signed JSON PER artifact:</t>
          <figure anchor="pstatus_representation">
            <name>pStatus Representation in General JWS JSON Serialization Syntax</name>
            <artwork align="left"><![CDATA[
{
  "payload": BASE64URL(UTF8(JSON Pledge Status Data)),
  "signatures": [
    {
      "protected": BASE64URL(UTF8(JWS Protected Header)),
      "signature": BASE64URL(JWS Signature)
    }
  ]
}
]]></artwork>
          </figure>
          <t>The JSON Pledge Status Data <bcp14>MUST</bcp14> be UTF-8 encoded to become the octet-based JWS Payload defined in <xref target="RFC7515"/>.
The JWS Payload is further base64url-encoded to become the string value of the <tt>payload</tt> member as described in <xref section="3.2" sectionFormat="of" target="RFC7515"/>.
The octets of the UTF-8 representation of the JWS Protected Header are base64url-encoded to become the string value of the <tt>protected</tt> member.
The generated JWS Signature is base64url-encoded to become the string value of the <tt>signature</tt> member.</t>
          <section anchor="pstatus_data">
            <name>JSON Pledge Status Data</name>
            <t>The JSON Pledge Status Data <bcp14>SHALL</bcp14> be a JSON document <xref target="RFC8259"/> that <bcp14>MUST</bcp14> conform with the CDDL <xref target="RFC8610"/> data model defined in <xref target="stat_res_def"/>, which has the same members as the <tt>voucherstatus-post</tt> CDDL defined in <xref section="5.7" sectionFormat="of" target="RFC8995"/> and the <tt>enrollstatus-post</tt> CDDL defined in <xref section="5.9.4" sectionFormat="of" target="RFC8995"/>.</t>
            <figure anchor="stat_res_def">
              <name>CDDL for JSON Pledge Status Data (pledgestatus)</name>
              <artwork type="cddl" align="left"><![CDATA[
  pledgestatus = {
    "version": uint,
    "status": bool,
    ?"reason" : text,
    "reason-context": { * $$arbitrary-map }
  }
]]></artwork>
            </figure>
            <t>The <tt>version</tt> member follows the definition in <xref target="tstatus_data"/> (same as in JSON Status Query Data).</t>
            <t>The <tt>reason</tt> and <tt>reason-context</tt> members follow the definitions in <xref target="vstatus_data"/>, i.e., in contrast to <xref target="RFC8995"/>, <tt>reason-context</tt> <bcp14>MUST</bcp14> be provided.</t>
            <t>The new pStatus artifact also utilizes the <tt>reason-context</tt> field to provide a distinguishable token.
For pStatus artifacts, the JSON object in the <tt>reason-context</tt> field <bcp14>MUST</bcp14> contain either the</t>
            <ul spacing="normal">
              <li>
                <t><tt>pbs-details</tt> member for status information corresponding to the status-type <tt>bootstrap</tt>, or the</t>
              </li>
              <li>
                <t><tt>pos-details</tt> member for status information corresponding to the status-type <tt>operation</tt> (see <xref target="tstatus_data"/>)</t>
              </li>
            </ul>
            <t>Other documents may add additional <tt>reason-context</tt> members correlating to other <tt>statustrigger</tt> status-types or to include further status information.</t>
            <t>For the <tt>pbs-details</tt> member, the following values with the given semantics are defined, while additional information <bcp14>MAY</bcp14> be provided in the top-level <tt>reason</tt> member:</t>
            <ul spacing="normal">
              <li>
                <t><tt>factory-default</tt>: Pledge has not been bootstrapped.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
              <li>
                <t><tt>voucher-success</tt>: Pledge processed the voucher exchange successfully.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
              <li>
                <t><tt>voucher-error</tt>: Pledge voucher processing terminated with error.
Additional information may be provided in the <tt>reason</tt> or <tt>reason-context</tt> members.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
              <li>
                <t><tt>enroll-success</tt>: Pledge processed the enrollment exchange successfully.
Additional information may be provided in the <tt>reason</tt> or <tt>reason-context</tt> members.
The pledge signs the response message using its domain-owner signed EE certificate/credentials.</t>
              </li>
              <li>
                <t><tt>enroll-error</tt>: Pledge enrollment-response processing terminated with error.
Additional information may be provided in the <tt>reason</tt> or <tt>reason-context</tt> members.
The pledge signs the response message using its IDevID certificate/credentials.</t>
              </li>
            </ul>
            <t>The <tt>pbs-details</tt> values <bcp14>SHALL</bcp14> be cumulative in the sense that <tt>enroll-success</tt> and <tt>enroll-error</tt> imply <tt>voucher-success</tt>.
<xref target="stat_example_bootstrap"/> below provides an example for bootstrap status information in the JSON Pledge Status Data:</t>
            <figure anchor="stat_example_bootstrap">
              <name>status-bootstrap JSON Pledge Status Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": true,
  "reason": "Pledge processed enrollment exchange successfully.",
  "reason-context": {
    "pbs-details": "enroll-success"
  }
}
]]></artwork>
            </figure>
            <t>For the <tt>pos-details</tt> member, the following values with the given semantics are defined, while additional information <bcp14>MAY</bcp14> be provided in the top-level <tt>reason</tt> member:</t>
            <ul spacing="normal">
              <li>
                <t><tt>connect-success</tt>: Pledge could successfully establish a connection to another peer.
The pledge signs the response message using its domain-owner signed EE certificate/credentials.</t>
              </li>
              <li>
                <t><tt>connect-error</tt>: Pledge connection establishment terminated with error.
The pledge signs the response message using its domain-owner signed EE certificate/credentials.</t>
              </li>
            </ul>
            <t><xref target="stat_example_operation"/> provides an example for operational status information in the JSON Pledge Status Data:</t>
            <figure anchor="stat_example_operation">
              <name>status-operation JSON Pledge Status Data Example</name>
              <artwork type="json" align="left"><![CDATA[
{
  "version": 1,
  "status": false,
  "reason": "TLS certificate could not be verified.",
  "reason-context": {
    "pos-details" : "connect-error"
  }
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-protected-header-8">
            <name>JWS Protected Header</name>
            <t>The JWS Protected Header of the pStatus artifact <bcp14>MUST</bcp14> contain the following standard Header Parameters as defined in <xref target="RFC7515"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>alg</tt>: <bcp14>SHALL</bcp14> contain the algorithm type used to create the signature, e.g., <tt>ES256</tt>, as defined in <xref section="4.1.1" sectionFormat="of" target="RFC7515"/>.</t>
              </li>
              <li>
                <t><tt>x5c</tt>: <bcp14>SHALL</bcp14> contain the base64-encoded pledge EE certificate used to sign the pStatus artifact and
it <bcp14>SHOULD</bcp14> also contain the certificate chain for this certificate
The certificate chain <bcp14>MUST</bcp14> be available for certificate verification.
If it is not contained in the x5c Header Parameter it is provided to the relying party by other means such as configuration.</t>
              </li>
            </ul>
            <t><xref target="pstatus_header"/> shows an example for this JWS Protected Header:</t>
            <figure anchor="pstatus_header">
              <name>JWS Protected Header Example within pStatus</name>
              <artwork type="json" align="left"><![CDATA[
{
  "alg": "ES256",
  "x5c": [
    "base64encodedvalue==",
    "base64encodedvalue=="
  ]
}
]]></artwork>
            </figure>
          </section>
          <section anchor="jws-signature-8">
            <name>JWS Signature</name>
            <t>The pledge <bcp14>MUST</bcp14> sign the tStatus artifact using its IDevID or domain-owner signed EE credentials according to its bootstrapping status as defined in <xref target="pstatus_data"/>.
The JWS Signature is generated over the JWS Protected Header and the JWS Payload as described in <xref section="5.1" sectionFormat="of" target="RFC7515"/>.
Algorithms used for JWS signatures <bcp14>MUST</bcp14> support ES256 as recommended in <xref target="RFC7518"/> and <bcp14>MAY</bcp14> support further algorithms.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="log_hints">
      <name>Logging Considerations</name>
      <t>The registrar <bcp14>SHOULD</bcp14> log certain events to provide an audit trail for the onboarding of pledges into its domain.
This audit trail may support the root cause analysis in case of device or system failures.
Recommend key events for logging comprise:</t>
      <ul spacing="normal">
        <li>
          <t>Communication attempts between the pledge, Registrar-Agent, and registrar.</t>
        </li>
        <li>
          <t>Protocol handshakes and onboarding steps.</t>
        </li>
        <li>
          <t>Voucher requests and responses.</t>
        </li>
        <li>
          <t>Authentication successes or failures.</t>
        </li>
      </ul>
      <t>The logging <bcp14>SHOULD</bcp14> include the identity of the pledge, the identity of the Registrar-Agent that was interacting with the pledge, and relevant artifact fields, in particular telemetry information:</t>
      <ul spacing="normal">
        <li>
          <t>PVR received from Registrar-Agent</t>
        </li>
        <li>
          <t>Acceptance of a pledge into the domain</t>
        </li>
        <li>
          <t>Voucher provided to Registrar-Agent</t>
        </li>
        <li>
          <t>PER received from Registrar-Agent</t>
        </li>
        <li>
          <t>Pledge EE certificate requested</t>
        </li>
        <li>
          <t>Pledge EE certificate received from Domain CA</t>
        </li>
        <li>
          <t>Pledge EE certificate provided to Registrar-Agent</t>
        </li>
        <li>
          <t>CA Certificates provided to Registrar-Agent</t>
        </li>
        <li>
          <t>Voucher Status received from Registrar-Agent</t>
        </li>
        <li>
          <t>Enroll Status received from Registrar-Agent</t>
        </li>
        <li>
          <t>Pledge Status received from Registrar-Agent</t>
        </li>
        <li>
          <t>Pledge EE certificate revoked</t>
        </li>
      </ul>
      <t>Furthermore, it is recommended to:</t>
      <ul spacing="normal">
        <li>
          <t>support adjustable logging levels (severity) to cater to different operational needs or failure situations.</t>
        </li>
        <li>
          <t>include meta information to distinguish logs that relate to different BRSKI approaches (e.g., BRSKI, BRSKI-AE, BRSKI-PRM, constraint BRSKI) that are likely supported in the same domain in parallel.</t>
        </li>
        <li>
          <t>include detailed error codes and diagnostics information as defined throughout the document or stemming from other used components or libraries also in the logging information.</t>
        </li>
        <li>
          <t>support synchronized time (e.g., via NTP) to include timestamps in logging to enable sequencing and  correlation of events.</t>
        </li>
        <li>
          <t>utilize standard logging formats (e.g., syslog) to allow for easy integration into log analysis tools and SIEM systems.</t>
        </li>
        <li>
          <t>utilize secure transmission of logs to centralized log servers, particularly in cloud or distributed environments (e.g., in case of syslog, <xref target="RFC9662"/> updates the utilized cipher suites for TLS and DTLS).</t>
        </li>
        <li>
          <t>allow for definition of key operational thresholds (e.g., high latency, failed onboarding attempts) to trigger alerts for proactive issue resolution.</t>
        </li>
        <li>
          <t>avoid inclusion of sensitive information (see also <xref target="priv_cons"/>)</t>
        </li>
      </ul>
      <t>For log analysis the following may be considered:</t>
      <ul spacing="normal">
        <li>
          <t>The registrar knows which Registrar-Agent collected which PVR from the included agent-signed-data object.</t>
        </li>
        <li>
          <t>The registrar always knows the connecting Registrar-Agent from the TLS client authentication using the Registrar-Agent EE certificate and can log it accordingly.</t>
        </li>
        <li>
          <t>The telemetry information from the pledge can be correlated to the voucher through the product-serial-number in the EE certificate contained in the JWS Protected Header of the status artifacts and the product-serial-number contained in the voucher. By this it can also be related to the PER.</t>
        </li>
      </ul>
      <t>With this, it can for instance be analyzed if multiple Registrar-Agents are involved in bootstrapping devices.
In addition, within the domain it can be analyzed, if the onboarding involved different Registrar-Agents or if different registrars have been used.</t>
      <t>In order to protect the registrar from overload attacks, a rate-limiting may be used by logging events from the same type just once.</t>
    </section>
    <section anchor="op_cons">
      <name>Operational Considerations</name>
      <t>As outlined in <xref target="architecture"/>, BRSKI-PRM introduces an additional component with the Registrar-Agent in the BRSKI architecture in addition to new modes of interaction to facilitate the communication between the pledge and the registrar.
As outlined in <xref target="colo-regagt"/> the functional support of BRSKI-PRM can also be achieved using a Registrar-Agent co-located with the Registrar instead of a stand-alone Registrar-Agent, which may reduce operational complexity.</t>
      <t>This has an influence on the configuration and operation not only of the Registrar-Agent, but also for the registrar and the pledge.</t>
      <t>As outlined in <xref target="system-components"/>, there are additional configuration items dues to the introduction of the Registrar-Agent. This may increase operational complexity and potential misconfigurations in deploying and managing this entity:</t>
      <ul spacing="normal">
        <li>
          <t>A Registrar-Agent needs to be provided with a Registrar-Agent EE certificate, the domain registrar EE certificate and the list of pledges. BRSKI-PRM is open regarding the selected provisioning method, which may be automated or by configuration.</t>
        </li>
        <li>
          <t>Pledges may support either BRSKI-PRM only or combined with other modes of operation.</t>
        </li>
        <li>
          <t>Registrars may support either BRSKI-PRM only or combined with other BRSKI modes of operation. The distinction of BRSKI and BRSKI-PRM is done based on the provided endpoints of the registrar. An operator deploying pledges with a mixed set of operation need to ensure that the domain registrar supports all necessary options to ensure bootstrapping of pledges depending of the supported operational mode.</t>
        </li>
        <li>
          <t>In addition, registrars may  support a co-located Registrar-Agent, if nomadic operation of the Registrar-Agent is not required. This facilitates situations in which an operator wants to deploy BRSKI pledges acting as clients and BSKI pledges acting as servers.</t>
        </li>
      </ul>
      <t>With the Registrar-Agent enhancement a new component is introduced in the communication path between the pledge and the registrar.
This likely increases the latency of the communication between the pledge and the registrar.
The increase in latency due to this additional component may be neglected given that the Registrar-Agent operates with nomadic connectivity as outlined in <xref target="arch_nomadic"/>.</t>
      <t>BRSKI-PRM requires pledges to possess an IDevID to enable onboarding in new domains.
IDevID (and corresponding trust anchors) are expected to have a rather long lifetime.
This may allow for a longer period between device acquisition and initial onboarding.
Contrary, if devices that have been provided with an LDevID (and corresponding trust anchors) and temporarily taken out of service, immediate connectivity when bringing them back to operation may not be given, as the LDevIDs typically have a much shorter validity period compared to IDevIDs.
It is therefore recommended to onboard them as new devices to ensure they possess valid LDevIDs.</t>
      <t>The key infrastructure as part of the customer domain discussed in <xref target="architecture"/> may be operated locally by the operator of that domain or may be provided as a third party service.</t>
      <t>Requirements to the utilized credentials authenticating and artifact signatures on the registrar as outlined in <xref target="registrar_component"/> may have operational implications when the registrar is part of a scalable framework as described in <xref section="1.3.1" sectionFormat="of" target="I-D.richardson-anima-registrar-considerations"/>.</t>
      <t>Besides the above, also consider the existing document on operational modes for BRSKI MASA in <xref target="I-D.richardson-anima-masa-considerations"/>.</t>
    </section>
    <section anchor="iana_con">
      <name>IANA Considerations</name>
      <t>This document requires the following IANA actions.</t>
      <section anchor="brski-well-known-uris">
        <name>BRSKI Well-Known URIs</name>
        <t>IANA is requested to enhance the Registry entitled: "BRSKI Well-Known URIs" with the following endpoints:</t>
        <table anchor="iana_table_uri">
          <name>BRSKI Well-Known URIs Additions</name>
          <thead>
            <tr>
              <th align="left">Path Segment</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">requestenroll</td>
              <td align="left">Supply PER to registrar</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">wrappedcacerts</td>
              <td align="left">Obtain wrapped CA certificates</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">tpvr</td>
              <td align="left">Trigger Pledge Voucher-Request</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">tper</td>
              <td align="left">Trigger Pledge Enroll-Request</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">svr</td>
              <td align="left">Supply voucher to pledge</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">scac</td>
              <td align="left">Supply CA certificates to pledge</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">ser</td>
              <td align="left">Supply Enroll-Response to pledge</td>
              <td align="left">[THISRFC]</td>
            </tr>
            <tr>
              <td align="left">qps</td>
              <td align="left">Query pledge status</td>
              <td align="left">[THISRFC]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="sn_reg">
        <name>Service Name and Transport Protocol Port Number Registry</name>
        <t>IANA is requested to register 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> IETF Chair <eref target="mailto:chair@ietf.org">chair@ietf.org</eref><br/>
          <strong>Description:</strong> The Bootstrapping Remote Secure Key Infrastructure Pledge<br/>
          <strong>Reference:</strong> [THISRFC]</t>
      </section>
    </section>
    <section anchor="priv_cons">
      <name>Privacy Considerations</name>
      <t>The privacy considerations of <xref target="RFC8995"/> also apply for BRSKI-PRM.
Two architectural changes in this document require some additional consideration:</t>
      <ul spacing="normal">
        <li>
          <t>the introduction of the additional component Registrar-Agent</t>
        </li>
        <li>
          <t>no TLS between Registrar-Agent and pledge</t>
        </li>
      </ul>
      <t>As logging is recommended to better handle failure situations, it is necessary to avoid capturing  sensitive or personal data.
Privacy-preserving measures in logs <bcp14>SHOULD</bcp14> be applied, such as:</t>
      <ul spacing="normal">
        <li>
          <t>Avoid logging personally identifiable information unless unavoidable.</t>
        </li>
        <li>
          <t>Anonymize or pseudonymize data where possible.</t>
        </li>
      </ul>
      <section anchor="registrar-agent-identity-privacy-considerations">
        <name>Registrar-Agent identity Privacy Considerations</name>
        <t>The credentials used by the Registrar-Agent to sign the data for the pledge <bcp14>SHOULD NOT</bcp14> contain any personal information about the owner/operator of the Registar-Agent.
So for instance, issuing an EE certificate to the Registrar-Agent that has a Subject DN saying something like "Frank Jones' Commissioning Tablet" would be a problem.</t>
        <t>Therefore, it is recommended to use an EE certificate associated with the commissioning device instead of an EE certificate associated with the service technician operating the device.
This avoids revealing potentially included personal information to any eavesdroppers on the Registrar-Agent/Pledge communication.
Along the Registrar-Agent/Registrar communication path, if TLS 1.2 is used, the client certificate details will be revealed to any on path passive attacker.
This is one of the advantages of using TLS 1.3.</t>
      </section>
      <section anchor="registar-agentpledge-communications">
        <name>Registar-Agent/Pledge communications</name>
        <t>The communication between the pledge and the Registrar-Agent is performed over plain HTTP.
HTTPS can not be easily used as the Pledge's long-term IDevID certificate does not contain a SubjectAltName that <xref target="RFC9525"/> DNS-ID verification can use to validate the certificate.
In order for this connection to be more secure, the Registrar-Agent would need to know precisely which devices (down to the serial number) it expects to onboard.
There are some very constrained cases where this might be the case, but for many installations, it is not practical.</t>
        <t>An active on-path attacker <xref target="onpath"/> could trivially impersonate the Pledge at the network layer, which is exactly the same situation when not using TLS.
For many installations, a physical cable may be invoved (such as ethernet over USB), or a very low power wireless network will be used.
Any active on-path attacker would have to be physically present at the site of the device.
Such a physically present attacker could learn the identity of the Pledge by simply pretending to be a Registrar-Agent, and asking the device for its identity.
It could equally do this over TLS/HTTPS.</t>
        <t>It is impossible for an active on-path attacker to replace the signed objects that the Pledge and Registrar-Agent exchange undetected because those objects are signed by keys contained in the respective devices.</t>
        <t>Depending on the requests and responses, the following information is disclosed:</t>
        <ul spacing="normal">
          <li>
            <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 not encrypted.
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>
          </li>
          <li>
            <t>the Timestamp data could reveal the activation time of the device.</t>
          </li>
          <li>
            <t>the Status data of the device could reveal information about the current state of the device in the domain network.</t>
          </li>
        </ul>
        <t><xref target="tpvr"/> describes to optionally 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>
      </section>
    </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 in the following subsections related to:</t>
      <ul spacing="normal">
        <li>
          <t>the introduction of the additional component Registrar-Agent and related attack options.</t>
        </li>
        <li>
          <t>the reversal of the pledge communication direction (push mode, compared to BRSKI).</t>
        </li>
        <li>
          <t>no usage of TLS between Registrar-Agent and pledge and the resulting impact on transport of sensitive information (see <xref target="tpvr"/> regarding optional use of TLS to protect the communication between the Registrar-Agent and the pledge)</t>
        </li>
      </ul>
      <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 limit 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 resend the PVR previously sent.
Note that in case of re-sending, 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 <tt>proximity-registrar-cert</tt> field in the PVR matches its own registrar EE certificate.
In addition, the domain registrar needs to verify the association of the pledge to its domain based on the product-serial-number contained in the PVR and in the pledge IDevID certificate. (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 Registrar-Agent EE certificate data contained in the PVR.</t>
        <t>Mis-binding 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</name>
        <t>Concerns of misuse of a Registrar-Agent with a valid Registrar-Agent EE 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 Registrar-Agent EE certificate may have been acquired by a prior BRSKI run for the Registrar-Agent, if an IDevID is available on Registrar-Agent.
Alternatively, the Registrar-Agent EE 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 Registrar-Agent EE 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 Registrar-Agent EE 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".</t>
        <t>Furthermore, the registrar also verifies the Registrar-Agent EE 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.
If the registrar detects a mismatch in the utilized certificates, it may conclude the usage of either an outdated "agent-signed-data" component in the PVR or a man-in-the-middle attack by a potentially unauthorized Registrar-Agent.</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 query the Service Type in combination with the product-serial-number of a specific pledge, e.g., in the Service Instance Name or Service Subtype.
The pledge reacts on this if its product-serial-number is part of the query 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 an 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>Documents that define exclusively modules following the extension in <xref target="RFC8971"/> are not required to include the YANG security template per guidance in <xref section="3.7" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>.</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, Christian Spindler, and Julian Krieger.
Special thanks to Esko Dijk for the in deep review and the improving proposals.
Another special thanks for the detailed Shepherad review and connected discussions to Matthias Kovatsch.
Support in PoC implementations and comments resulting from the implementation was provided by Hong Rui Li and He Peng Jia.
Review comments in the context of a formal analysis of BRSKI-PRM have been provided by Marco Calipari.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC6762">
          <front>
            <title>Multicast DNS</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <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="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </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="RFC9646">
          <front>
            <title>Conveying a Certificate Signing Request (CSR) in a Secure Zero-Touch Provisioning (SZTP) Bootstrapping Request</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>This document extends the input to the "get-bootstrapping-data" 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., a Local Device Identifier (LDevID) from IEEE 802.1AR) as part of the "onboarding information" response provided in the RPC-reply.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9646"/>
          <seriesInfo name="DOI" value="10.17487/RFC9646"/>
        </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="15" month="January" year="2025"/>
            <abstract>
              <t>   This document introduces a variant of the RFC8366 voucher artifact in
   which CMS is replaced by the JSON Object Signing and Encryption
   (JOSE) mechanism described in RFC7515.  This supports deployments in
   which JOSE is preferred over CMS.  In addition to specifying the
   format, the "application/voucher-jws+json" media type is registered
   and examples are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-jws-voucher-16"/>
        </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="1" month="April" year="2025"/>
            <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".

   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's
   manufacturer (i.e., the Manufacturer Authorized Signing Authority
   (MASA)).

   This document updates RFC8366, includes a number of desired
   extensions into the YANG.  The voucher request defined in RFC8995 is
   also now included in this document, as well as other YANG extensions
   needed for variants of BRSKI/RFC8995.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-rfc8366bis-14"/>
        </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>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
        <reference anchor="RFC5273">
          <front>
            <title>Certificate Management over CMS (CMC): Transport Protocols</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 a number of transport mechanisms that are used to move CMC (Certificate Management over CMS (Cryptographic Message Syntax)) messages. The transport mechanisms described in this document are HTTP, file, mail, and TCP. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5273"/>
          <seriesInfo name="DOI" value="10.17487/RFC5273"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </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="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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </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="RFC9662">
          <front>
            <title>Updates to the Cipher Suites in Secure Syslog</title>
            <author fullname="C. Lonvick" initials="C." surname="Lonvick"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <date month="October" year="2024"/>
            <abstract>
              <t>RFCs 5425 and 6012 describe using TLS and DTLS to securely transport syslog messages. This document updates the cipher suites required by RFC 5245 (TLS Transport Mapping for Syslog) and RFC 6012 (DTLS Transport Mapping for Syslog). It also updates the protocol recommended by RFC 6012 for secure datagram transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9662"/>
          <seriesInfo name="DOI" value="10.17487/RFC9662"/>
        </reference>
        <reference anchor="RFC9733">
          <front>
            <title>BRSKI with Alternative Enrollment (BRSKI-AE)</title>
            <author fullname="D. von Oheimb" initials="D." role="editor" surname="von Oheimb"/>
            <author fullname="S. Fries" initials="S." surname="Fries"/>
            <author fullname="H. Brockhaus" initials="H." surname="Brockhaus"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>This document defines enhancements to the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol, known as BRSKI with Alternative Enrollment (BRSKI-AE). BRSKI-AE extends BRSKI to support certificate enrollment mechanisms instead of the originally specified use of Enrollment over Secure Transport (EST). It supports certificate enrollment protocols such as the Certificate Management Protocol (CMP) that use authenticated self-contained signed objects for certification messages, allowing for flexibility in network device onboarding scenarios. The enhancements address use cases where the existing enrollment mechanism may not be feasible or optimal, providing a framework for integrating suitable alternative enrollment protocols. This document also updates the BRSKI reference architecture to accommodate these alternative methods, ensuring secure and scalable deployment across a range of network environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9733"/>
          <seriesInfo name="DOI" value="10.17487/RFC9733"/>
        </reference>
        <reference anchor="I-D.ietf-uta-require-tls13">
          <front>
            <title>New Protocols Using TLS Must Require TLS 1.3</title>
            <author fullname="Rich Salz" initials="R." surname="Salz">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="Nimrod Aviram" initials="N." surname="Aviram">
         </author>
            <date day="14" month="April" year="2025"/>
            <abstract>
              <t>   TLS 1.3 use is widespread, it has had comprehensive security proofs,
   and it improves both security and privacy over TLS 1.2.  Therefore,
   new protocols that use TLS must require TLS 1.3.  As DTLS 1.3 is not
   widely available or deployed, this prescription does not pertain to
   DTLS (in any DTLS version); it pertains to TLS only.

   This document updates RFC9325 and discusses post-quantum cryptography
   and the security and privacy improvements over TLS 1.2 as a rationale
   for that update.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-uta-require-tls13-12"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="5" month="May" year="2025"/>
            <abstract>
              <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   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 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-25"/>
        </reference>
        <reference anchor="I-D.draft-ietf-emu-eap-arpa">
          <front>
            <title>The eap.arpa domain and EAP provisioning</title>
            <author fullname="Alan DeKok" initials="A." surname="DeKok">
              <organization>InkBridge Networks</organization>
            </author>
            <date day="29" month="January" year="2025"/>
            <abstract>
              <t>   This document defines the eap.arpa domain as a way for Extensible
   Authentication Protocol (EAP) peers to signal to EAP servers that
   they wish to obtain limited, and unauthenticated, network access.
   EAP peers signal which kind of access is required via certain pre-
   defined identifiers which use the Network Access Identifier (NAI)
   format of RFC 7542.  A table of identifiers and meanings is defined,
   which includes entries for RFC 9140.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-arpa-06"/>
        </reference>
        <reference anchor="I-D.richardson-anima-masa-considerations">
          <front>
            <title>Operational Considerations for Voucher infrastructure for BRSKI MASA</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="22" month="January" year="2025"/>
            <abstract>
              <t>   This document describes a number of operational modes that a BRSKI
   Manufacturer Authorized Signing Authority (MASA) 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 MASA is
   deployed into.  This document does not change any protocol
   mechanisms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-anima-masa-considerations-09"/>
        </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="22" month="January" year="2025"/>
            <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-09"/>
        </reference>
        <reference anchor="I-D.ietf-anima-brski-discovery">
          <front>
            <title>BRSKI discovery and variations</title>
            <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
              <organization>Futurewei USA</organization>
            </author>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="21" month="October" year="2024"/>
            <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,
   especially in the face of variations in the protocols that can
   introduce non-interoperability when not equally supported by both
   responder and initiator.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-discovery-05"/>
        </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" target="https://datatracker.ietf.org/meeting/113/materials/slides-113-anima-update-on-brski-with-pledge-in-responder-mode-brski-prm-00">
          <front>
            <title>Abstract BRSKI-PRM Protocol Overview</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="March"/>
          </front>
        </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/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="androidnsd" target="https://developer.android.com/training/connect-devices-wirelessly">
          <front>
            <title>Android Developer: Connect devices wirelessly</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </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/>
            </author>
            <date>n.d.</date>
          </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="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC8996">
          <front>
            <title>Deprecating TLS 1.0 and TLS 1.1</title>
            <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <date month="March" year="2021"/>
            <abstract>
              <t>This document formally deprecates Transport Layer Security (TLS) versions 1.0 (RFC 2246) and 1.1 (RFC 4346). Accordingly, those documents have been moved to Historic status. These versions lack support for current and recommended cryptographic algorithms and mechanisms, and various government and industry profiles of applications using TLS now mandate avoiding these old TLS versions. TLS version 1.2 became the recommended version for IETF protocols in 2008 (subsequently being obsoleted by TLS version 1.3 in 2018), providing sufficient time to transition away from older versions. Removing support for older versions from implementations reduces the attack surface, reduces opportunity for misconfiguration, and streamlines library and product maintenance.</t>
              <t>This document also deprecates Datagram TLS (DTLS) version 1.0 (RFC 4347) but not DTLS version 1.2, and there is no DTLS version 1.1.</t>
              <t>This document updates many RFCs that normatively refer to TLS version 1.0 or TLS version 1.1, as described herein. This document also updates the best practices for TLS usage in RFC 7525; hence, it is part of BCP 195.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="8996"/>
          <seriesInfo name="DOI" value="10.17487/RFC8996"/>
        </reference>
        <reference anchor="RFC9440">
          <front>
            <title>Client-Cert HTTP Header Field</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document describes HTTP extension header fields that allow a TLS terminating reverse proxy (TTRP) to convey the client certificate information of a mutually authenticated TLS connection to the origin server in a common and predictable manner.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9440"/>
          <seriesInfo name="DOI" value="10.17487/RFC9440"/>
        </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="28" month="May" year="2025"/>
            <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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-t2trg-taxonomy-manufacturer-anchors-09"/>
        </reference>
      </references>
    </references>
    <?line 2947?>

<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: 2973 bytes</t>
        <figure anchor="ExamplePledgeVoucherRequestfigure">
          <name>Example Pledge-Voucher-Request - PVR</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload": "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3\
NlcnRpb24iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Nj\
c4OSIsIm5vbmNlIjoia2hOeUtwTXRoY2NpYTFyWHc0NC92UT09IiwiY3JlYXRlZC1vbi\
I6IjIwMjQtMDYtMjRUMDk6MDE6MjQuNTU2WiIsImFnZW50LXByb3ZpZGVkLXByb3hpbW\
l0eS1yZWdpc3RyYXItY2VydCI6Ik1JSUI0akNDQVlpZ0F3SUJBZ0lHQVhZNzJiYlpNQW\
9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMTVRblZ6YVc1bGMzTXhEVEFMQm\
dOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1JEUVRBZUZ3MHlNREV5TURjd0\
5qRTRNVEphRncwek1ERXlNRGN3TmpFNE1USmFNRDR4RXpBUkJnTlZCQW9NQ2sxNVFuVn\
phVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4R0RBV0JnTlZCQU1NRDBSdmJXRnBibE\
psWjJsemRISmhjakJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQmsxNk\
svaTc5b1JrSzVZYmVQZzhVU1I4L3VzMWRQVWlaSE10b2tTZHFLVzVmbldzQmQrcVJMN1\
dSZmZlV2t5Z2Vib0pmSWxsdXJjaTI1d25oaU9WQ0dqZXpCNU1CMEdBMVVkSlFRV01CUU\
dDQ3NHQVFVRkJ3TUJCZ2dyQmdFRkJRY0RIREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdTQV\
lEVlIwUkJFRXdQNElkY21WbmFYTjBjbUZ5TFhSbGMzUXVjMmxsYldWdWN5MWlkQzV1Wl\
hTQ0huSmxaMmx6ZEhKaGNpMTBaWE4wTmk1emFXVnRaVzV6TFdKMExtNWxkREFLQmdncW\
hrak9QUVFEQWdOSUFEQkZBaUJ4bGRCaFpxMEV2NUpMMlByV0N0eVM2aERZVzF5Q08vUm\
F1YnBDN01hSURnSWhBTFNKYmdMbmdoYmJBZzBkY1dGVVZvL2dHTjAvand6SlowU2wyaD\
R4SVhrMSIsImFnZW50LXNpZ25lZC1kYXRhIjoiZXlKd1lYbHNiMkZrSWpvaVpYbEtjRn\
BZVW0xTVdGcDJaRmRPYjFwWVNYUmpiVlo0WkZkV2VtUkRNWGRqYlRBMldWZGtiR0p1VV\
hSak1teHVZbTFXYTB4WFVtaGtSMFZwVDI1emFWa3pTbXhaV0ZKc1drTXhkbUpwU1RaSm\
FrbDNUV3BKZEUxRWEzUk5ha3BWVFVSVk5rNUVUVFpPVkVGMVRWUkpNVmRwU1hOSmJrNX\
NZMjFzYUdKRE1YVmtWekZwV2xoSmFVOXBTWGROVkVsNlRrUlZNazU2WnpWSmJqRTVJaX\
dpYzJsbmJtRjBkWEpsY3lJNlczc2ljSEp2ZEdWamRHVmtJam9pWlhsS2NtRlhVV2xQYV\
VwVlZFZE5NMWRZYUV4V2JGWldaVzVLTTFKVVRsSlhWRlpEV2xaa2IyTXlNVVZOTW1NNV\
NXbDNhVmxYZUc1SmFtOXBVbFpOZVU1VVdXbG1VU0lzSW5OcFoyNWhkSFZ5WlNJNklrd3\
lZVEJsY3pWZkxXZHNZVjkwTjFVME1VbFJXRmxJU1RSQlMxVldVRkZmTTFSbGQxUTFiMF\
ZWWVVOdFVIQktaMmRyU0c1d09WTk1aVFZ1YWkxbldGbFRiMk5sT1RoeFFXSnROa0YwZF\
MxRlIxUkxZMDVSSW4xZGZRMEsifX0",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQitUQ0NBYUNnQXdJQkFnSUdBWG5WanNV\
NU1Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RB\
eEthVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJN\
Q0FYRFRJeE1EWXdOREExTkRZeE5Gb1lEems1T1RreE1qTXhNak0xT1RVNVdqQlNNUXN3\
Q1FZRFZRUUdFd0pCVVRFVk1CTUdBMVVFQ2d3TVNtbHVaMHBwYm1kRGIzSndNUk13RVFZ\
RFZRUUZFd293TVRJek5EVTJOemc1TVJjd0ZRWURWUVFEREE1S2FXNW5TbWx1WjBSbGRt\
bGpaVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSUFCQzc5bGlhUmNCalpj\
RUVYdzdyVWVhdnRHSkF1SDRwazRJNDJ2YUJNc1UxMWlMRENDTGtWaHRVVjIxbXZhS0N2\
TXgyWStTTWdROGZmd0wyM3ozVElWQldqZFRCek1Dc0dDQ3NHQVFVRkJ3RWdCQjhXSFcx\
aGMyRXRkR1Z6ZEM1emFXVnRaVzV6TFdKMExtNWxkRG81TkRRek1COEdBMVVkSXdRWU1C\
YUFGRlFMak56UC9TL2tvdWpRd2pnNUU1ZnZ3Y1liTUJNR0ExVWRKUVFNTUFvR0NDc0dB\
UVVGQndNQ01BNEdBMVVkRHdFQi93UUVBd0lIZ0RBS0JnZ3Foa2pPUFFRREFnTkhBREJF\
QWlCdTN3UkJMc0pNUDVzTTA3MEgrVUZyeU5VNmdLekxPUmNGeVJST2xxcUhpZ0lnWENt\
SkxUekVsdkQycG9LNmR4NmwxL3V5bVRuYlFERGZKbGF0dVgyUm9PRT0iXSwidHlwIjoi\
dm91Y2hlci1qd3MranNvbiIsImFsZyI6IkVTMjU2In0",
      "signature": "ntAgC7GT7xIDYcHBXoYej8uIUI6WR2Iv-7T1CaR-J6-xS60D\
iWS1-vfc5Uu5INZS1dyWZ4vVH6uaoPceRxNc8g"
    }
  ]
}
]]></artwork>
        </figure>
      </section>
      <section anchor="example-registrar-voucher-request-rvr-from-registrar-to-masa">
        <name>Example Registrar Voucher-Request (RVR) - from Registrar to MASA</name>
        <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: 7533 bytes</t>
        <figure anchor="ExampleRegistrarVoucherRequestfigure">
          <name>Example Registrar-Voucher-Request - RVR</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload": "eyJpZXRmLXZvdWNoZXItcmVxdWVzdC1wcm06dm91Y2hlciI6eyJhc3\
NlcnRpb24iOiJhZ2VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Nj\
c4OSIsImlkZXZpZC1pc3N1ZXIiOiJCQmd3Rm9BVVZBdU0zTS85TCtTaTZORENPRGtUbC\
svQnhocz0iLCJub25jZSI6ImtoTnlLcE10aGNjaWExclh3NDQvdlE9PSIsInByaW9yLX\
NpZ25lZC12b3VjaGVyLXJlcXVlc3QiOiJleUp3WVhsc2IyRmtJam9pWlhsS2NGcFlVbT\
FNV0ZwMlpGZE9iMXBZU1hSamJWWjRaRmRXZW1SRE1YZGpiVEEyWkcwNU1Wa3lhR3hqYV\
VrMlpYbEthR016VG14amJsSndZakkwYVU5cFNtaGFNbFoxWkVNeGQyTnRPVFJoVnpGd1\
pFaHJhVXhEU25wYVdFcHdXVmQzZEdKdVZuUlpiVlo1U1dwdmFVMUVSWGxOZWxFeFRtcG\
pORTlUU1hOSmJUVjJZbTFPYkVscWIybGhNbWhQWlZWMGQxUllVbTlaTWs1d1dWUkdlVm\
RJWXpCT1F6a3lWVlF3T1VscGQybFpNMHBzV1ZoU2JGcERNWFppYVVrMlNXcEpkMDFxVV\
hSTlJGbDBUV3BTVlUxRWF6Wk5SRVUyVFdwUmRVNVVWVEpYYVVselNXMUdibHBYTlRCTV\
dFSjVZak5hY0ZwSFZtdE1XRUo1WWpOb2NHSlhiREJsVXpGNVdsZGtjR016VW5sWldFbD\
BXVEpXZVdSRFNUWkphekZLVTFWSk1HRnJUa1JSVm14d1dqQkdNMU5WU2tKYU1HeElVVl\
pvV2s1NlNtbFpiSEJPVVZjNVNGRXdUbmhTTVU1T1RrUnNRMUZWTVVSVVZWSldaVVZXTm\
xGV1NrTmFNRFZYVVd0R2RsUlZUbkpOVkZaU1lteGFObGxXWXpGaVIwMTZWRmhvUlZaRl\
JrMVJiV1JQVm10S1Fsa3dNVU5TYXpWM1drVmtWbVZGVWpaUlZUVkRXakExVjFGclJrNV\
VWVXB6VlcxNGFrMHhTa1ZWVmxKQ1dsVmFNMDFJYkU1U1JWWTFWRlZTYW1Rd05YRlNWRk\
pPVmtWd2FGSnVZM2RsYXpGRlVsaHNUbEpIVGpOVWJYQkdUa1V4VlZOdFJrNVNSRkkwVW\
xod1FsVnJTbTVVYkZwRFVWYzVUbEV5YzNoT1ZrWjFWbTV3YUZaNlZuTlplazVPWlVWU1\
ZWRlZlRU5hTURWWFVXdEdhbFJWU2tkVWJrSnJVakZXTkZJd1VrSldNRXB1Vkd4YVExRl\
ZNVTVTUkVKVFpHMUtXRkp1UW1saVJYQnpWMnBLYzJWdFVrbFRiV2hxWVd0S1lWUlZTaz\
VTTUVvMVkxVmtWRlJVVVRWUlYyUkdVakJPUkdOVlpGUlVWRkUxVVZoa1JsTkZSWGRUVl\
VaRFVXMXplRTVyYzNaaFZHTTFZakZLY2xONlZscFpiVlpSV25wb1ZsVXhTVFJNTTFaNl\
RWZFNVVlpYYkdGVFJURXdZakowVkZwSVJreFdlbFp0WW14a2VsRnRVWEpqVmtwTlRqRm\
tVMXB0V214V01uUTFXakpXYVdJd2NHMVRWM2h6WkZoS2FtRlVTVEZrTWpWdllWVTVWMU\
V3WkhGYVdIQkRUbFV4UTAxRlpFSk5WbFpyVTJ4R1VsWXdNVU5WVldSRVVUTk9TRkZXUm\
xaU2Ewb3pWRlZLUTFveVpIbFJiV1JHVW10S1Vsa3dVa2xTUlVaUVVXMWtUMVpyYUZKUF\
JVcENXbXBvUmxGclJrNVJNRWt3VVZoa1ZGRldiRVZXYkVsM1ZXdEtSbEpZWkZGT1JXeH\
JXVEl4VjJKdFJsbFVha0pxWWxWYU5WUkdhRk5pUjAxNlZWaFdhazF0ZUhOWmJHUlhaRm\
RPTlUxWGJHdFJlbFl4VjJ4b1ZGRXdhSFZUYlhoaFRXMTRObHBGYUV0aFIwNXdUVlJDWV\
ZkRk5IZFViV3N4WlcxR1dGWnVVbUZXZWxZMlZFWmtTMDFGZUhST1YzaHJVa1ZHVEZGdF\
pHNWpWMmh5WVdzNVVWVldSa1ZSVjJSUFUxVkdSVkZyV2tKaFZVbzBZa2RTUTJGR2NIaE\
5SVll5VGxWd1RVMXNRbmxXTUU0d1pWWk5NbUZGVWxwV2VrWTFVVEE0ZGxWdFJqRlpia0\
pFVGpBeGFGTlZVbTVUVjJoQ1ZFWk9TMWx0WkUxaWJXUnZXVzFLUWxwNlFtdFpNV1JIVm\
xaYWRrd3laRWhVYWtGMllXNWtObE5zYjNkVk1uZDVZVVJTTkZOV2FISk5VMGx6U1cxR2\
JscFhOVEJNV0U1d1dqSTFiRnBETVd0WldGSm9TV3B2YVZwWWJFdGtNV3haWWtoT2FVMX\
JXbkpUVjNCMllWWndXV0pGZEdwU2JrSmFWbGN3ZUZSV1pFZGpSRXBoVW0xU1VGbHFSbm\
RYVms1WlZXMXdhVlpzYnpCWGExcHJWakpXZEZWclVrNVhSMUp4V1d4U1FrMXNaRmRhUj\
NScFVqQndNVlpXYUZOaGF6RjBaVWhXV21KVVJsaFpWRUkwVjBaV2RHRkhkRk5OUmxwM1\
ZrUkpNV1Z0UmxkaE0zQlVZbGhvWVZZd1drdGpNV1J5VkZob2EySlZjSGRWTVZKaFUyMU\
djbUpFVGxWV00wSkxXa1ZWZUZKWFJYcFZhelZvWVROQ1YxWkdWbE5XYXpWeVRsVldWVl\
pHY0ZCV2ExWkhUVlpTVjFWcmNFNVdiVkozVlRGb1QxTnRTbkpPV0U1YVRXcEdlbGxWWk\
V0U1JURlpWbTEwVjJWclduZFdNbmh2VTIxR1ZrOVlRbFJYUjFKUFZtdFdjMDVzVW5KVm\
JGcE9ZWHBWTWxkdWNGZFRiVXB4VWxSV1NtRllaSEJaZWtwelltMUtkRkpxUW10WFJYQn\
pXVE5zU2s1c1kzcGpNbXhxVTBWd01scEZaRmRoYlZKSVZtMTBTbUZ0T1hCWGJHaHpVek\
pPZEZKc2FGWldNbmhSV1ZaV2QxWnNXa1phUlRWT1RWZFNXbGxWVmpSV01rcEhWMnhrWV\
ZaNlZreFVWRVpMVmxaU2MxTnNhRmRTYkhCRlZqSjRZV0V5U1hsVVdHeE9WbFphVDFSWE\
1VNU9WazVZWWtST2FGWnRlRmxhVldNeFUyMUdkRTlZUWxaaVJuQlBXbFpWTVZaV1pGaG\
lSekZXVlRCc2VsTlhOVTlqUm05NVRsZG9hMU5HV2pWWGJFNUtUbXRzY21RemJGcFdSVX\
B6V1ROd1YxcHJlRmhhU0U1YVZtcHJkMVJxUmxaTlJURldZa1pLV0ZKdGVFcFZNVkpUVV\
d4TmVGWnNaRlpTYTFwdFZGUkdVMkpIVVhoVlZFWnBUVVphVjFkV1ZrOWtSbFpKVVd0MF\
lVMXRVbmxWTUdNeFpEQTVWMVJyTVdGV1Jsb3hXVmRyZUdKc1pFZGlSbEpwVFdzMWMxUX\
hVbTlsUmtaWVUyNVNUMkV3V1hkYVJrMTRVbXhKZUZWcmVGcE5SRlpUVTFjMGVGcEhXbE\
pOUlhOcFpsZ3dJaXdpYzJsbmJtRjBkWEpsY3lJNlczc2ljSEp2ZEdWamRHVmtJam9pWl\
hsS05FNVhUV2xQYkhOcFZGVnNTbEZwZEZWUk1FNUNXVlZPYmxGWVpFcFJhMFp1VTFWa1\
FsZEhOVmRoYms1V1RsVXhRbUl3WkVSUk0wWklWVEF3TUU5VlNrSlVWVTVPVWtSQ05GRX\
pjRUpUYTBwdVZHeGFRMUZXYkZWUlYzUkhWV3N4VTFaWVpFWmtNV3hGVm14R1VsTXdVa0\
psUlhSb1ZucFdkVlV5TVhOa1ZtOTNWRzVhYW1KclJqUlNibkJDVm10S2JsUnNXa05SVl\
RGT1VrZDBkMk5IU25SYVJYUm9WbnBXZFZaclpGZGxiVkpHVkd0S1RsRXdSbGxTUmxKS1\
pVVXhSVmRZWkU5U1JVVjRWR3RTV21WRk5VZGlNV3hGWlcxek1WUXhVbkpsUlRGeFZGaG\
9UbUZyTUhoVU1WSldUbFprY1ZGc1RrNVZXRTR6VVRGR1dsSkdXbEpWVldSR1pEQndRMV\
pXVWtaV2F6RkRWRlZrUWsxV1ZrWlJNbVF6VkZaT2RHSklWbUZOU0VKM1dXMHhhMUpIU1\
hwVGJtUk9WV3N4TTFKV1JscFNSbHBTVlZWYVJtUXlPVE5VVmxKS1pXczFSVlpVU2s5bG\
JXTXhWRlpLYW1Rd1dsSlhWVkpYVlZaR1JWSkZSVEZUTWtaWVRsYzFWR0pYZURGWGFrSl\
RZa2RTZEdKSGNHRldSVXBoVkZWS1RsSXdTalZqVldSVVZGUlJOVkZYWkVaU01FNUVZMV\
ZrVkZSVVVUVlJXR1JHVTBWRmQxTlZSa05SZW1NMVlrZHNhRlZ0VGtOaGJIQnFVbFZXV1\
dSNlpIbFdWMVpvWkc1U1NGTnJSakZUUkZKM1lYcFNTazVFU2pKWlZVcE9ZekZWZUUxWG\
JFMVNSVTVFVkVkMFYyRklVbFpXYWtsNFlsaGFhRk13VGpKVVdHZDVWMU4wVkZSWFpGSl\
BSMXB0WkRCM2VVMHpiM3BXUld4WFVXeGtjVnBHVWtObGF6RkVZekJrUkZFelRraFJWa1\
pXVW10S00xSlhaRU5SYW1oWVUwWmplR0ZIVFhsU1dGSnJVakZhTmxwRlRURmxiVVpZVm\
01U1lWWjZWalpVUm1STFRVVjRkRTVYZUd0U1J6Z3hWR3RTVW1Wck1VTlBSV1JDVFZaV2\
ExTllaRkpYVlRGRFdWVkdSMUpzUmsxaGF6VTJWVU01VkV3eWRIWmtWM0JTWkRKd2JrNV\
ZWVEZhYmxveldURnNhVlJWU2s1U01FVjRWbGRTUzFWV1JrNVVWVVoyVWpCT1JHTXdaRU\
pWVmxaSFVXNWtUbEV3TVVKT1JXUkNUVlpXYTFKSVpFWlJhVGt6VlZWV1FtUXdiRWxhTU\
ZKQ1V6QktibG96Um05aE1uQlFWVVpHVWxKRlJtNVVhMmhDVWtWS1JsRlhiRU5rVkU0el\
ZXdEtUV013Y0U1VlJGWjZWRlJCTTAxRlozSldWVnA1WlZVMVZrNXRaRXhsYTNoUVZXMU\
9SMlZXU2xOVU1uaDRZMVZvY0Zvd2JHNVhSVTUwVTJ0NFZXVnJWbk5rYTFGNVkwYzVURT\
V0VWpST2JYZDRURE5XTldKV1VuVlpiRVpGVWtkYVMySkhSakJrVm1kNVZXMDVVRkpVTU\
dsWVUzZHBaRWhzZDBscWIybGtiVGt4V1RKb2JHTnBNWEZrTTAxeVlXNU9kbUpwU1hOSm\
JVWnpXbmxKTmtsclZsUk5hbFV5U1c0d0lpd2ljMmxuYm1GMGRYSmxJam9pYm5SQlowTT\
NSMVEzZUVsRVdXTklRbGh2V1dWcU9IVkpWVWsyVjFJeVNYWXROMVF4UTJGU0xVbzJMWG\
hUTmpCRWFWZFRNUzEyWm1NMVZYVTFTVTVhVXpGa2VWZGFOSFpXU0RaMVlXOVFZMlZTZU\
U1ak9HY2lmVjE5IiwiY3JlYXRlZC1vbiI6IjIwMjQtMDYtMjRUMDk6MDI6MTUuNTczWi\
IsImFnZW50LXNpZ24tY2VydCI6WyJNSUlCOWpDQ0FaMmdBd0lCQWdJRVl4WHM3VEFLQm\
dncWhrak9QUVFEQWpBK01STXdFUVlEVlFRS0RBcE5lVUoxYzJsdVpYTnpNUTB3Q3dZRF\
ZRUUhEQVJUYVhSbE1SZ3dGZ1lEVlFRRERBOVVaWE4wVUhWemFFMXZaR1ZzUTBFd0hoY0\
5Nakl3T1RBMU1USXpORFV6V2hjTk1qVXdPVEExTVRJek5EVXpXakJnTVFzd0NRWURWUV\
FHRXdKQlVURVNNQkFHQTFVRUNnd0pUWGxEYjIxd1lXNTVNUlV3RXdZRFZRUUxEQXhOZV\
ZOMVluTnBaR2xoY25reEpqQWtCZ05WQkFNTUhVMTVVMmwwWlZCMWMyaE5iMlJsYkZKbF\
oybHpkSEpoY2tGblpXNTBNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQU\
V4aHZuYWtDSmVpZ3pqWkFVYU5adVAwMWUrUWxVY1E5UjJMSWs2UkI2dmtjdFdMS3BaWC\
85TGthNEdxckFWWmhhM3ZKcmhGc0l4OEdUQkhqWnZLMVd1Nk5uTUdVd0RnWURWUjBQQV\
FIL0JBUURBZ09JTUI4R0ExVWRJd1FZTUJhQUZHK2hQVzUxN1ovb3NSQ0ZUc2NlUDY4bj\
kzc2pNQjBHQTFVZERnUVdCQlJNdHp0akVwVlJUT3ZBVGRCamtGNWFHeVlQZURBVEJnTl\
ZIU1VFRERBS0JnZ3JCZ0VGQlFjREFqQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQmJoRG\
pwbDJ2cWNONnBSVjRuZVU0dFFsWWFOTit4ZjNnSnUrMHBKblNBL1FJZ0ljcXpsZmhYaU\
Qxc0g3VTVQdUtwVVpzSWpkRjRSenhzQTZxSnRFTEQyUHM9Il19fQ",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQm96Q0NBVXFnQXdJQkFnSUdBVzBlTHVJ\
Rk1Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERU\
QUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUkRRVEFlRncweE9UQTVN\
VEV3TWpNM016SmFGdzB5T1RBNU1URXdNak0zTXpKYU1GUXhFekFSQmdOVkJBb01DazE1\
UW5WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhMakFzQmdOVkJBTU1KVkpsWjJs\
emRISmhjaUJXYjNWamFHVnlJRkpsY1hWbGMzUWdVMmxuYm1sdVp5QkxaWGt3V1RBVEJn\
Y3Foa2pPUFFJQkJnZ3Foa2pPUFFNQkJ3TkNBQVQ2eFZ2QXZxVHoxWlVpdU5XaFhwUXNr\
YVB5N0FISFFMd1hpSjBpRUx0NnVOUGFuQU4wUW5XTVlPLzBDREVqSWtCUW9idzhZS3Fq\
dHhKSFZTR1RqOUtPb3ljd0pUQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RIREFPQmdO\
VkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdZcjJMZnFvYUNL\
REY0UkFjTW1KaStOQ1pxZFNpdVZ1Z0lTQTdPaEtScTNZQ0lEeG5QTU1ucFhBTVRyUEp1\
UFd5Y2VFUjExUHhIT24rMENwU0hpMnFncFdYIl0sInR5cCI6InZvdWNoZXItandzK2pz\
b24iLCJhbGciOiJFUzI1NiJ9",
      "signature": "_mcsO5vo0g2rFmBvTb-UsOWkEmhYNfQ5XmbuKHKH0ZLjea-7\
911BilAMdFORmT4vCzWKBSH6HSqtpIRcSSxx7Q"
    }
  ]
}
]]></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 anchor="ExampleVoucherResponsefigure">
          <name>Example Voucher-Response from MASA</name>
          <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: 2994 bytes</t>
        <figure anchor="ExampleVoucherResponseWithRegSignfigure">
          <name>Example Voucher-Response from MASA, with additional Registrar signature</name>
          <artwork align="left"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "payload": "eyJpZXRmLXZvdWNoZXI6dm91Y2hlciI6eyJhc3NlcnRpb24iOiJhZ2\
VudC1wcm94aW1pdHkiLCJzZXJpYWwtbnVtYmVyIjoiMDEyMzQ1Njc4OSIsIm5vbmNlIj\
oia2hOeUtwTXRoY2NpYTFyWHc0NC92UT09IiwiY3JlYXRlZC1vbiI6IjIwMjQtMDYtMj\
RUMDk6MDI6MTYuMjQ0WiIsInBpbm5lZC1kb21haW4tY2VydCI6Ik1JSUJwRENDQVVtZ0\
F3SUJBZ0lHQVcwZUx1SCtNQW9HQ0NxR1NNNDlCQU1DTURVeEV6QVJCZ05WQkFvTUNrMT\
VRblZ6YVc1bGMzTXhEVEFMQmdOVkJBY01CRk5wZEdVeER6QU5CZ05WQkFNTUJsUmxjM1\
JEUVRBZUZ3MHhPVEE1TVRFd01qTTNNekphRncweU9UQTVNVEV3TWpNM016SmFNRFV4RX\
pBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERUQUxCZ05WQkFjTUJGTnBkR1V4RHpBTk\
JnTlZCQU1NQmxSbGMzUkRRVEJaTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEEwSU\
FCT2t2a1RIdThRbFQzRkhKMVVhSTcrV3NIT2IwVVMzU0FMdEc1d3VLUURqaWV4MDYvU2\
NZNVBKaWJ2Z0hUQitGL1FUamdlbEhHeTFZS3B3Y05NY3NTeWFqUlRCRE1CSUdBMVVkRX\
dFQi93UUlNQVlCQWY4Q0FRRXdEZ1lEVlIwUEFRSC9CQVFEQWdJRU1CMEdBMVVkRGdRV0\
JCVG9aSU16UWRzRC9qLytnWC83Y0JKdWNIL1htakFLQmdncWhrak9QUVFEQWdOSkFEQk\
dBaUVBdHhRMytJTEdCUEl0U2g0YjlXWGhYTnVocVNQNkgrYi9MQy9mVllEalE2b0NJUU\
RHMnVSQ0hsVnEzeWhCNThUWE1VYnpIOCtPbGhXVXZPbFJEM1ZFcURkY1F3PT0ifX0",
  "signatures": [
    {
      "protected": "eyJ4NWMiOlsiTUlJQmt6Q0NBVGlnQXdJQkFnSUdBV0ZCakNr\
WU1Bb0dDQ3FHU000OUJBTUNNRDB4Q3pBSkJnTlZCQVlUQWtGUk1SVXdFd1lEVlFRS0RB\
eEthVzVuU21sdVowTnZjbkF4RnpBVkJnTlZCQU1NRGtwcGJtZEthVzVuVkdWemRFTkJN\
QjRYRFRFNE1ERXlPVEV3TlRJME1Gb1hEVEk0TURFeU9URXdOVEkwTUZvd1R6RUxNQWtH\
QTFVRUJoTUNRVkV4RlRBVEJnTlZCQW9NREVwcGJtZEthVzVuUTI5eWNERXBNQ2NHQTFV\
RUF3d2dTbWx1WjBwcGJtZERiM0p3SUZadmRXTm9aWElnVTJsbmJtbHVaeUJMWlhrd1dU\
QVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTQzZiZUxBbWVxMVZ3NmlRclJz\
OFIwWlcrNGIxR1d5ZG1XczJHQU1GV3diaXRmMm5JWEgzT3FIS1Z1OHMyUnZpQkdOaXZP\
S0dCSEh0QmRpRkVaWnZiN294SXdFREFPQmdOVkhROEJBZjhFQkFNQ0I0QXdDZ1lJS29a\
SXpqMEVBd0lEU1FBd1JnSWhBSTRQWWJ4dHNzSFAyVkh4L3R6VW9RL1NzeWRMMzBEUUlO\
RXRjTjltQ1RYUEFpRUF2SWIzbytGTzNCVG5jTEZzYUpaUkFrZDd6T3Vzbi8vWktPYUVL\
YnNWRGlVPSJdLCJ0eXAiOiJ2b3VjaGVyLWp3cytqc29uIiwiYWxnIjoiRVMyNTYifQ",
      "signature": "SFtc2xqK8xN2KVqkYKJl7EUU8UJAai3VvCuK8LIfH8HZFvrr\
hqGiY8vK5cbQHQCjVcroFLn7IyhH708XAdstAQ"
    },
    {
      "protected": "eyJ4NWMiOlsiTUlJQjRqQ0NBWWlnQXdJQkFnSUdBWFk3MmJi\
Wk1Bb0dDQ3FHU000OUJBTUNNRFV4RXpBUkJnTlZCQW9NQ2sxNVFuVnphVzVsYzNNeERU\
QUxCZ05WQkFjTUJGTnBkR1V4RHpBTkJnTlZCQU1NQmxSbGMzUkRRVEFlRncweU1ERXlN\
RGN3TmpFNE1USmFGdzB6TURFeU1EY3dOakU0TVRKYU1ENHhFekFSQmdOVkJBb01DazE1\
UW5WemFXNWxjM014RFRBTEJnTlZCQWNNQkZOcGRHVXhHREFXQmdOVkJBTU1EMFJ2YldG\
cGJsSmxaMmx6ZEhKaGNqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJC\
azE2Sy9pNzlvUmtLNVliZVBnOFVTUjgvdXMxZFBVaVpITXRva1NkcUtXNWZuV3NCZCtx\
Ukw3V1JmZmVXa3lnZWJvSmZJbGx1cmNpMjV3bmhpT1ZDR2plekI1TUIwR0ExVWRKUVFX\
TUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREhEQU9CZ05WSFE4QkFmOEVCQU1DQjRB\
d1NBWURWUjBSQkVFd1A0SWRjbVZuYVhOMGNtRnlMWFJsYzNRdWMybGxiV1Z1Y3kxaWRD\
NXVaWFNDSG5KbFoybHpkSEpoY2kxMFpYTjBOaTV6YVdWdFpXNXpMV0owTG01bGREQUtC\
Z2dxaGtqT1BRUURBZ05JQURCRkFpQnhsZEJoWnEwRXY1SkwyUHJXQ3R5UzZoRFlXMXlD\
Ty9SYXVicEM3TWFJRGdJaEFMU0piZ0xuZ2hiYkFnMGRjV0ZVVm8vZ0dOMC9qd3pKWjBT\
bDJoNHhJWGsxIl0sInR5cCI6InZvdWNoZXItandzK2pzb24iLCJhbGciOiJFUzI1NiJ9\
",
      "signature": "0Q7_a7L4ahn2vmfSxxkKg1xsOMMc8_D7B_Ilzqv5DKzCMkc7\
8YeeezDsuh4Z5JNVQUYHPp7LsK_AS_WH8TdVzA"
    }
  ]
}

]]></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 dependent upon the security of the TLS connection.</t>
      <t>The use of HTTP-over-TLS is not mandated by this document for two main reasons:</t>
      <ol spacing="normal" type="1"><li>
          <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 not help as there is no previous relationship between the Registrar-Agent and the pledge.</t>
        </li>
        <li>
          <t>The pledge can use its IDevID certificate to authenticate itself, but <xref target="RFC9525"/> DNS-ID methods do not apply, as the pledge does not have a FQDN, and hence cannot be identified by DNS name.  Instead a new mechanism is required, which authenticates the X520SerialNumber DN attribute that must be present in every IDevID.</t>
        </li>
      </ol>
      <t>If the Registrar-Agent has a pre-configured 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 QR codes may help automate this in some cases.</t>
      <t>The CA used to sign the IDevID will be a manufacturer private PKI as described in <xref section="4.1" sectionFormat="of" 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 HTTP-over-TLS connection without performing WebPKI verification.
The application will then have to do its own certificate chain verification against a store of manufacturer trust anchors.
In the Android ecosystem this involves 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>Also note that an Extended Key Usage (EKU) for TLS WWW Server authentication cannot be expected in the pledge IDevID certificate.
IDevID certificates are intended to be widely usable and EKU does not support that use.</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 22 -&gt; IETF draft 23:</t>
      <ul spacing="normal">
        <li>
          <t>editorial update of new section on TLS usage clarifications <xref target="tls_sup"/></t>
        </li>
        <li>
          <t>structural and editorial improvements to privacy considerations <xref target="priv_cons"/></t>
        </li>
      </ul>
      <t>From IETF draft 21 -&gt; IETF draft 22:</t>
      <ul spacing="normal">
        <li>
          <t>addressed remaining issues from telechat
          </t>
          <ul spacing="normal">
            <li>
              <t>included overview subsections for reason-context definition and usage in <xref target="pledge_component"/></t>
            </li>
            <li>
              <t>updated status detail examples to correctly use the defined types in the status structure.</t>
            </li>
            <li>
              <t>new section on TLS usage clarifications <xref target="tls_sup"/></t>
            </li>
          </ul>
        </li>
      </ul>
      <t>From IETF draft 20 -&gt; IETF draft 21:</t>
      <ul spacing="normal">
        <li>
          <t>addressed remaining issues from telechat
          </t>
          <ul spacing="normal">
            <li>
              <t>RetryAfter response to be always provided in case of 503 Service unavailable response</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>From IETF draft 19 -&gt; IETF draft 20:</t>
      <ul spacing="normal">
        <li>
          <t>addressed last comments and nits before telechat</t>
        </li>
      </ul>
      <t>From IETF draft 18 -&gt; IETF draft 19:</t>
      <ul spacing="normal">
        <li>
          <t>addressed DISCUSS received during telechat preparation:
          </t>
          <ul spacing="normal">
            <li>
              <t>issue 136: included hint for reaction on HTTP requests to avoid DoS (rate limiting) in <xref target="pledge_component"/></t>
            </li>
            <li>
              <t>issue 137: HTTP error handling BCP RFC 9205: removed normative language for HTTP status codes</t>
            </li>
            <li>
              <t>issue 139: usage of TLS 1.3 emphasized by also referencing UTA draft in <xref target="pvr"/></t>
            </li>
            <li>
              <t>issue 140: provided hint for time synchronization of registrar-agent in <xref target="agent_component"/></t>
            </li>
            <li>
              <t>issue 145: clarified language tagging in status information in <xref target="vstatus_data"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t>addressed COMMENT, NITS, received during telechat preparation, specifically
          </t>
          <ul spacing="normal">
            <li>
              <t>issue 140: synchronized time</t>
            </li>
            <li>
              <t>issue 141: config options for discovery and nonceless vouchers in <xref target="voucher"/> and <xref target="agent_component"/></t>
            </li>
            <li>
              <t>issue 142: addressed TTL of provisional accept state by utilizing the last received tPVR for the binding in <xref target="tpvr"/></t>
            </li>
            <li>
              <t>issue 144: clarified usage of "<bcp14>MUST</bcp14> ...unless" in <xref target="pledge_component"/></t>
            </li>
            <li>
              <t>issue 146: added MTI algorithm for JWS signatures</t>
            </li>
            <li>
              <t>issue 147: definitions of reason-context in status objects</t>
            </li>
          </ul>
        </li>
        <li>
          <t>updated reference of BRSKI-AE (now RFC 9733).</t>
        </li>
        <li>
          <t>removed unused references</t>
        </li>
      </ul>
      <t>From IETF draft 17 -&gt; IETF draft 18:</t>
      <ul spacing="normal">
        <li>
          <t>addressed nits received from the GenART review</t>
        </li>
        <li>
          <t>addressed comment from IANA to update contact for service name registration from IESG to IETF Chair in <xref target="sn_reg"/></t>
        </li>
        <li>
          <t>SECDIR review: included reasoning for short lived certificates in <xref target="agent_component"/></t>
        </li>
        <li>
          <t>SECDIR review: enhanced reasoning for optional TLS usage in <xref target="tpvr"/></t>
        </li>
        <li>
          <t>SECDIR review: added hint for handling if the accept header is not used in <xref target="tpvr"/> and <xref target="tper"/></t>
        </li>
        <li>
          <t>SECDIR review: added hint for response body encoding in <xref target="tpvr"/> and <xref target="tper"/></t>
        </li>
        <li>
          <t>SECDIR review: added hint regarding IDevID and LDevID validity in <xref target="op_cons"/></t>
        </li>
        <li>
          <t>DNSDIR review: renamed <xref target="sn_reg"/> to Service Name and Transport Protocol Port Number Registry</t>
        </li>
        <li>
          <t>from IANA expert review: included registered service names in headings</t>
        </li>
      </ul>
      <t>From IETF draft 16 -&gt; IETF draft 17:</t>
      <ul spacing="normal">
        <li>
          <t>updated formatting of key events in <xref target="log_hints"/></t>
        </li>
        <li>
          <t>updated reference to corresponding sections for JWS Header and Signature in <xref target="I-D.ietf-anima-jws-voucher"/> in <xref target="pvr_data"/> and <xref target="rvr_data"/></t>
        </li>
        <li>
          <t>simplified description for JWS Protected Header aligning with the update in draft-ietf-anima-jws-voucher-15 to always include the certificate chain in <xref target="pvr_data"/> and <xref target="rvr_data"/></t>
        </li>
      </ul>
      <t>From IETF draft 15 -&gt; IETF draft 16:</t>
      <ul spacing="normal">
        <li>
          <t>issue #135: corrections from IOTDIR review (clarification regarding minimum supported discovery in <xref target="discovery_uc2_ppa"/>, clarification regarding CDDl notation in <xref target="cacerts_CDDL_def"/> and editorial nits.</t>
        </li>
        <li>
          <t>updated references (draft-ietf-netconf-sztp-csr became RFC 9646, included RFC 9662, operational considerations drafts for registrar and MASA)</t>
        </li>
        <li>
          <t>AD review: included term Registrar-Agent in Terminology section</t>
        </li>
        <li>
          <t>AD review: enhanced interaction information in <xref target="uc2figure"/> and <xref target="uc3figure"/></t>
        </li>
        <li>
          <t>AD review: included new section on <xref target="op_cons"/> to outline operational considerations</t>
        </li>
        <li>
          <t>AD review: enhanced <xref target="log_hints"/> with more detailed recommendations on logging</t>
        </li>
        <li>
          <t>AD review: enhanced <xref target="priv_cons"/> with enhanced recommendations concerning logging</t>
        </li>
        <li>
          <t>AD review: enhanced <xref target="sec_cons_reg-agt"/> with more information about misuse of the Registrar-Agent</t>
        </li>
        <li>
          <t>IOTDIR/OPSDIR/AD review: addressed various nits received throughout the draft</t>
        </li>
      </ul>
      <t>From IETF draft 14 -&gt; IETF draft 15:</t>
      <ul spacing="normal">
        <li>
          <t>issue #134: editorial clarifications on references to <xref target="I-D.ietf-anima-brski-discovery"/> in <xref target="discovery_uc2_reg"/> and  <xref target="discovery_uc2_ppa"/></t>
        </li>
      </ul>
      <t>From IETF draft 13 -&gt; IETF draft 14:</t>
      <ul spacing="normal">
        <li>
          <t>Update of the examples in <xref target="examples"/> to align with the defined prototypes</t>
        </li>
        <li>
          <t>Changes incorporated based on Shepherd review PR #133:
          </t>
          <ul spacing="normal">
            <li>
              <t>Terminology alignment and clarification throughout the document to use terms more consistently</t>
            </li>
            <li>
              <t>Restructuring of <xref target="exchanges"/> for protocol steps to align to the general approach: Overview, data description, CDDL description (if necessary), JWS Header an Signature. This lead to some movement of text between existing and new subsections.</t>
            </li>
            <li>
              <t>Inclusion of new section on logging hints <xref target="log_hints"/> to give recommendations on which events to be logged for auditing</t>
            </li>
            <li>
              <t>Alignment of pledge status response data across <xref target="vstatus_data"/>, <xref target="estatus_data"/>, and <xref target="pstatus_data"/>.</t>
            </li>
            <li>
              <t>Included MASA component in description of affected components in <xref target="system-components"/></t>
            </li>
            <li>
              <t>Moved host header field handling from <xref target="pledgehttps"/> to <xref target="pledge_component"/> as generally applicable</t>
            </li>
            <li>
              <t>Updated status artifacts (vStatus, eStatus, pStatus) to align with BRSKI CDDL definition, but made reason-context mandatory  to have distinguishable objects for the registrar-agent</t>
            </li>
            <li>
              <t>Correction of terminology of local host name vs. service instance name in <xref target="discovery_uc2_ppa"/></t>
            </li>
          </ul>
        </li>
        <li>
          <t>Update of informative references and nits</t>
        </li>
      </ul>
      <t>From IETF draft 12 -&gt; IETF draft 13:</t>
      <ul spacing="normal">
        <li>
          <t>Deleted figure in Section "Request Artifact: Pledge Voucher-Request Trigger (tPVR)" for JSON representation of tPVR, as it has been replaced by CDDL</t>
        </li>
        <li>
          <t>Updated reason-content description in status response messages (enroll-status, voucher-status, and status-response).</t>
        </li>
        <li>
          <t>Updated CDDL source code integration to allow for automatic verification</t>
        </li>
        <li>
          <t>Reordered description in <xref target="pvr"/> in <xref target="tper"/> to better match the order of communication and artifact processing.</t>
        </li>
        <li>
          <t>Updated CDDL for the request-enroll trigger in <xref target="tper_CDDL_def"/> according to the outcome of the interim ANIMA WG meeting discussions on April 19, 2024</t>
        </li>
        <li>
          <t>Included statement in <xref target="per_artifact"/> for using the advanced created-on time from the agent-signed-data also for the PER, when the pledge has no synchronized clock</t>
        </li>
      </ul>
      <t>From IETF draft 11 -&gt; IETF draft 12:</t>
      <ul spacing="normal">
        <li>
          <t>Updated acknowledgments to reflect early reviews</t>
        </li>
        <li>
          <t>Addressed Shepherd review part 2 (Pull Request #132); containing: terminology alignment, structural improvements of the document; deletion of leftovers from previous draft versions; change of definitions to CDDL, when no YANG is available</t>
        </li>
      </ul>
      <t>From IETF draft 10 -&gt; IETF draft 11:</t>
      <ul spacing="normal">
        <li>
          <t>issue #79, clarified that BRSKI discovery in the context of BRSKI-PRM is not needed in <xref target="discovery_uc2_reg"/>.</t>
        </li>
        <li>
          <t>issue #103, removed step 6 in verification handling for the wrapped CA certificate provisioning as only applicable after enrollment <xref target="cacerts"/></t>
        </li>
        <li>
          <t>issue #128: included notation of nomadic operation of the Registrar-Agent in <xref target="architecture"/>, including proposed text from PR #131</t>
        </li>
        <li>
          <t>issue #130, introduced DNS service discovery name for brski_pledge to enable discovery by the Registrar-Agent in <xref target="iana_con"/></t>
        </li>
        <li>
          <t>removed unused reference RFC 5280</t>
        </li>
        <li>
          <t>removed site terminology</t>
        </li>
        <li>
          <t>deleted duplicated text in <xref target="pledge_component"/></t>
        </li>
        <li>
          <t>clarified registrar discovery and relation to BRSKI-Discovery in <xref target="discovery_uc2_reg"/></t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>addressed comments from SECDIR early review</t>
        </li>
      </ul>
      <t>From IETF draft 09 -&gt; IETF draft 10:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>issue #93, included information about conflict resolution in mDNS and GRASP in <xref target="discovery_uc2_ppa"/></t>
        </li>
        <li>
          <t>issue #103, included verification handling for the wrapped CA certificate provisioning in <xref target="cacerts"/></t>
        </li>
        <li>
          <t>issue #106, included additional text to elaborate more the registrar status handling in <xref target="vstatus"/> and <xref target="estatus"/></t>
        </li>
        <li>
          <t>issue #116, enhanced DoS description in <xref target="sec_cons-dos"/></t>
        </li>
        <li>
          <t>issue #120, included statement regarding pledge host header processing in <xref target="pledge_component"/></t>
        </li>
        <li>
          <t>issue #122, availability of product-serial-number information on registrar agent clarified in <xref target="tpvr"/></t>
        </li>
        <li>
          <t>issue #123, Clarified usage of alternative voucher formats in  <xref target="rvr_artifact"/></t>
        </li>
        <li>
          <t>issue #124, determination of pinned domain certificate done as in RFC 8995 included in <xref target="voucher_artifact"/></t>
        </li>
        <li>
          <t>issue #125, remove strength comparison of voucher assertions in <xref target="agt_prx"/> and <xref target="exchanges"/></t>
        </li>
        <li>
          <t>issue #130, aligned the usage of site and domain throughout the document</t>
        </li>
        <li>
          <t>changed naming of registrar certificate from LDevID(RegAgt) to Registrar-Agent EE certificate throughout the document</t>
        </li>
        <li>
          <t>change x5b to x5bag according to <xref target="RFC9360"/></t>
        </li>
        <li>
          <t>updated JSON examples -&gt; "signature": BASE64URL(JWS Signature)</t>
        </li>
      </ul>
      <t>From IETF draft 08 -&gt; IETF draft 09:</t>
      <ul spacing="normal">
        <li>
          <t>issue #80, enhanced <xref target="discovery_uc2_ppa"/> with clarification on the product-serial-number and the inclusion of GRASP</t>
        </li>
        <li>
          <t>issue #81, enhanced introduction with motivation for agent_signed_data</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>issue #83, enhanced <xref target="tper"/> and <xref target="pvr"/> with note to re-enrollment</t>
        </li>
        <li>
          <t>issue #87, clarified available information at the Registrar-Agent in <xref target="tpvr"/></t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>issue #91, clarified that a separate HTTP connection may also be used to provide the PER in <xref target="per"/></t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>issue #92: kept separate endpoint for wrapped CSR on registrar <xref target="obtain_cacerts"/></t>
        </li>
        <li>
          <t>issue #94: clarified terminology (possess vs. obtained)</t>
        </li>
        <li>
          <t>issue #95: clarified optional IDevID CA certificates on Registrar-Agent</t>
        </li>
        <li>
          <t>issue #96: updated exchangesfig_uc2_3 to correct to just one CA certificate provisioning</t>
        </li>
        <li>
          <t>issue #97: deleted format explanation in exchanges_uc2_3 as it may be misleading</t>
        </li>
        <li>
          <t>issue #99: motivated verification of second signature on voucher in <xref target="voucher"/></t>
        </li>
        <li>
          <t>issue #100: included negative example in <xref target="vstatus_data_example_error"/></t>
        </li>
        <li>
          <t>issue #101: included handling if <xref target="voucher"/> voucher telemetry information has not been received by the Registrar-Agent</t>
        </li>
        <li>
          <t>issue #102: relaxed requirements for CA certs provisioning in <xref target="cacerts"/></t>
        </li>
        <li>
          <t>issue #105: included negative example in <xref target="estatus_data_example_error"/></t>
        </li>
        <li>
          <t>issue #107: included example for certificate revocation in <xref target="estatus"/></t>
        </li>
        <li>
          <t>issue #108: renamed heading to Pledge-Status Request of <xref target="query"/></t>
        </li>
        <li>
          <t>issue #111: included pledge-status response processing for authenticated requests in <xref target="query"/></t>
        </li>
        <li>
          <t>issue #112: added "Example key word in pledge-status response in <xref target="stat_example_bootstrap"/></t>
        </li>
        <li>
          <t>issue #113: enhanced description of status reply for "factory-default" in  <xref target="query"/></t>
        </li>
        <li>
          <t>issue #114: Consideration of optional TLS usage in Privacy Considerations</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>issue #116: Enhanced DoS description and mitigation options in security consideration section</t>
        </li>
        <li>
          <t>updated references</t>
        </li>
      </ul>
      <t>From IETF draft 07 -&gt; IETF draft 08:</t>
      <ul spacing="normal">
        <li>
          <t>resolved editorial issues discovered after WGLC (still open issues remaining)</t>
        </li>
        <li>
          <t>resolved first comments from the Shepherd review as discussed in PR #85 on the ANIMA github</t>
        </li>
      </ul>
      <t>From IETF draft 06 -&gt; IETF draft 07:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>smaller editorial corrections</t>
        </li>
      </ul>
      <t>From IETF draft 05 -&gt; IETF draft 06:</t>
      <ul spacing="normal">
        <li>
          <t>Update of list of reviewers</t>
        </li>
        <li>
          <t>Issue #67, shortened the pledge endpoints to prepare for constraint deployments</t>
        </li>
        <li>
          <t>Included table for new endpoints on the registrar in the overview of the Registrar-Agent</t>
        </li>
        <li>
          <t>addressed review comments from SECDIR early review (terminology clarifications, editorial improvements)</t>
        </li>
        <li>
          <t>addressed review comments from IOTDIR early review (terminology clarifications, editorial improvements)</t>
        </li>
      </ul>
      <t>From IETF draft 04 -&gt; IETF draft 05:</t>
      <ul spacing="normal">
        <li>
          <t>Restructured document to have a distinct section for the object flow and handling and shortened introduction, issue #72</t>
        </li>
        <li>
          <t>Added security considerations for using mDNS without a specific product-serial-number, issue #75</t>
        </li>
        <li>
          <t>Clarified pledge-status responses are cumulative, issue #73</t>
        </li>
        <li>
          <t>Removed agent-sign-cert from trigger data to save bandwidth and remove complexity through options, issue #70</t>
        </li>
        <li>
          <t>Changed terminology for LDevID(Reg) certificate to registrar LDevID certificate, as it does not need to be an LDevID, issue #66</t>
        </li>
        <li>
          <t>Added new protected header parameter (created-on) in PER to support freshness validation, issue #63</t>
        </li>
        <li>
          <t>Removed reference to CAB Forum as not needed for BRSKI-PRM specifically, issue #65</t>
        </li>
        <li>
          <t>Enhanced error codes in section 5.5.1, issue #39, #64</t>
        </li>
        <li>
          <t>Enhanced security considerations and privacy considerations, issue #59</t>
        </li>
        <li>
          <t>Issue #50 addressed by referring to the utilized enrollment protocol</t>
        </li>
        <li>
          <t>Issue #47 MASA verification of LDevID(RegAgt) to the same registrar LDevID certificate domain CA</t>
        </li>
        <li>
          <t>Reworked terminology of "enrollment object", "certification object", "enrollment request object", etc., issue #27</t>
        </li>
        <li>
          <t>Reworked all message representations to align with encoding</t>
        </li>
        <li>
          <t>Added explanation of MASA requiring domain CA cert in section 5.5.1 and section 5.5.2, issue #36</t>
        </li>
        <li>
          <t>Defined new endpoint for pledge bootstrapping status inquiry, issue #35 in section <xref target="query"/>, IANA considerations and section <xref target="pledge_component"/></t>
        </li>
        <li>
          <t>Included examples for several objects in section <xref target="examples"/> including message example sizes, issue #33</t>
        </li>
        <li>
          <t>PoP for private key to registrar certificate included as mandatory, issues #32 and #49</t>
        </li>
        <li>
          <t>Issue #31, clarified that combined pledge may act as client/server for further (re)enrollment</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Several editorial changes and enhancements to increasing readability.</t>
        </li>
      </ul>
      <t>From IETF draft 03 -&gt; IETF draft 04:</t>
      <ul spacing="normal">
        <li>
          <t>In deep Review by Esko Dijk lead to issues #22-#61, which are bein stepwise integrated</t>
        </li>
        <li>
          <t>Simplified YANG definition by augmenting the voucher-request from RFC 8995 instead of redefining it.</t>
        </li>
        <li>
          <t>Added explanation for terminology "endpoint" used in this document, issue #16</t>
        </li>
        <li>
          <t>Added clarification that Registrar-Agent may collect PVR or PER or both in one run, issue #17</t>
        </li>
        <li>
          <t>Added a statement that nonceless voucher may be accepted, issue #18</t>
        </li>
        <li>
          <t>Simplified structure in section <xref target="sup-env"/>, issue #19</t>
        </li>
        <li>
          <t>Removed join proxy in <xref target="uc2figure"/> and added explanatory text, issue #20</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>utilized defined abbreviations in the document consistently, issue #22</t>
        </li>
        <li>
          <t>Reworked text on discovery according to issue #23 to clarify scope and handling</t>
        </li>
        <li>
          <t>Added several clarifications based on review comments</t>
        </li>
      </ul>
      <t>From IETF draft 02 -&gt; IETF draft 03:</t>
      <ul spacing="normal">
        <li>
          <t>Updated examples to state "base64encodedvalue==" for x5c occurrences</t>
        </li>
        <li>
          <t>Include link to SVG graphic as general overview</t>
        </li>
        <li>
          <t>Restructuring of section 5 to flatten hierarchy</t>
        </li>
        <li>
          <t>Enhanced requirements and motivation in <xref target="req-sol"/></t>
        </li>
        <li>
          <t>Several editorial improvements based on review comments</t>
        </li>
      </ul>
      <t>From IETF draft 01 -&gt; IETF draft 02:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>Included representation for General JWS JSON Serialization for examples</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
      </ul>
      <t>From IETF draft 00 -&gt; IETF draft 01:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Housekeeping: Removed already addressed open issues stated in the draft directly.</t>
        </li>
        <li>
          <t>Reworked text in from introduction to section pledge-responder-mode</t>
        </li>
        <li>
          <t>Fixed "serial-number" encoding in PVR/RVR</t>
        </li>
        <li>
          <t>Added prior-signed-voucher-request in the parameter description of the
registrar-voucher-request in <xref target="pvr"/>.</t>
        </li>
        <li>
          <t>Note added in <xref target="pvr"/> if sub-CAs are used, that the
corresponding information is to be provided to the MASA.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Assertion-type aligned with voucher in RFC8366bis, deleted related
open issues. (Issue #4)</t>
        </li>
        <li>
          <t>Included table for endpoints in <xref target="pledge_component"/> for better readability.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Addressed YANG warning (issue #1)</t>
        </li>
        <li>
          <t>Inclusion of examples for a trigger to create a Pledge-Voucher-Request
and a Pledge Enroll-Request.</t>
        </li>
      </ul>
      <t>From IETF draft-ietf-anima-brski-async-enroll-03 -&gt; IETF anima-brski-prm-00:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Utilized ietf-voucher-request-async instead of ietf-voucher-request
in voucher exchanges to utilize the enhanced voucher-request.</t>
        </li>
        <li>
          <t>Included changes from draft-ietf-netconf-sztp-csr-06 regarding the
YANG definition of csr-types into the enrollment request exchange.</t>
        </li>
      </ul>
      <t>From IETF draft 02 -&gt; IETF draft 03:</t>
      <ul spacing="normal">
        <li>
          <t>Housekeeping, deleted open issue regarding YANG voucher-request
in <xref target="tpvr"/> as voucher-request was
enhanced with additional leaf.</t>
        </li>
        <li>
          <t>Included open issues in YANG model in <xref target="architecture"/> regarding assertion
value agent-proximity and csr encapsulation using SZTP sub module).</t>
        </li>
      </ul>
      <t>From IETF draft 01 -&gt; IETF draft 02:</t>
      <ul spacing="normal">
        <li>
          <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"/>.</t>
        </li>
        <li>
          <t>Terminology change: issue #2 pledge-agent -&gt; Registrar-Agent to
better underline Registrar-Agent relation.</t>
        </li>
        <li>
          <t>Terminology change: issue #3 PULL/PUSH -&gt; pledge-initiator-mode
and pledge-responder-mode to better address the pledge operation.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Details on trust relationship between Registrar-Agent and
registrar (issue #4, #5, #9) included in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Recommendation regarding short-lived certificates for
Registrar-Agent authentication towards registrar (issue #7) in
the security considerations.</t>
        </li>
        <li>
          <t>Introduction of reference to Registrar-Agent signing certificate using
SubjectKeyIdentifier in Registrar-Agent signed data (issue #37).</t>
        </li>
        <li>
          <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"/>.</t>
        </li>
        <li>
          <t>Details on trust relationship between Registrar-Agent and
pledge (issue #5) included in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Split of use case 2 call flow into sub sections in <xref target="exchanges"/>.</t>
        </li>
      </ul>
      <t>From IETF draft 00 -&gt; IETF draft 01:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>First description of exchanged object types (needs more work)</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Updated references.</t>
        </li>
        <li>
          <t>Included Thomas Werner as additional author for the document.</t>
        </li>
      </ul>
      <t>From individual version 03 -&gt; IETF draft 00:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Updated CMP example in to use lightweight CMP instead of CMP, as the
draft already provides the necessary /.well-known endpoints.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
        <li>
          <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>
        </li>
      </ul>
      <t>From individual version 02 -&gt; 03:</t>
      <ul spacing="normal">
        <li>
          <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>
        </li>
        <li>
          <t>Simplification of the architecture approach for the initial use
case having an offsite PKI.</t>
        </li>
        <li>
          <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>
        </li>
      </ul>
      <t>From individual version 01 -&gt; 02:</t>
      <ul spacing="normal">
        <li>
          <t>Update of introduction text to clearly relate to the usage of
IDevID and LDevID.</t>
        </li>
        <li>
          <t>Update of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Enhanced consideration of existing enrollment protocols in the
context of mapping the requirements to existing solutions in
<xref target="req-sol"/>.</t>
        </li>
      </ul>
      <t>From individual version 00 -&gt; 01:</t>
      <ul spacing="normal">
        <li>
          <t>Update of examples, specifically for building automation as
well as two new application use cases in <xref target="sup-env"/>.</t>
        </li>
        <li>
          <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>
        </li>
        <li>
          <t>Enhancement of description of architecture elements and
changes to BRSKI in <xref target="architecture"/>.</t>
        </li>
        <li>
          <t>Consideration of existing enrollment protocols in the context
of mapping the requirements to existing solutions in <xref target="req-sol"/>.</t>
        </li>
        <li>
          <t>New section starting with the
mapping to existing enrollment protocols by collecting
boundary conditions.</t>
        </li>
      </ul>
    </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+3obx5UH+L++z+/QofZbkzEA8aJ7JpmhJTrWRLI0JG3P
bDYrNoEm2RGIRtAN0oyseZZ9ln2yPdeqU9XVAEhJtuxYmW8sAejqupw69/M7
/X7/s1tN2YyLx9mX+wd/eZZdls1Z9mpcjE6LrJxk+0U9rSajYpa9qEZFtk4/
6r/af7Hx2a38+HhWXMiD+Nlnt0bVcJKfw2CjWX7S9MuiOennk/I87x/P6jdl
fzo772/vwKOzIn+cvZwWs7wpq0md5ZNR9iKf5KfFeTFpPrt1efo42/3m2Yvd
7Ps/w7B5A2Nub27f++xW3cBvX+fjagIfNbN58dmtcjqjv9bN9ubmo81t+NH8
+Lysaxj68GoKv3u2d/hVPOjSOQzz5nFWN6PPbk3Lx5/dyrKmGj7OPr8q6s/x
X8PqfJoPG/NJfXU+K05q+0k1a6KPYLKTqilPymIEn04q/l0zK81Q+bw5q2bw
zj6cATx8MMi+mpVFjT/l/T1oipOTYuI/rmawuIMSp15nu3/Gj/R85FN5T1HA
e142TdX/Oj+b9PfLyWl2n9ZTNlePsxfzSTk84/WN4EWfP9x6sPNIFjyfNDP4
zZ+L2Xk+ucLPivO8HOMu0XQGJzid/6j5hQPYIfzNfFY+zs6aZlo/vnPn8vJy
YL6/49Z4OMi+L2aTYuYXeXhWnee1+fjnXWRD0+lf0nRutsi9Qfa8yM0S98Zl
1bjPaH1PynpYZQdXsKfnwXr2Yc5NCf/K67rIHvjlfJ+Px2VdjMfFxK/pydf9
hzubd4M1HcDt/mcxGwOl4+fTM7pEa1/c3cru3s0ePniYPYIbtGbWPIaZ/ccQ
Z8QLlXW8GNBs8tmoriZ+NS/ws2KcPYm/5oOD1xZj2NTsoDppLuH+Zd9Xsze1
ed35cPYFMo3/qPW3g2EebK/urvketndYwQLL43ljbw1s9tPy72/MZtdvKvcR
TelZdQiP1vMxMJXh1WAyNnMp4NeDEfz6P+CI4l/1lUQr2M6irrO94Zti1riB
v5o381lxWZSWfpriP4b14CSfD0aF3cq/VBd5UzNBykbmTXNWAu3brwLqPxie
wej/lFsgb6CteyOPDCYFzOeimMwL4l6ns2o+FQZINwf5csYPvqV//Ac+P4DX
vKPfgySYHz/m3/UvT+9EjPyzW5MKrkhTXvD4+189ubf9YNv//eGm/v3+g/vb
5u87+vcHmzvuNw/ubd0zf3+of394f2vT/N395uGjR+7vj3buu988un/3Pv39
Wf/pwAigv1/W/YtqPjwrZqmvZyfDhzv37x+XNXxbTk7ipW0/enhf/75zf/uR
W+b9e25pj+5t+yVs+88f3r3rnn344NG2WYKf9qYZZ8sv+dH2zkO/NL+Njx7s
7ITrmDewiuIf83JW9JtxvRV9DdRwXo1onXc3H/A6+Wsjq4vzeb/Ip/18Ns3d
9zN3lWWvgAvmfbwR5UiFZ/ePZ8Up8axZ1xMtJWGE7OaiAIZFP9nb2+s/3Nwe
bO3u0wcgh1lhwW8y+SY7KIZw4bKnxUU5LLJnI5DgKGNn/IQTqPiPvtz9SQ0D
zZsiq06ADxdDlMH5mNQA/mcFUgJu9uS0nBTFrOanVRfZetjfvM8f1QWKPSQa
eQPPGuUKz44ki1OT+vkxbgjI+2A5n+/Kx/6X2atZBUpHNc5ewn5clMXl53YS
L/LZ8AzVom3+lInWzeHV06+8SIInchwduNRAr/mdc5ArIBrvbG3t3IEnYRn5
uL5Tj+GU6j58KMcyn+L7+nCkfECoI/anpCP2ywmcsOiIfSCwwmh6m5vEtibT
vDnTteazU5Rlazov5D+4DLhqfl74wZ3z+vROnecwy63Zo3l194f/+efk5fDk
4b29qzeb+2fz5t6jh3fWgi1cG4Jwgf+DmeI7M+CitGJQR6spaIj5yUk5/Hd5
homAFENkhvCTcjSpR9FE3f4VF8W4AmVxID8lwQ5DlhPcQaDtCZBMf0T0B0oC
3EKUC+OrcIK7/DDSKQ8HgpofzeTRzD9qJ/rnqjodF530tiZ7OII1rxlFpDge
6O7ixsK/7wC97Gy6P7+/80FWKI+QEn6CIuVGu5jPmnIIg96p8TaDbtOH8cMN
PJBv2FD5pmguQYVw96T+iFu2sw3SZ+fRzoNVd6xjNSD5+/1MeQD++/CsrDMw
neZodwAdnAC/qbNicgbqBtkiNZge2ZdV1eAz0ylqs/vFeQWsS9jeX4or4Gcn
oBnCCQxR9RBTraeiciMDbeKaJt7gs1ueFdXz6RSsGZjKWZHV/NrjYErARoU4
ehkYPcVsBnsLE4cXM7OAz8sJfgCLhXs/yS5BGBfZCCgJ6B/27hz1chIPPEl8
lZMfGWxSAZ/CRMflednA4NUsA1sqm1Zg6h2PCzjIDFRhmPZhlZ3kw3JcAtPD
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
YdEXd5DxdRP6Kq136TmgL1ctGfp40+DG7INLIkLXpnLQRNhcIXPoOWA/Oo2G
/0AFGc29nRXOChPIj88J53YsFTgOKsfsgN/fnt8iV7QbrfY7U6PqlsU/3bjW
uuyypqL2373mkfZcnaLO2zv/gv6bhnJSPlJNjLnO/J25gunfwxzdcrXWIoEl
S+96rbtIq7t3nSPTfT7gmfntJr5xcIP58hrdnhf6b7r63+WzUlz3yuyIJ2m0
aKnbh7KwTmwG4PflV2UiYzB1ng4kk8p3GM0vTujTHYuGS5gyX6Iv1PaTs+5C
i+CDVb2T07GxjyTlkrxBjG7jXK/BhC2Cp2CuuMx2sByfeD9kytUrGo7XVt7e
BkKsEPUV7Nl30vjE+WkC76F0MFciNk7ZVJsu+FmDqBrojsD+dq6zkULlYOxF
enUcF6bhpv02Fe7jfNMwVmGbKmLuur7DA7wiolrkM2p7lwTNcnJcsfvNVxy7
AGzPOSTUY9Rrg6o47CYgYaxHK8QUzh36TuLyBa2QyxPCmpxhlGUyPz8WpDdZ
pswwjqL89JauHfMns3RvnDn2IfLA7JOL3xqbL8bGMU8u1XJDa9vZObCqcKLB
eunJMFlpoGYOPmkNoEHb7ElZ3/jnT/CksX8GbasnaYVnq8zW/AlN1fcwXBJ/
bm4tva+x9AvMybq72NwxfXvhr1VbuKxi+qCv9biYgC7e+AaKVpZg6SOpVwXV
DZp+AAH4NUmcH8QQsmHEaNY19SGSmasOY0BXUt0uEsGDHON0cxLmXaC5sbP1
rk8+C1tW2ziAWb6N2ERKpZX43Y7qt7fVR40/XeMfOribNWl8gcE8bxH6eD3+
XWWdqwjxqzPwhTWF1Zbn5dgyJS1kdakY8fqeNYINLgAMNvvCoOYgUOaaKmx+
bSaNKNlqYqfV+O9r7rzQig/MToYPd+7fPy5x1ppR35wFGfQxpJAD1xdgIVUJ
ot8JgVtYrHCPXYmzaCaeOGIYHQ/UM5C4gGhrRu+V99QWqcO/C+R6v7ANBg0c
g0ZNMdyL/UrrMyxhoVwFBkfBJCAPdyPRaY+sFDUVOPKXRgnMo07E+Vq0focn
xetxtN4G2zQaVRADzT1mBrWxxwhRXEbDBa5B6kK4kYQZIT2JqE5+grXnqCuT
MVgzNXBtrRlb+rjU4ZVyS3r18pkemkf2Kk03HjuWxKWT7Q4SxIP9PxHcdyrW
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
vny5b+ZLVNYVqeiMIoQRD/a++owiLwxBg6x9+/cQ/D4ETg/AtVufhB/Yf32B
Pi+XKEpOLYOdLp94BHX9ADHA3b9IONmgm/7Kg6nHQ+sHhCM+8A9wWOKDLS0d
tFztk2coBIAfE/A//8TV2VxnHP8PP5+pyTW++ThUV0RJtzcfJwTAJ9/qjcZp
DfOn99mfazyVHud/2+O0P1ryyf9+dmt9a2NJzvuHe9cHWzufaTVtBmhmvMdZ
CG00oL59ENpw4/w6aGO7RRthKOZfgjT2PhBp7P2qSGNnwwWjvouCUaa7L8lN
Y2tsfIoUkxiHD/9cKGj5mX3IE1o4zl9jHfn64wR64f+ZOwfLv//tp1/Xddnm
T7bP2V/Fp8fFa7I3P+N89JNAm/EEqtu38jihKrPv5N91x2l9EtzTm47z1+KH
hhp9sVr+7OnfbjrQfMrBIuBHTX9cnd50oOzGK7MnpqqV/7OQA8nPP/98ufT5
FGXE3Y3OhAUjIxLNln6hEmN9HS/kxsb7cLLragvXu/F/FcXtb62Rr0XPfzV5
In/rr7o/JqH/l0nP9zY6UmV+QTTaZxp9L9qicYY57kC9imb8KZ7l/Y3OAulP
8TQ/rFVzDbnSMQ4zpwtOwfz1WDUPNpZWtP/6qeMaN7tjnNZPft5TfbixFELg
136q15K9HeMQQRT+yv9K7vyjjbjIwmeUGzX1OB++KSajX6pu+iHk/nV5/s1s
JDPRa1uj9PtZ8Q9Fw3Rm3zXHkfmkRllgs133k2Xj/FUS9bzxerNxrjOfDxZW
2NzoqtP4V7w1xce4NcvH+WCnubWRAsj5FE/yw+pCjRF376MpT39lmrLvMZ3K
C9Cyj5eaEJDGIHePLm0vncwXyOrpuNT+Ok4or1BeGWTZ+OQl03oAu9tSheLW
wMN9hTDg+fAf81KAjF3BtOZgd6SJKbrFog6RPi+G8iG2Bx4K7PoTiCqnbvD+
nYEWv0Sv1xqH1qtVmVr1ZRYAxGlbTTpHLcr7djmXJpn2u/1EzlxeZ1japqjB
LgnP1KHzJKmorSGYfVr+3YErqwqXLzVZpu3CNVd7o8U+sUtFp+qNF3ZvkCrt
Ctc4A2ldFhf5uH3IDlkw6iITdB8MqGnlHXqySxO8Pwjg6cKZfRdDLlyPsk0q
nSAjtaEqaRIPBgF8XTiJaOk3nAu95+EgiWAXvi82Xm+6+HVJA2Nc04ljz1FK
+cbKu/Ro4AuXO4/qIK4Gv/nVuTmjoOlubQ58jXLHLn/I6fJLSZIofmD4yhB0
0L2Iu7fgDxSMOixVoY7TN6E2Sb5fAnX59jbJva7Wusfw7wnPv8YnBIPP5/zB
dGoBCl4gEnUS65iD4/KAub9N7Ys2UnCxWvphutb4hfa4v4L2SmgXdCZ6APpU
bwFgpmpI6orLqbbPD7QIxFU7aBF2KylWYZao2nPIObKE3RFWQ/QcS3XnvkoO
sF7lji5ZyYTNLVgh6kZt9SHsrNKd3N6Zuuk2V1J+bblrmPH/W37nz5Tf+Vu+
4G/5gl3jfHyjcEtMwjUCG09YLmvLTMCWWFMQPsMOPa55TmlpWFigtSOvXh4c
RoqQwwUAIZOG6LyYaTcbrXQ6rkDiUCGS9qbBATHFX5BPV5JzXlGPC6qbsAbI
49zqBBiHk+vNniDQyaTpHyJIDgOTuu5TBUn+I9Nd6M7f62riIUp3OcGJHzOI
4IkHtdzr75f1FzJINO3fLSonI8ZPKJCM8M6KJ3fExO0IUBsEpxejNU51I6Lp
2rGoaEpOhM4JoSYZATnb3tzMXv7FocozqqHZBoE3vRTgOFfHLMPFs2wpKJwu
VozcG7S2A7SZZXupNXZYN+gNN3v0MuR7nP2HOMIIoMshyLHFRwi1vA1LmpO3
mvIgEWRz0InGWLTvOnXZEkZtuO6K+rTLlFatodcplx5/47x2wzCJeQBkP10t
23Umg/y+a969LGoZQ/ivpPBodz6Co60bRII+59bFOaIVd+8FwzfETUPmE+1/
G7Zp6PH2kGrlGx4SfTN2mxho2Pq5o/3pIHaoSY1u6/naAm5Kl+W7cIm+zLHI
kXjRYy2h1wJ5KsmmUiAezlX70E1w+0wPq35MzV6wKhZJuJddzrBwjOAcEPqr
hp81wwGBagSPazss5iJUYkXdOrHxjFR6BjckZJ9yYS4JyLSDUQ54xfczIHvh
EngqbtHCOJIDI2SxAGYwghkRAp0sYzjDeuYTV2jvWpnwjxmlDh6ZLLnDPMWt
e9m3fqzsRTECsYeLdlNdvhMfZ8I6yeCqWtwNx9mIXePdQRynsUIh3jnJy/Gc
GlEIGlwlBqdUeWMNaTksfUubdEn9wPfb9agMvvMT1dldSaH7kPeq1QO+nLRn
zJDFrR7S/hmSVkycE7xUo7A9ay07Z4BzfQ0vIrJoN2rCDaEhFEwdcTNUt9BS
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
9/8XB81cvjusAwA=

-->

</rfc>
