Skip to content

Commit 83a5b5c

Browse files
rolandshoemakerezz-no
authored andcommitted
doc: add crypto/tls and crypto/x509 release notes
Updates golang#61422 Change-Id: If561f701882396f8e28e2fc3fa9c76c7169f752e Reviewed-on: https://go-review.googlesource.com/c/go/+/548975 Reviewed-by: Filippo Valsorda <[email protected]> Reviewed-by: Damien Neil <[email protected]> Auto-Submit: Roland Shoemaker <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
1 parent 0d7ee0e commit 83a5b5c

File tree

1 file changed

+26
-34
lines changed

1 file changed

+26
-34
lines changed

doc/go1.22.html

+26-34
Original file line numberDiff line numberDiff line change
@@ -363,56 +363,48 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
363363

364364
<dl id="crypto/tls"><dt><a href="/pkg/crypto/tls/">crypto/tls</a></dt>
365365
<dd>
366-
<p><!-- https://go.dev/issue/43922 -->
367-
TODO: <a href="https://go.dev/issue/43922">https://go.dev/issue/43922</a>: implement RFC7627
366+
<p><!-- https://go.dev/issue/43922, CL 544155 -->
367+
<a href="/pkg/crypto/tls#ConnectionState.ExportKeyingMaterial"><code>ConnectionState.ExportKeyingMaterial</code></a> will now
368+
return an error unless TLS 1.3 is in use, or the <code>extended_master_secret</code> extension is supported by both the server and
369+
client. <code>crypto/tls</code> has supported this extension since Go 1.20. This can be disabled with the
370+
<code>tlsunsafeekm=1</code> GODEBUG setting.
368371
</p>
369372

370-
<p><!-- https://go.dev/issue/62459 -->
371-
TODO: <a href="https://go.dev/issue/62459">https://go.dev/issue/62459</a>: make default minimum version for servers TLS 1.2
373+
<p><!-- https://go.dev/issue/62459, CL 541516 -->
374+
By default, the minimum version offered by <code>crypto/tls</code> servers is now TLS 1.2 if not specified with
375+
<a href="/pkg/crypto/tls#Config.MinimumVersion"><code>config.MinimumVersion</code></a>, matching the behavior of <code>crypto/tls</code>
376+
clients. This change can be reverted with the <code>tls10server=1</code> GODEBUG setting.
372377
</p>
373378

374-
<p><!-- https://go.dev/issue/63413 -->
375-
TODO: <a href="https://go.dev/issue/63413">https://go.dev/issue/63413</a>: disable RSA key exchange cipher suites by default
376-
</p>
377-
378-
<p><!-- CL 514997 -->
379-
TODO: <a href="https://go.dev/cl/514997">https://go.dev/cl/514997</a>: crypto/tls: change SendSessionTicket to take an options struct; modified api/go1.21.txt
380-
</p>
381-
382-
<p><!-- CL 541516 -->
383-
TODO: <a href="https://go.dev/cl/541516">https://go.dev/cl/541516</a>: crypto/tls: change default minimum version to 1.2
384-
</p>
385-
386-
<p><!-- CL 541517 -->
387-
TODO: <a href="https://go.dev/cl/541517">https://go.dev/cl/541517</a>: crypto/tls: remove RSA KEX ciphers from the default list
388-
</p>
389-
390-
<p><!-- CL 544155 -->
391-
TODO: <a href="https://go.dev/cl/544155">https://go.dev/cl/544155</a>: crypto/tls: disable ExportKeyingMaterial without EMS
379+
<p><!-- https://go.dev/issue/63413, CL 541517 -->
380+
By default, cipher suites without ECDHE support are no longer offered by either clients or servers during pre-TLS 1.3
381+
handshakes. This change can be reverted with the <code>tlsrsakex=1</code> GODEBUG setting.
392382
</p>
393383
</dd>
394384
</dl><!-- crypto/tls -->
395385

396386
<dl id="crypto/x509"><dt><a href="/pkg/crypto/x509/">crypto/x509</a></dt>
397387
<dd>
398388
<p><!-- https://go.dev/issue/57178 -->
399-
TODO: <a href="https://go.dev/issue/57178">https://go.dev/issue/57178</a>: support code-constrained roots
389+
The new <a href="/pkg/crypto/x509#CertPool.AddCertWithConstraint"><code>CertPool.AddCertWithConstraint</code></a>
390+
method can be used to add customized constraints to root certificates to be applied during chain building.
400391
</p>
401392

402-
<p><!-- https://go.dev/issue/58922 -->
403-
TODO: <a href="https://go.dev/issue/58922">https://go.dev/issue/58922</a>: add android user trusted CA folder as a possible source for certificate retrieval
393+
<p><!-- https://go.dev/issue/58922, CL 519315-->
394+
On Android, root certificates will now be loaded from <code>/data/misc/keychain/certs-added</code> as well as <code>/system/etc/security/cacerts</code>.
404395
</p>
405396

406-
<p><!-- https://go.dev/issue/60665 -->
407-
TODO: <a href="https://go.dev/issue/60665">https://go.dev/issue/60665</a>: introduce new robust OID type &amp; use it for certificate policies
408-
</p>
409-
410-
<p><!-- CL 519315 -->
411-
TODO: <a href="https://go.dev/cl/519315">https://go.dev/cl/519315</a>: crypto/x509: implement AddCertWithConstraint; modified api/next/57178.txt
412-
</p>
397+
<p><!-- https://go.dev/issue/60665, CL 520535 -->
398+
A new type, <a href="/pkg/crypto/x509#OID"><code>OID</code></a>, supports ASN.1 Object Identifiers with individual
399+
components larger than 31 bits. A new field which uses this type, <a href="/pkg/crypto/x509#Certificate.Policies"><code>Policies</code></a>,
400+
is added to the <code>Certificate</code> struct, and is now populated during parsing. Any OIDs which cannot be represented
401+
using a <a href="/pkg/encoding/asn1#ObjectIdentifier"><code>asn1.ObjectIdentifier</code></a> will appear in <code>Policies</code>,
402+
but not in the old <code>PolicyIdentifiers</code> field.
413403

414-
<p><!-- CL 520535 -->
415-
TODO: <a href="https://go.dev/cl/520535">https://go.dev/cl/520535</a>: crypto/x509: add new OID type and use it in Certificate; modified api/next/60665.txt
404+
When calling <a href="/pkg/crypto/x509#CreateCertificate"><code>CreateCertificate</code></a>, the <code>Policies</code> field is ignored, and
405+
policies are taken from the <code>PolicyIdentifiers</code> field. Using the <code>x509usepolicies=1</code> GODEBUG setting inverts this,
406+
populating certificate policies from the <code>Policies</code> field, and ignoring the <code>PolicyIdentifiers</code> field. We may change the
407+
default value of <code>x509usepolicies</code> in Go 1.23, making <code>Policies</code> the default field for marshaling.
416408
</p>
417409
</dd>
418410
</dl><!-- crypto/x509 -->

0 commit comments

Comments
 (0)