<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-santesson-one-signature-certs-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="OSC">One Signature Certificates</title>
    <seriesInfo name="Internet-Draft" value="draft-santesson-one-signature-certs-00"/>
    <author initials="S." surname="Santesson" fullname="Stefan Santesson">
      <organization abbrev="IDsec Solutions">IDsec Solutions AB</organization>
      <address>
        <postal>
          <street>Forskningsbyn Ideon</street>
          <city>Lund</city>
          <code>223 70</code>
          <country>SE</country>
        </postal>
        <email>sts@aaa-sec.com</email>
      </address>
    </author>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <postal>
          <city>Herndon, VA</city>
          <country>US</country>
        </postal>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="11"/>
    <area>Security</area>
    <workgroup>LAMPS</workgroup>
    <keyword>certificate</keyword>
    <keyword>signature</keyword>
    <keyword>X.509</keyword>
    <abstract>
      <?line 110?>

<t>This document defines a profile for certificates that are issued for validation of the digital signature produced by a single signing operation. Each certificate is created at the time of signing and bound to the signed content. The associated signing key is generated, used to produce a single digital signature, and then immediately destroyed. The certificate never expires and is never revoked, which simplifies long-term validation.</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-santesson-one-signature-certs/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/Razumain/one-signature-certs"/>.</t>
    </note>
  </front>
  <middle>
    <?line 114?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The landscape of server-based signing services has changed over the decades. Recently, one type of signature service has gained favor, where the signing private key and the signing certificate are created for each digital signature, rather than re-using a static key and certificate over an extended time period.</t>
      <t>Some reasons why this type of signature services has been successful are:</t>
      <ul spacing="normal">
        <li>
          <t>The certificate will always have a predictable validity time from the time of signing;</t>
        </li>
        <li>
          <t>The time of signing is guaranteed by the certificate issue date;</t>
        </li>
        <li>
          <t>The identity information in the certificate can be adapted to the signing context;</t>
        </li>
        <li>
          <t>Revocation of signing certificates is practically non-existent despite many years of operation and millions of signatures; and</t>
        </li>
        <li>
          <t>The signature service holds no pre-stored user keys or certificates.</t>
        </li>
      </ul>
      <t>While this type of signature service solves many problems, it still suffers from the complexity caused by expiring signing certificates. One solution to this problem is the Signature Validation Token (SVT) <xref target="RFC9321"/>, where future validation can rely on a previous successful validation rather than validation based on aging data.</t>
      <t>This document takes this one step further and allows validation at any time in the future as long as trust in the CA certificate can be established.</t>
      <section anchor="basic-features">
        <name>Basic features</name>
        <t>One signature certificates have the following common characteristics:</t>
        <ul spacing="normal">
          <li>
            <t>They never expire;</t>
          </li>
          <li>
            <t>They are never revoked;</t>
          </li>
          <li>
            <t>They are bound to a specific document content; and</t>
          </li>
          <li>
            <t>They assert that the corresponding private key was destroyed immediately after signing.</t>
          </li>
        </ul>
        <section anchor="revocation">
          <name>Revocation</name>
          <t>Traditional certificates that are re-used over time have many legitimate reasons for revocation, such as if the private key is lost or compromised. This can lead to large volumes of revocation data.</t>
          <t>The fact that the same key is used many times exposes the key for the risks of loss, unauthorized usage, or theft. When many objects are signed with the same private key, the risk of exposure and the number of affected signed documents upon revocation increases, unless properly timestamped and properly verified.</t>
          <t>When a signing key is used only once, that risk of exposure is greatly reduced, and it has been shown that most usages of dedicated private keys and certificates no longer require revocation.</t>
          <t>The CA can readily attest that a certain procedure was followed when the certificate was issued. As a matter of policy, the certificate itself is an attestation that the CP and CPS <xref target="RFC3647"/> were followed successfully when the signature was created. Certificates issued according to this profile therefore only attest to the validity at the time of issuance and signing, rather than a retroactive state at the time of validation. This profile is intended for those applications where this declaration of validity is relevant and useful.</t>
          <t>Applications that require traditional revocation checking that provides the state at the time of validation <bcp14>MUST NOT</bcp14> use this profile.</t>
          <t>An example usage where this is useful is in services where the signed document is stored as an internal evidence record, such as when a Tax agency allows citizens to sign their tax declarations. This record is then pulled out and used only in case of a dispute where the identified signer challenges the signature. A revocation service is less likely to contribute to this process. If the challenge is successful, the signed document will be removed without affecting any other signed documents in the archive.</t>
        </section>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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?>

</section>
    <section anchor="certificate-content">
      <name>Certificate content</name>
      <t>Conforming certificates <bcp14>SHALL</bcp14> meet all requirements of this section.</t>
      <t>Certificates <bcp14>MUST</bcp14> indicate that a certificate has no well-defined expiration date by setting the notAfter field to the GeneralizedTime value 99991231235959Z, as defined in <xref target="RFC5280"/>.</t>
      <t>Certificates <bcp14>MUST</bcp14> include the id-ce-noRevAvail extension in compliance with <xref target="RFC9608"/>, indicating that this certificate is not supported by any revocation mechanism.</t>
      <t>Certificates <bcp14>MUST</bcp14> include the signedDocumentBinding extension, binding the certificate to a specific signed content.</t>
      <section anchor="the-signeddocumentbinding-extension">
        <name>The signedDocumentBinding extension</name>
        <t>The signedDocumentBinding extension binds a certificate to a specific signed content. When present, conforming CAs <bcp14>SHOULD</bcp14> mark this extension as non-critical.</t>
        <artwork><![CDATA[
name           id-pe-signedDocumentBinding
OID            { id-pe TBD }
syntax         SignedDocumentBinding
criticality    SHOULD be FALSE

SignedDocumentBinding ::= SEQUENCE {
dataTbsHash     OCTET STRING,
hashAlg         DigestAlgorithmIdentifier,
bindingType     UTF8String OPTIONAL }
]]></artwork>
        <t>The dataTbsHash field <bcp14>MUST</bcp14> contain a hash of the data to be signed.</t>
        <t>The hashAlg field <bcp14>MUST</bcp14> contain the AlgorithmIdentifier of the hash algorithm used to generate the dataTbsHash value.</t>
        <t>The bindingType field <bcp14>MAY</bcp14> contain an identifier that specifies how the data to be signed is derived from the digital object to be signed.</t>
      </section>
      <section anchor="defined-bindingtype-identifiers">
        <name>Defined bindingType identifiers</name>
        <t>The bindingType field defines how the data to be signed (dataTbsHash) is derived from the signed document.
This field identifies a deterministic procedure for selecting the portion of the signed content that is included in the hash computation.
When the field is omitted, the rules for the default binding type apply.</t>
        <t>The purpose of the dataTbsHash value is to bind the certificate to the document being signed, not to protect the document’s integrity.
The integrity of the signed content is provided by the signature itself.
If any byte of the signed document is modified, the calculated hash will no longer match the certificate.
Therefore, the dataTbsHash enables validators and relying parties to confirm that the certificate was issued for the exact content that was signed.</t>
        <t>Validators <bcp14>SHOULD</bcp14> verify that the signed document matches the certificate’s binding information.
This verification is not required for the signature to validate successfully but provides an additional safeguard against misuse or substitution of certificates.</t>
        <t>This document defines a set of bindingType identifiers. Additional bindingType identifiers <bcp14>MAY</bcp14> be defined by future specifications.</t>
        <section anchor="default-binding">
          <name>Default Binding</name>
          <t>When the bindingType is absent, the default binding applies.
In this case, the dataTbsHash value is the hash of the exact data that is hashed and signed by the signature format in use.</t>
          <t>Examples include:
- For XML Signatures <xref target="XMLDSIG11"/>, the hash of the SignedInfo element.
- For CMS Signatures <xref target="RFC5652"/>, the DER-encoded SignedAttributes structure.
- For other formats, the data structure input directly to the signature algorithm.</t>
          <t>This bindingType <bcp14>MUST NOT</bcp14> be used when the data to be signed includes either the signer certificate itself or a hash of the signer certificate. This includes JWS and COSE signed documents that can include signer certificates in the protected header. JWS signatures <xref target="RFC7515"/> <bcp14>MUST</bcp14> use the "jws" bindingType and COSE signatures <xref target="RFC8152"/> <bcp14>MUST</bcp14> use the "cose" binding type.</t>
        </section>
        <section anchor="cades-binding">
          <name>CAdES Binding</name>
          <t>Identifier: "cades"</t>
          <t>For CMS <xref target="RFC5652"/> or ETSI CAdES <xref target="CADES"/> signatures incorporating SigningCertificate or SigningCertificateV2 attributes <xref target="RFC5035"/> in signedAttrs,
the dataTbsHash value is computed over the DER encoding of SignerInfo excluding any instances of SigningCertificate or SigningCertificateV2 attributes from the SignedAttributes set.</t>
          <t>This bindingType also applies to PDF <xref target="ISOPDF2"/> and ETSI PAdES <xref target="PADES"/> signed documents when applicable due to its use of CMS for signing.</t>
        </section>
        <section anchor="xades-binding">
          <name>XAdES Binding</name>
          <t>Identifier: "xades"</t>
          <t>For ETSI XML Advanced Electronic Signatures <xref target="XADES"/>, the dataTbsHash value is computed over the canonicalized SignedInfo element,
with any Reference elements whose Type attribute equals "http://uri.etsi.org/01903#SignedProperties" removed prior to hashing.
This ensures that the SignedProperties element, which may contain references to the signing certificate, does not create a circular dependency. Extraction of the Reference element <bcp14>MUST</bcp14> be done by removing only the characters from the leading &lt;Reference&gt; tag up to and including the ending &lt;/Reference&gt; tag, preserving all other bytes of SignedInfo unchanged, including any white space or line feeds.</t>
          <t>Note: This operation is purely textual and does not require XML parsing beyond locating the tag boundaries.</t>
        </section>
        <section anchor="jws-binding">
          <name>JWS Binding</name>
          <t>Identifier: "jws"</t>
          <t>For JSON Web Signatures (JWS) <xref target="RFC7515"/>, the dataTbsHash value is computed over the payload only.
The protected header and any unprotected header parameters <bcp14>MUST NOT</bcp14> be included in the hash calculation.</t>
          <t>This exclusion avoids circular dependencies where certificate data may appear in the protected header.</t>
        </section>
        <section anchor="cose-binding">
          <name>COSE Binding</name>
          <t>Identifier: "cose"</t>
          <t>For COSE signatures <xref target="RFC8152"/>, the dataTbsHash value is computed over the payload only.
The protected header and any unprotected header parameters <bcp14>MUST NOT</bcp14> be included in the hash calculation.</t>
          <t>This exclusion avoids circular dependencies where certificate data may appear in the protected header.</t>
        </section>
      </section>
    </section>
    <section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode markers="true"><![CDATA[
   SignedDocumentBindingExtn
     { iso(1) identified-organization(3) dod(6) internet(1)
       security(5) mechanisms(5) pkix(7) id-mod(0)
       id-mod-signedDocumentBinding(TBD) }

   DEFINITIONS IMPLICIT TAGS ::=
   BEGIN

   IMPORTS
     EXTENSION, id-pkix, id-pe
     FROM PKIX-CommonTypes-2009  -- RFC 5912
       { iso(1) identified-organization(3) dod(6) internet(1)
         security(5) mechanisms(5) pkix(7) id-mod(0)
         id-mod-pkixCommon-02(57) }

     DigestAlgorithmIdentifier
     FROM CryptographicMessageSyntax-2010 -- RFC 6268
       { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
         pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) } ;

   -- signedDocumentBinding Certificate Extension

   ext-SignedDocumentBinding EXTENSION ::= {
     SYNTAX SignedDocumentBinding
     IDENTIFIED BY id-pe-signedDocumentBinding }

   SignedDocumentBinding ::= SEQUENCE {
     dataTbsHash     OCTET STRING,
     hashAlg         DigestAlgorithmIdentifier,
     bindingType     UTF8String OPTIONAL }

   -- signedDocumentBinding Certificate Extension OID

   id-pe-signedDocumentBinding OBJECT IDENTIFIER ::= { id-pe TBD }

   END
 ]]></sourcecode>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security Considerations. Including text on reliance on certificates without revocation.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD IANA registry for bindingType identifiers</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC3647">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework</title>
            <author fullname="S. Chokhani" initials="S." surname="Chokhani"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="R. Sabett" initials="R." surname="Sabett"/>
            <author fullname="C. Merrill" initials="C." surname="Merrill"/>
            <author fullname="S. Wu" initials="S." surname="Wu"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents a framework to assist the writers of certificate policies or certification practice statements for participants within public key infrastructures, such as certification authorities, policy authorities, and communities of interest that wish to rely on certificates. In particular, the framework provides a comprehensive list of topics that potentially (at the writer's discretion) need to be covered in a certificate policy or a certification practice statement. This document supersedes RFC 2527.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3647"/>
          <seriesInfo name="DOI" value="10.17487/RFC3647"/>
        </reference>
        <reference anchor="RFC5035">
          <front>
            <title>Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>In the original Enhanced Security Services for S/MIME document (RFC 2634), a structure for cryptographically linking the certificate to be used in validation with the signature was introduced; this structure was hardwired to use SHA-1. This document allows for the structure to have algorithm agility and defines a new attribute for this purpose. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5035"/>
          <seriesInfo name="DOI" value="10.17487/RFC5035"/>
        </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="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="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="RFC8152">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need for the ability to have basic security services defined 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>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8152"/>
          <seriesInfo name="DOI" value="10.17487/RFC8152"/>
        </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="RFC9608">
          <front>
            <title>No Revocation Available for X.509 Public Key Certificates</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Okubo" initials="T." surname="Okubo"/>
            <author fullname="J. Mandel" initials="J." surname="Mandel"/>
            <date month="June" year="2024"/>
            <abstract>
              <t>X.509v3 public key certificates are profiled in RFC 5280. Short-lived certificates are seeing greater use in the Internet. The Certification Authority (CA) that issues these short-lived certificates do not publish revocation information because the certificate lifespan that is shorter than the time needed to detect, report, and distribute revocation information. Some long-lived X.509v3 public key certificates never expire, and they are never revoked. This specification defines the noRevAvail certificate extension so that a relying party can readily determine that the CA does not publish revocation information for the certificate, and it updates the certification path validation algorithm defined in RFC 5280 so that revocation checking is skipped when the noRevAvail certificate extension is present.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9608"/>
          <seriesInfo name="DOI" value="10.17487/RFC9608"/>
        </reference>
        <reference anchor="XMLDSIG11">
          <front>
            <title>XML Signature Syntax and Processing Version 1.1</title>
            <author initials="D." surname="Eastlake" fullname="Donald Eastlake">
              <organization/>
            </author>
            <author initials="J." surname="Reagle" fullname="Joseph Reagle">
              <organization/>
            </author>
            <author initials="D." surname="Solo" fullname="David Solo">
              <organization/>
            </author>
            <author initials="F." surname="Hirsch" fullname="Frederick Hirsch">
              <organization/>
            </author>
            <author initials="M." surname="Nystrom" fullname="Magnus Nystrom">
              <organization/>
            </author>
            <author initials="T." surname="Roessler" fullname="Thomas Roessler">
              <organization/>
            </author>
            <author initials="K." surname="Yiu" fullname="Kelvin Yiu">
              <organization/>
            </author>
            <date year="2013" month="April" day="11"/>
          </front>
          <seriesInfo name="W3C" value="Proposed Recommendation"/>
        </reference>
        <reference anchor="ISOPDF2">
          <front>
            <title>Document management -- Portable document format -- Part 2: PDF 2.0</title>
            <author>
              <organization>ISO</organization>
            </author>
            <date year="2017" month="July"/>
          </front>
          <seriesInfo name="ISO" value="32000-2"/>
        </reference>
        <reference anchor="XADES">
          <front>
            <title>Electronic Signatures and Infrastructures (ESI); XAdES digital signatures; Part 1: Building blocks and XAdES baseline signatures</title>
            <author>
              <organization>ETSI</organization>
            </author>
            <date year="2024" month="July"/>
          </front>
          <seriesInfo name="ETSI" value="EN 319 132-1 v1.3.1"/>
        </reference>
        <reference anchor="PADES">
          <front>
            <title>Electronic Signatures and Infrastructures (ESI); PAdES digital signatures; Part 1: Building blocks and PAdES baseline signatures</title>
            <author>
              <organization>ETSI</organization>
            </author>
            <date year="2024" month="January"/>
          </front>
          <seriesInfo name="ETSI" value="EN 319 142-1 v1.2.1"/>
        </reference>
        <reference anchor="CADES">
          <front>
            <title>Electronic Signatures and Infrastructures (ESI); CAdES digital signatures; Part 1: Building blocks and CAdES baseline signatures</title>
            <author>
              <organization>ETSI</organization>
            </author>
            <date year="2021" month="October"/>
          </front>
          <seriesInfo name="ETSI" value="EN 319 122-1 v1.2.1"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9321">
          <front>
            <title>Signature Validation Token</title>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>Electronic signatures have a limited lifespan with respect to the time period that they can be validated and determined to be authentic. The Signature Validation Token (SVT) defined in this specification provides evidence that asserts the validity of an electronic signature. The SVT is provided by a trusted authority, which asserts that a particular signature was successfully validated according to defined procedures at a certain time. Any future validation of that electronic signature can be satisfied by validating the SVT without any need to also validate the original electronic signature or the associated digital certificates. The SVT supports electronic signatures in Cryptographic Message Syntax (CMS), XML, PDF, and JSON documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9321"/>
          <seriesInfo name="DOI" value="10.17487/RFC9321"/>
        </reference>
      </references>
    </references>
    <?line 325?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1b65IaR5b+z1PkooiJ7o0GAa2W1C2PZxDQNrL6sg3WZTf2
R1KVQE4XVUxlFS2sUMS+xvybZ9lH2SfZ75zMrAvQku31zyVkCypv536+c7LU
arUamc4idSGaN7ESE72IZZanSgxUmum5DmSmTLMhZ7NUbWjSZNBs6HWKr1ma
m6zX6Zx3es0GzVsk6fZCmCxsNMIkiOUKu4apnGctI2NsY5K4lcSqZfwhrQCH
mFan0zD5bKWN0UmcbddYNh5NL4V4ImRkEhyl41CtFf4XZ80T0VShzpJUy4h+
jPuv8VeS4tvd9LLZCEHJheh1emetbhd/GkESGxWb3FwIkKwaYOO0IVMlL8RE
BXmqs23jYXEh3vavbieNe7V9SNLwoiFaIihlQD8LuunHh/ZZ57yxUXGuMFcs
dLbMZyD1Tv6Sr6SOnx7gtNloyDxbJimtaOE/IXQMsiZtMfES4qdWdpNMzWW8
M5SkIHU8NCoQkyTKM4jMiP5rHvNa2hnmMZOlSmUX4jJJzX2s44WZbWMxDpXb
N4AYIIM8Du3PJCSb6PVOxYtO0z3K44w0PBnxbwU2I9K3+auUsoUj20GyKjiz
PNzlxogfk9xEalsyfNeuPWOe3umFjgqNnIi3bwc1purjFZp/VGkcJvGJeNev
0/nzpErn0h741w3t44ltxEm6kpnesBLvLge9bvfcfT19/uyF+3rWOT3zX3sv
O/7r87Oe+/rirOsnvOwWT192XzxzX8+fd17S1w9Xb4eT8Q/d7gXT5n0Pjyu+
N9nGmfwkZByK2zQJoHzoS7xTKTmI6La7ViGlLdGn5f52Ih62xUiaLJL3qhiw
KhkmsYzC3dGd5W/a4k7JRbS7+E1i1HpZH9s/GaaX7J4qNzqsDuysuoRJ6NQE
y511l6kKVaqD+/rwzuqrtrjewsTZ/qrLr+Qizs3O4M7iKXhNIORIpTurp8tk
Jc3u6M7yn9rio853Vv6koo2OiwEflLqnrc4zCkr00IAvBdXOE6/D5vvTQRPm
AK2vIegQcoaVrhD5JHkyqX08ubkdXvbq5jNMghyzMrGSsVwo/tpqidskzeQs
UiL043M2dx6TaSZ6FwKbiV67c8iibKiZ3NQ5eNHqvHiMfEwm8k+RFTqtHu35
oT8cTerEjiIVQBmxDkqTN2zs43iewirTPLDPjkaT8fEr7BGOJiKE32YyKqOw
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
wr6Lo8I/N+cAw6r5xXEli5koBv8XqoQBWdA2AAA=

-->

</rfc>
