<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libcrypto/ec/ecx_methods.c, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2025-05-10T05:54:39+00:00</updated>
<entry>
<title>Use err_local.h rather than err.h in most places</title>
<updated>2025-05-10T05:54:39+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2025-05-10T05:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=41e8f99dd1625a9f0c80ce9d4383e95b18e85709'/>
<id>urn:sha1:41e8f99dd1625a9f0c80ce9d4383e95b18e85709</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>Implement X509_get_signature_info()</title>
<updated>2024-08-28T07:15:04+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-08-28T07:15:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f822543d6a7043acc1d14a3e0b44eddc1051b097'/>
<id>urn:sha1:f822543d6a7043acc1d14a3e0b44eddc1051b097</id>
<content type='text'>
This is a slightly strange combination of OBJ_find_sigid_algs() and the
security level API necessary because OBJ_find_sigid_algs() on its own
isn't smart enough for the special needs of RSA-PSS and EdDSA.

The API extracts the hash's NID and the pubkey's NID from the certificate's
signatureAlgorithm and invokes special handlers for RSA-PSS and EdDSA
for retrieving the corresponding information. This isn't entirely free
for RSA-PSS, but for now we don't cache this information.

The security bits calculation is a bit hand-wavy, but that's something
that comes along with this sort of numerology.

ok jsing
</content>
</entry>
<entry>
<title>Simplify ecx_cms_sign_or_verify() using X509_ALGOR_set0_by_nid()</title>
<updated>2024-04-02T04:04:07+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-04-02T04:04:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=2e6096a76aef7831dfa64fd545b0c7516b068c1d'/>
<id>urn:sha1:2e6096a76aef7831dfa64fd545b0c7516b068c1d</id>
<content type='text'>
ok jsing
</content>
</entry>
<entry>
<title>Implement Ed25519 signatures for CMS (RFC 8419)</title>
<updated>2024-03-29T06:41:58+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-03-29T06:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=207bd9bb06ecc406c0e992892c96391e5f299077'/>
<id>urn:sha1:207bd9bb06ecc406c0e992892c96391e5f299077</id>
<content type='text'>
This adds support for Edwards curve digital signature algorithms in the
cryptographic message syntax, as specified in RFC 8419. Only Ed25519 is
supported since that is the only EdDSA algorithm that LibreSSL supports
(this is unlikely to change ever, but, as they say - never is a very
long time).

This has the usual curly interactions between EVP and CMS with poorly
documented interfaces and lots of confusing magic return values and
controls. This improves upon existing control handlers by documenting
what is being done and why. Unlike other (draft) implementations we
also happen to use the correct hashing algorithm.

There are no plans to implement RFC 8418.

joint work with job at p2k23

ok jsing
</content>
</entry>
<entry>
<title>Replace .pkey_base_id with a .base_method pointer</title>
<updated>2024-01-04T17:01:26+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2024-01-04T17:01:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9f1cd2582409ac5778c5a0e28dfb77f18d122c98'/>
<id>urn:sha1:9f1cd2582409ac5778c5a0e28dfb77f18d122c98</id>
<content type='text'>
Every EVP_PKEY_ASN1_METHOD is either an ASN.1 method or an alias.
As such it resolves to an underlying ASN.1 method (in one step).
This information can be stored in a base_method pointer in allusion
to the pkey_base_id, which is the name for the nid (aka pkey_id aka
type) of the underlying method.

For an ASN.1 method, the base method is itself, so the base method
is set as a pointer to itself. For an alias it is of course a pointer
to the underlying method. Then obviously ameth-&gt;pkey_base_id is the
same as ameth-&gt;base_method-&gt;pkey_id, so rework all ASN.1 methods to
follow that.

ok jsing
</content>
</entry>
<entry>
<title>Convert ecx_item_sign() to X509_ALGOR_set0_by_nid()</title>
<updated>2023-11-09T11:39:13+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-11-09T11:39:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=654756f1890ebdb3c84f0c267c01a161d790b65d'/>
<id>urn:sha1:654756f1890ebdb3c84f0c267c01a161d790b65d</id>
<content type='text'>
ok jca
</content>
</entry>
<entry>
<title>Tweak previous. Should have been 60 instead of 64</title>
<updated>2023-07-22T19:33:25+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-22T19:33:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=3a42767608796b85d23feb072c21b21446462ca2'/>
<id>urn:sha1:3a42767608796b85d23feb072c21b21446462ca2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adapt bn_print() for EdDSA key printing</title>
<updated>2023-07-22T17:20:50+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-22T17:20:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=6dde2d6b9d87c7389aaa7f2e087f05b6fdd01f49'/>
<id>urn:sha1:6dde2d6b9d87c7389aaa7f2e087f05b6fdd01f49</id>
<content type='text'>
This is essentially a reimplementation of ASN1_buf_print(). The latter was
only added for these printing purposes and it will be removed again since
nothing uses it. We can then simply remove t_pkey.c in the upcoming bump.

ok jsing
</content>
</entry>
<entry>
<title>don't return in a void function</title>
<updated>2023-07-05T20:56:29+00:00</updated>
<author>
<name>bcook</name>
<email></email>
</author>
<published>2023-07-05T20:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=62cba16a6c374d9ede90b7d3920f1e78e483499e'/>
<id>urn:sha1:62cba16a6c374d9ede90b7d3920f1e78e483499e</id>
<content type='text'>
ok tb@
</content>
</entry>
<entry>
<title>Fix return values of ecx methods</title>
<updated>2023-07-02T15:02:52+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2023-07-02T15:02:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=0982d57effdadfdb6e8c2254b0588fc4aabfe53b'/>
<id>urn:sha1:0982d57effdadfdb6e8c2254b0588fc4aabfe53b</id>
<content type='text'>
It is hard to get your return values right if you choose them to be a
random subset of {-2, ..., 3}. The item_verify() and the digestverify()
methods don't return 0 on error, but -1. Here 0 means "failed to verify",
obviously.

ok jsing
</content>
</entry>
</feed>
