Skip to content

Commit 1dda447

Browse files
author
ID Bot
committed
Script updating gh-pages from 7fbc1e4. [ci skip]
1 parent 7c262f5 commit 1dda447

3 files changed

Lines changed: 24 additions & 22 deletions

File tree

draft-ietf-plants-merkle-tree-certs.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,7 +1050,7 @@
10501050
</tr></thead>
10511051
<tfoot><tr>
10521052
<td class="left">Benjamin, et al.</td>
1053-
<td class="center">Expires 3 December 2026</td>
1053+
<td class="center">Expires 4 December 2026</td>
10541054
<td class="right">[Page]</td>
10551055
</tr></tfoot>
10561056
</table>
@@ -1063,12 +1063,12 @@
10631063
<dd class="internet-draft">draft-ietf-plants-merkle-tree-certs-latest</dd>
10641064
<dt class="label-published">Published:</dt>
10651065
<dd class="published">
1066-
<time datetime="2026-06-01" class="published">1 June 2026</time>
1066+
<time datetime="2026-06-02" class="published">2 June 2026</time>
10671067
</dd>
10681068
<dt class="label-intended-status">Intended Status:</dt>
10691069
<dd class="intended-status">Standards Track</dd>
10701070
<dt class="label-expires">Expires:</dt>
1071-
<dd class="expires"><time datetime="2026-12-03">3 December 2026</time></dd>
1071+
<dd class="expires"><time datetime="2026-12-04">4 December 2026</time></dd>
10721072
<dt class="label-authors">Authors:</dt>
10731073
<dd class="authors">
10741074
<div class="author">
@@ -1134,7 +1134,7 @@ <h2 id="name-status-of-this-memo">
11341134
time. It is inappropriate to use Internet-Drafts as reference
11351135
material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow">¶</a></p>
11361136
<p id="section-boilerplate.1-4">
1137-
This Internet-Draft will expire on 3 December 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p>
1137+
This Internet-Draft will expire on 4 December 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p>
11381138
</section>
11391139
</div>
11401140
<div id="copyright">
@@ -3478,7 +3478,7 @@ <h4 id="name-selecting-two-subtrees">
34783478
<p id="section-4.5.1-4.2.2.3.1">Let <code>mid</code> be <code>last</code> with the least significant <code>split</code> bits set to zero. <code>mid</code> is the leftmost leaf node in the above divergence point's right branch.<a href="#section-4.5.1-4.2.2.3.1" class="pilcrow">¶</a></p>
34793479
</li>
34803480
<li id="section-4.5.1-4.2.2.4">
3481-
<p id="section-4.5.1-4.2.2.4.1">Within the least significant <code>split</code> bits of <code>left</code>, let <code>b</code> be the bit index of the most significant bit with value zero, if any:<a href="#section-4.5.1-4.2.2.4.1" class="pilcrow">¶</a></p>
3481+
<p id="section-4.5.1-4.2.2.4.1">Within the least significant <code>split</code> bits of <code>start</code>, let <code>b</code> be the bit index of the most significant bit with value zero, if any:<a href="#section-4.5.1-4.2.2.4.1" class="pilcrow">¶</a></p>
34823482
<ol start="1" type="1" class="normal type-1" id="section-4.5.1-4.2.2.4.2">
34833483
<li id="section-4.5.1-4.2.2.4.2.1">
34843484
<p id="section-4.5.1-4.2.2.4.2.1.1">If there is such a bit, let <code>left_split</code> be <code>b + 1</code>.<a href="#section-4.5.1-4.2.2.4.2.1.1" class="pilcrow">¶</a></p>
@@ -3824,7 +3824,7 @@ <h4 id="name-log-entries">
38243824
enum { (2^16-1) } MerkleTreeCertEntryExtensionType;
38253825

38263826
struct {
3827-
ExtensionType extension_type;
3827+
MerkleTreeCertEntryExtensionType extension_type;
38283828
opaque extension_data&lt;0..2^16-1&gt;;
38293829
} MerkleTreeCertEntryExtension;
38303830

@@ -4503,7 +4503,7 @@ <h3 id="name-certificate-format">
45034503
</div>
45044504
<p id="section-6.1-10"><code>extensions</code> MUST contain the log entry's <code>extensions</code> value (<a href="#log-entries" class="auto internal xref">Section 5.2.1</a>).<a href="#section-6.1-10" class="pilcrow">¶</a></p>
45054505
<p id="section-6.1-11"><code>start</code> and <code>end</code> MUST contain the corresponding parameters of the chosen subtree. <code>inclusion_proof</code> MUST contain a subtree inclusion proof (<a href="#subtree-inclusion-proofs" class="auto internal xref">Section 4.3</a>) for the log entry and the subtree. <code>signatures</code> contains the chosen subtree signatures. In each signature, <code>cosigner_id</code> contains the cosigner ID (<a href="#cosigners" class="auto internal xref">Section 5.3</a>) in its binary representation (<span><a href="https://datatracker.ietf.org/doc/html/draft-ietf-tls-trust-anchor-ids-04#section-3" class="relref">Section 3</a> of [<a href="#I-D.ietf-tls-trust-anchor-ids" class="cite xref">I-D.ietf-tls-trust-anchor-ids</a>]</span>), and <code>signature</code> contains the signature value as described in <a href="#signature-format" class="auto internal xref">Section 5.3.1</a>. The <code>timestamp</code> field used when computing the signature MUST be zero.<a href="#section-6.1-11" class="pilcrow">¶</a></p>
4506-
<p id="section-6.1-12">Each element of the <code>signatures</code> field MUST have a unique <code>cosigner_id</code>. Elements MUST be ordered by <code>cosigner_id</code> as follows:<a href="#section-6.1-12" class="pilcrow">¶</a></p>
4506+
<p id="section-6.1-12">Each element of the <code>signatures</code> field MUST have a unique <code>cosigner_id</code>. Elements MUST be ordered by <code>cosigner_id</code> (excluding length prefix) as follows:<a href="#section-6.1-12" class="pilcrow">¶</a></p>
45074507
<ul class="normal">
45084508
<li class="normal" id="section-6.1-13.1">
45094509
<p id="section-6.1-13.1.1">Shorter byte strings are ordered before longer byte strings<a href="#section-6.1-13.1.1" class="pilcrow">¶</a></p>
@@ -4560,7 +4560,7 @@ <h4 id="name-landmark-tree-sizes">
45604560
<a href="#section-6.3.1" class="section-number selfRef">6.3.1. </a><a href="#name-landmark-tree-sizes" class="section-name selfRef">Landmark Tree Sizes</a>
45614561
</h4>
45624562
<p id="section-6.3.1-1">To issue landmark-relative certificates, a CA must additionally maintain a <em>landmark sequence</em>, which is a sequence of <em>landmarks</em>.<a href="#section-6.3.1-1" class="pilcrow">¶</a></p>
4563-
<p id="section-6.3.1-2">Each landmark specifies an agreed tree size, as a common point of reference across the ecosystem for optimizing certificates. Landmarks are numbered consecutively from zero. The first landmark, numbered zero, MUST have a tree size of zero. The sequence of tree sizes MUST be append-only and strictly monotonically increasing.<a href="#section-6.3.1-2" class="pilcrow">¶</a></p>
4563+
<p id="section-6.3.1-2">Each landmark specifies a tree size, used as a common point of reference across the ecosystem for optimizing certificates. Landmarks are numbered consecutively from zero. The first landmark, numbered zero, MUST have a tree size of zero. The sequence of tree sizes MUST be append-only and strictly monotonically increasing.<a href="#section-6.3.1-2" class="pilcrow">¶</a></p>
45644564
<p id="section-6.3.1-3">Landmarks determine <em>landmark subtrees</em>: for each landmark, other than number zero, let <code>tree_size</code> be the landmark's tree size and <code>prev_tree_size</code> be that of the previous landmark. As described in <a href="#arbitrary-intervals" class="auto internal xref">Section 4.5</a>, select the one or two subtrees that cover <code>[prev_tree_size, tree_size)</code>. Each of those subtrees is a landmark subtree. Landmark zero has no landmark subtrees.<a href="#section-6.3.1-3" class="pilcrow">¶</a></p>
45654565
<p id="section-6.3.1-4">As the issuance log grows, CAs continuously allocate new landmarks. This allocation balances minimizing landmark-relative certificate delay with minimizing the size of the relying party's predistributed state. To bound the latter, each CA sets a positive integer <code>max_active_landmarks</code> parameter, which is the maximum number of landmarks that may contain unexpired certificates at any time.<a href="#section-6.3.1-4" class="pilcrow">¶</a></p>
45664566
<p id="section-6.3.1-5">The most recent <code>max_active_landmarks</code> landmarks are said to be <em>active</em>. Landmarks MUST be allocated such that, at any given time, only active landmarks contain unexpired certificates. The active landmark subtrees are those determined by the active landmarks. There are at most <code>2 * max_active_landmarks</code> active landmark subtrees at any time. Every unexpired entry will be contained in one or more landmark subtree, or between the last landmark subtree and the latest checkpoint. Active landmark subtrees are predistributed to the relying party as trusted subtrees, as described in <a href="#trusted-subtrees" class="auto internal xref">Section 7.4</a>.<a href="#section-6.3.1-5" class="pilcrow">¶</a></p>
@@ -5053,7 +5053,7 @@ <h2 id="name-acme-extensions">
50535053
</h2>
50545054
<p id="section-9-1">This section describes how to issue Merkle Tree certificates using ACME <span>[<a href="#RFC8555" class="cite xref">RFC8555</a>]</span>.<a href="#section-9-1" class="pilcrow">¶</a></p>
50555055
<p id="section-9-2">When downloading the certificate (<span><a href="https://rfc-editor.org/rfc/rfc8555#section-7.4.2" class="relref">Section 7.4.2</a> of [<a href="#RFC8555" class="cite xref">RFC8555</a>]</span>), ACME clients supporting Merkle Tree certificates SHOULD send "application/pem-certificate-chain-with-properties" in their Accept header (<span><a href="https://rfc-editor.org/rfc/rfc9110#section-12.5.1" class="relref">Section 12.5.1</a> of [<a href="#RFC9110" class="cite xref">RFC9110</a>]</span>). ACME servers issuing Merkle Tree certificates SHOULD then respond with that content type and include trust anchor ID information as described in <span><a href="https://datatracker.ietf.org/doc/html/draft-ietf-tls-trust-anchor-ids-04#section-7" class="relref">Section 7</a> of [<a href="#I-D.ietf-tls-trust-anchor-ids" class="cite xref">I-D.ietf-tls-trust-anchor-ids</a>]</span>. <a href="#use-in-tls" class="auto internal xref">Section 8</a> decribes the trust anchor ID assignments for standalone and landmark-relative certificates.<a href="#section-9-2" class="pilcrow">¶</a></p>
5056-
<p id="section-9-3">When processing an order for a Merkle Tree certificate, the ACME server moves the order to the "valid" state once the corresponding entry is sequenced in the issuance log. The order's certificate URL then serves the standalone certificate, constructed as described in <a href="#standalone-certificates" class="auto internal xref">Section 6.2</a>.<a href="#section-9-3" class="pilcrow">¶</a></p>
5056+
<p id="section-9-3">When processing an order for a Merkle Tree certificate, the ACME server moves the order to the "valid" state after the corresponding entry is sequenced in the issuance log, cosignatures are collected, and the standalone certificate is available. The order's certificate URL then serves the standalone certificate, constructed as described in <a href="#standalone-certificates" class="auto internal xref">Section 6.2</a>.<a href="#section-9-3" class="pilcrow">¶</a></p>
50575057
<p id="section-9-4">The standalone certificate response SHOULD additionally carry an alternate URL for the landmark-relative certificate, as described <span><a href="https://rfc-editor.org/rfc/rfc8555#section-7.4.2" class="relref">Section 7.4.2</a> of [<a href="#RFC8555" class="cite xref">RFC8555</a>]</span>. Before the landmark-relative certificate is available, the alternate URL SHOULD return a HTTP 503 (Service Unavailable) response, with a Retry-After header (<span><a href="https://rfc-editor.org/rfc/rfc9110#section-10.2.3" class="relref">Section 10.2.3</a> of [<a href="#RFC9110" class="cite xref">RFC9110</a>]</span>) estimating when the certificate will become available. Once the next landmark is allocated, the ACME server constructs a landmark-relative certificate, as described in <a href="#landmark-relative-certificates" class="auto internal xref">Section 6.3</a> and serves it from the alternate URL.<a href="#section-9-4" class="pilcrow">¶</a></p>
50585058
<p id="section-9-5">ACME clients supporting Merkle Tree certificates SHOULD support fetching alternate chains. If an alternate chain returns an HTTP 503 with a Retry-After header, as described above, the client SHOULD retry the request at the specified time.<a href="#section-9-5" class="pilcrow">¶</a></p>
50595059
</section>

draft-ietf-plants-merkle-tree-certs.txt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
PKI, Logs, And Tree Signatures D. Benjamin
66
Internet-Draft Google LLC
77
Intended status: Standards Track D. O'Brien
8-
Expires: 3 December 2026 Apple Inc.
8+
Expires: 4 December 2026 Apple Inc.
99
B. E. Westerbaan
1010
L. Valenta
1111
Cloudflare
1212
F. Valsorda
1313
Geomys
14-
1 June 2026
14+
2 June 2026
1515

1616

1717
Merkle Tree Certificates
@@ -63,7 +63,7 @@ Status of This Memo
6363
time. It is inappropriate to use Internet-Drafts as reference
6464
material or to cite them other than as "work in progress."
6565

66-
This Internet-Draft will expire on 3 December 2026.
66+
This Internet-Draft will expire on 4 December 2026.
6767

6868
Copyright Notice
6969

@@ -1043,8 +1043,8 @@ Table of Contents
10431043
zero. mid is the leftmost leaf node in the above divergence
10441044
point's right branch.
10451045

1046-
4. Within the least significant split bits of left, let b be the
1047-
bit index of the most significant bit with value zero, if
1046+
4. Within the least significant split bits of start, let b be
1047+
the bit index of the most significant bit with value zero, if
10481048
any:
10491049

10501050
1. If there is such a bit, let left_split be b + 1.
@@ -1241,7 +1241,7 @@ Table of Contents
12411241
enum { (2^16-1) } MerkleTreeCertEntryExtensionType;
12421242

12431243
struct {
1244-
ExtensionType extension_type;
1244+
MerkleTreeCertEntryExtensionType extension_type;
12451245
opaque extension_data<0..2^16-1>;
12461246
} MerkleTreeCertEntryExtension;
12471247

@@ -1848,7 +1848,8 @@ Table of Contents
18481848
timestamp field used when computing the signature MUST be zero.
18491849

18501850
Each element of the signatures field MUST have a unique cosigner_id.
1851-
Elements MUST be ordered by cosigner_id as follows:
1851+
Elements MUST be ordered by cosigner_id (excluding length prefix) as
1852+
follows:
18521853

18531854
* Shorter byte strings are ordered before longer byte strings
18541855

@@ -1938,7 +1939,7 @@ Table of Contents
19381939
To issue landmark-relative certificates, a CA must additionally
19391940
maintain a _landmark sequence_, which is a sequence of _landmarks_.
19401941

1941-
Each landmark specifies an agreed tree size, as a common point of
1942+
Each landmark specifies a tree size, used as a common point of
19421943
reference across the ecosystem for optimizing certificates.
19431944
Landmarks are numbered consecutively from zero. The first landmark,
19441945
numbered zero, MUST have a tree size of zero. The sequence of tree
@@ -2634,10 +2635,11 @@ Table of Contents
26342635
ID assignments for standalone and landmark-relative certificates.
26352636

26362637
When processing an order for a Merkle Tree certificate, the ACME
2637-
server moves the order to the "valid" state once the corresponding
2638-
entry is sequenced in the issuance log. The order's certificate URL
2639-
then serves the standalone certificate, constructed as described in
2640-
Section 6.2.
2638+
server moves the order to the "valid" state after the corresponding
2639+
entry is sequenced in the issuance log, cosignatures are collected,
2640+
and the standalone certificate is available. The order's certificate
2641+
URL then serves the standalone certificate, constructed as described
2642+
in Section 6.2.
26412643

26422644
The standalone certificate response SHOULD additionally carry an
26432645
alternate URL for the landmark-relative certificate, as described

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ <h2>Preview for branch <a href="misc-fixes">misc-fixes</a></h2>
388388
<tr>
389389
<td><a href="misc-fixes/draft-ietf-plants-merkle-tree-certs.html" class="html draft-ietf-plants-merkle-tree-certs" title="Merkle Tree Certificates (HTML)">Merkle Tree Certificates</a></td>
390390
<td><a href="misc-fixes/draft-ietf-plants-merkle-tree-certs.txt" class="txt draft-ietf-plants-merkle-tree-certs" title="Merkle Tree Certificates (Text)">plain text</a></td>
391-
<td><a href="https://author-tools.ietf.org/api/iddiff?url_1=https://ietf-plants-wg.github.io/merkle-tree-certs/draft-ietf-plants-merkle-tree-certs.txt&amp;url_2=https://ietf-plants-wg.github.io/merkle-tree-certs/misc-fixes/draft-ietf-plants-merkle-tree-certs.txt" class="diff draft-ietf-plants-merkle-tree-certs">diff with main</a></td>
391+
<td>same as main</td>
392392
</tr>
393393
</table>
394394
<h2>Preview for branch <a href="acme-updatable-orders">acme-updatable-orders</a></h2>

0 commit comments

Comments
 (0)