<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openssl/doc/man3, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>TLS/SSL and crypto library.</subtitle>
<id>http://git.bktus.com/gpgfrontend/openssl/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/openssl/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/'/>
<updated>2026-07-24T13:13:02Z</updated>
<entry>
<title>Update SSL_CTX_set1_curves.pod for OpenSSL 3.5 additions</title>
<updated>2026-07-24T13:13:02Z</updated>
<author>
<name>Brady Foster</name>
<email>209960252+bef15703@users.noreply.github.com</email>
</author>
<published>2026-07-20T02:44:18Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=971b8d060e52499d6ffd2f9ca697fe23f72a629a'/>
<id>urn:sha1:971b8d060e52499d6ffd2f9ca697fe23f72a629a</id>
<content type='text'>
Added documentation of the addition of group tuples in openSSL 3.5
in HISTORY section of SSL_CTX_set1_curves.pod.

CLA: trivial

Reviewed-by: Viktor Dukhovni &lt;viktor@openssl.org&gt;
Reviewed-by: Nikola Pajkovsky &lt;nikolap@openssl.org&gt;
MergeDate: Fri Jul 24 13:13:26 2026
(Merged from https://github.com/openssl/openssl/pull/32007)
</content>
</entry>
<entry>
<title>doc: document that `HMAC_Update` cannot be called after `HMAC_Final`</title>
<updated>2026-07-23T08:33:15Z</updated>
<author>
<name>Nicky Mouha</name>
<email>nmouha@users.noreply.github.com</email>
</author>
<published>2026-06-17T20:18:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=0723430177b6dc5a5c7adc72af843a29ef05080b'/>
<id>urn:sha1:0723430177b6dc5a5c7adc72af843a29ef05080b</id>
<content type='text'>
Reviewed-by: Paul Dale &lt;paul.dale@oracle.com&gt;
Reviewed-by: Frederik Wedel-Heinen &lt;fwh.openssl@gmail.com&gt;
MergeDate: Thu Jul 23 08:33:21 2026
(Merged from https://github.com/openssl/openssl/pull/31570)
</content>
</entry>
<entry>
<title>docs: clarify EVP_PKEY context workflow and operation descriptions</title>
<updated>2026-07-23T08:28:42Z</updated>
<author>
<name>Mounir IDRASSI</name>
<email>mounir.idrassi@idrix.fr</email>
</author>
<published>2026-07-18T02:11:26Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=f7112c925c0f3f6239bcab218cb32fa3e52bf621'/>
<id>urn:sha1:f7112c925c0f3f6239bcab218cb32fa3e52bf621</id>
<content type='text'>
Document that a generated key is returned separately from its generation
context and that a new key-bound context is needed for subsequent
operations. Correct the encrypt and decrypt initialization descriptions
and examples accordingly.

Correct two copy-and-paste errors in the verify-recover documentation:
describe its initializer as starting a verify-recover operation and refer
to EVP_PKEY_verify_recover() when discussing its input.

Fixes #31989

Assisted-by: Grok:Grok-4.5

Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
MergeDate: Thu Jul 23 08:29:24 2026
(Merged from https://github.com/openssl/openssl/pull/31995)
</content>
</entry>
<entry>
<title>Prepare a now opaque ASN1_STRING for the size_t rapture.</title>
<updated>2026-07-18T13:00:57Z</updated>
<author>
<name>Bob Beck</name>
<email>beck@openssl.org</email>
</author>
<published>2026-05-11T16:30:04Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=28179061bfcdfe579f63a129bf0b97766a5d90a7'/>
<id>urn:sha1:28179061bfcdfe579f63a129bf0b97766a5d90a7</id>
<content type='text'>
Now that ASN1_STRING is opaque, we can finally move away
from an int for the length internally. The remaining problematic
piece for this is that ASN1_STRING_length() returns an int
and is public API.

Therefore, we deprecate ASN1_STRING_length() and provide a
replacement ASN1_STRING_length_ex() that returns a size_t length.

We also provide setting functions that take size_t lengths,
they are ASN1_STRING_set_data() which takes a uint8_t data
pointer and a size_t length, and ASN1_STRING_set_string() which
takes a argument that must be a c string and will use strlen
to determine the length. (This replaces th previous arcane
behaviour of calling "strlen" on a magical input length value
of -1, which leads to bugs.)  We then deprecate ASN1_STRING_set().

ASN1_STRING_set_string() requires a valid C string argument that
may not be NULL - refer to the documentation.

Both new functions do not magically add 0 bytes on the end of
values, as ASN1_STRING has already been documented for a long
time to not depend on this behaviour.

Both new functions do not allow the setting of values on an
ASN1_BIT_STRING, as ASN1_BIT_STRING_set1 must be used for that.

Note that this does *NOT* yet change ASN1_STRING to use size_t
internally, this must wait until the integer-returning ASN1_STRING_length()
has been deprecated, and then removed in future major. Once
ASN1_STRING_length() has been removed then ASN1_STRING internally
can change to using a size_t for the length of the data.
(And the setters will no longer return an error if the provided
size_t length exceeds INT_MAX)

Reviewed-by: Milan Broz &lt;mbroz@openssl.org&gt;
Reviewed-by: Norbert Pocs &lt;norbertp@openssl.org&gt;
MergeDate: Sat Jul 18 13:01:15 2026
(Merged from https://github.com/openssl/openssl/pull/31194)
</content>
</entry>
<entry>
<title>Don't raise NOT_ENOUGH_DATA on a clean EOF at an object boundary</title>
<updated>2026-07-13T08:04:34Z</updated>
<author>
<name>Marc Gutman</name>
<email>marcg@activestate.com</email>
</author>
<published>2026-07-09T20:23:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=d7e77b66cabb770932091ed5986221e0d1e57144'/>
<id>urn:sha1:d7e77b66cabb770932091ed5986221e0d1e57144</id>
<content type='text'>
asn1_d2i_read_bio() reads one ASN.1 object at a time from a BIO.  Callers
commonly loop, decoding concatenated DER values until the call fails, and
rely on a failure with no queued error to recognise a clean end of input.
CPython's ssl module does this in _add_ca_certs() when loading the Windows
certificate store via SSLContext.load_verify_locations(cadata=...); it
re-raises any leftover ASN.1 error other than ASN1_R_HEADER_TOO_LONG as
fatal.

Commit 9eb6922c59 ("asn1: raise NOT_ENOUGH_DATA on header EOF") changed the
BIO_read() check from "i &lt; 0" to "i &lt;= 0", so a clean EOF (BIO_read()
returning 0, as an exhausted BIO_new_mem_buf does) on an object boundary now
raises ASN1_R_NOT_ENOUGH_DATA instead of failing with an empty error queue.
The rewrite in commit 35852da1d9 carried this behaviour forward.  As a
result Python 3 on Windows fails to initialise an SSLContext with:

    ssl.SSLError: [ASN1: NOT_ENOUGH_DATA] not enough data

Raise ASN1_R_NOT_ENOUGH_DATA only on an actual read error, on an EOF in the
middle of an object (some bytes already buffered), or on an EOF while still
inside an indefinite-length value awaiting its end-of-contents octets - all
of which are genuine truncation.  A clean EOF at a top-level object boundary
again fails without queuing an error, restoring the long-standing behaviour
that looping callers depend on.

Add regression tests covering the clean-EOF, truncated, indefinite-length
truncation and partial-header cases, and document the read behaviour in
ASN1_item_d2i_bio(3).

Fixes #31807

Assisted-by: Claude:claude-opus-4-8

Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
Reviewed-by: Igor Ustinov &lt;igus@openssl.foundation&gt;
Reviewed-by: Tomas Mraz &lt;tomas@openssl.foundation&gt;
MergeDate: Mon Jul 13 08:05:03 2026
(Merged from https://github.com/openssl/openssl/pull/31818)
</content>
</entry>
<entry>
<title>Document the effect of SSL_VERIFY_FAIL_IF_NO_PEER_CERT on post-handshake auth</title>
<updated>2026-07-10T15:45:28Z</updated>
<author>
<name>Tomas Mraz</name>
<email>tomas@openssl.foundation</email>
</author>
<published>2026-07-07T10:32:13Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=3bf2aba5f5e2e602b7b72b71d91e3befb08e9e94'/>
<id>urn:sha1:3bf2aba5f5e2e602b7b72b71d91e3befb08e9e94</id>
<content type='text'>
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
Reviewed-by: Paul Dale &lt;paul.dale@oracle.com&gt;
MergeDate: Fri Jul 10 15:45:39 2026
(Merged from https://github.com/openssl/openssl/pull/31876)
</content>
</entry>
<entry>
<title>Improve TLS handling of EC point formats</title>
<updated>2026-07-10T09:21:28Z</updated>
<author>
<name>Viktor Dukhovni</name>
<email>viktor@openssl.org</email>
</author>
<published>2026-04-25T12:12:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=9d59af025a025b0aaa18148868ba0c773ce0ce97'/>
<id>urn:sha1:9d59af025a025b0aaa18148868ba0c773ce0ce97</id>
<content type='text'>
Decouple the ec_point_formats extension from TLS 1.2 X.509
selection and acceptance.  Remove tls1_check_pkey_comp() and its
callers in tls1_check_cert_param() and tls1_check_chain(): TLS 1.3
disregards the extension already, and we can decode any point form
a peer might send, so refusing a compressed peer cert in TLS 1.2
because we didn't advertise compressed buys nothing.

The RFC 4492/8422 section 5.1.2 requirement that the peer's list
contain "uncompressed" used to be enforced in a final hook on the
client side only.  Move it to the two points where the negotiated
ciphersuite is known: the client's ServerHello parse hook, and the
server's ServerHello construct hook.  Both sites fire the alert
only when an ECC TLS 1.2 ciphersuite has been negotiated, so a
missing "uncompressed" is ignored under TLS 1.3 or a non-ECC
cipher.  The client- and server-side parse hooks now share one
function.

Drop the always-NULL ext.ecpointformats fields on SSL_CTX and SSL;
our own list is built directly inside the constructors.  The
peer's list continues to be stored verbatim, and is also exposed
through the SSL_get0_ec_point_formats() accessor (now documented).
New tests verify the four corners (ECC vs non-ECC ciphersuite, TLS
1.2 vs 1.3) plus that a compressed point form EC cert is usable on
both sides without any opt-in.

Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Matt Caswell &lt;matt@openssl.foundation&gt;
MergeDate: Fri Jul 10 09:21:30 2026
(Merged from https://github.com/openssl/openssl/pull/30940)
</content>
</entry>
<entry>
<title>Fix typos</title>
<updated>2026-07-08T10:45:09Z</updated>
<author>
<name>Dimitri Papadopoulos</name>
<email>3234522+DimitriPapadopoulos@users.noreply.github.com</email>
</author>
<published>2026-07-04T08:32:44Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=1860496d861e9ea92c1ac41ac0543c3f49d2353f'/>
<id>urn:sha1:1860496d861e9ea92c1ac41ac0543c3f49d2353f</id>
<content type='text'>
Found by typos[1].

[1] https://github.com/crate-ci/typos

CLA: trivial

Reviewed-by: Shane Lontis &lt;shane.lontis@oracle.com&gt;
Reviewed-by: Paul Dale &lt;paul.dale@oracle.com&gt;
Reviewed-by: Tim Hudson &lt;tjh@openssl.org&gt;
Reviewed-by: Norbert Pocs &lt;norbertp@openssl.org&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
MergeDate: Wed Jul  8 10:46:01 2026
(Merged from https://github.com/openssl/openssl/pull/31858)
</content>
</entry>
<entry>
<title>doc/man3/ASN1_INTEGER_get_int64.pod: fix a typo</title>
<updated>2026-07-08T10:17:43Z</updated>
<author>
<name>Joe Orton</name>
<email>jorton@redhat.com</email>
</author>
<published>2026-07-01T16:11:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=51584371a27d2e939babcac3a8fd145c0a2f16ac'/>
<id>urn:sha1:51584371a27d2e939babcac3a8fd145c0a2f16ac</id>
<content type='text'>
CLA: trivial
Fixes: 6c5b6cb03566 "ASN1 INTEGER refactor."

Reviewed-by: Neil Horman &lt;nhorman@openssl.org&gt;
Reviewed-by: Frederik Wedel-Heinen &lt;fwh.openssl@gmail.com&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
MergeDate: Wed Jul  8 10:18:11 2026
(Merged from https://github.com/openssl/openssl/pull/31815)
</content>
</entry>
<entry>
<title>BIO: avoid returning internal FILE * with UPLINK-enabled builds on Windows</title>
<updated>2026-07-08T09:28:03Z</updated>
<author>
<name>olszomal</name>
<email>Malgorzata.Olszowka@stunnel.org</email>
</author>
<published>2025-08-05T10:00:03Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/openssl/commit/?id=b5b34d32cb98341434dd8b88a13182b0131d9344'/>
<id>urn:sha1:b5b34d32cb98341434dd8b88a13182b0131d9344</id>
<content type='text'>
On Windows with UPLINK enabled, BIO_get_fp() may return a FILE * pointer
incompatible with the C runtime.  Ensure that it returns NULL instead,
preventing undefined behavior in applications.  Update the documentation
to include the missing return type for BIO_[gs]et_fp() and remove
the mention that BIO_get_fp() never returns 0, as it does so now
when NULL fp is returned.

Signed-off-by: olszomal &lt;Malgorzata.Olszowka@stunnel.org&gt;

Reviewed-by: Dmitry Belyavskiy &lt;beldmit@gmail.com&gt;
Reviewed-by: Eugene Syromiatnikov &lt;esyr@openssl.org&gt;
MergeDate: Wed Jul  8 09:47:40 2026
(Merged from https://github.com/openssl/openssl/pull/28172)
</content>
</entry>
</feed>
