Implement Ed25519 signatures for CMS (RFC 8419)
authortb <tb@openbsd.org>
Fri, 29 Mar 2024 06:41:58 +0000 (06:41 +0000)
committertb <tb@openbsd.org>
Fri, 29 Mar 2024 06:41:58 +0000 (06:41 +0000)
commite170a9e13dee968e3fd83aa36137e393cbc44aa4
tree984d353b3279898bdff0ce12770c05afaff19b66
parent94b168e340322bf8fa14e1e7e2c4aed295d41cf3
Implement Ed25519 signatures for CMS (RFC 8419)

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
lib/libcrypto/cms/cms_sd.c
lib/libcrypto/ec/ecx_methods.c