OpenBSD CVS

CVS log for src/lib/libssl/ssl_sigalgs.h


[BACK] Up to [local] / src / lib / libssl

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.27 / (download) - annotate - [select for diffs], Sat Feb 3 15:58:34 2024 UTC (4 months ago) by beck
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.26: +1 -9 lines
Diff to previous 1.26 (colored)

Remove GOST and STREEBOG support from libssl.

This version of GOST is old and not anywhere close to compliant with
modern GOST standards. It is also very intrusive in libssl and
makes a mess everywhere.  Efforts to entice a suitably minded anyone
to care about it have been unsuccessful.

At this point it is probably best to remove this, and if someone
ever showed up who truly needed a working version, it should be
a clean implementation from scratch, and have it use something
closer to the typical API in libcrypto so it would integrate less
painfully here.

This removes it from libssl in preparation for it's removal from
libcrypto with a future major bump

ok tb@

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jul 2 16:00:12 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Rename uses 'curve' to 'group' and rework tls1 group API.

This reworks various tls1_ curve APIs to indicate success via a boolean
return value and move the output to an out parameter. This makes the
caller code easier and more consistent.

Based on a suggestion by jsing

ok jsing

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jun 29 07:53:58 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Check the security level when building sigalgs

ok beck jsing

Revision 1.24 / (download) - annotate - [select for diffs], Wed Jun 29 07:53:00 2022 UTC (23 months, 1 week ago) by tb
Branch: MAIN
Changes since 1.23: +2 -1 lines
Diff to previous 1.23 (colored)

Annotate sigalgs with their security level.

ok beck jsing

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jun 29 19:25:59 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.22: +1 -6 lines
Diff to previous 1.22 (colored)

Make various sigalg functions static now that they're only used internally.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Jun 29 19:20:39 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.21: +3 -1 lines
Diff to previous 1.21 (colored)

Provide a ssl_sigalg_for_peer() function and use in the TLSv1.3 code.

Provide an ssl_sigalg_for_peer() function that knows how to figure out
which signature algorithm should be used for a peer provided signature,
performing appropriate validation to ensure that the peer provided value
is suitable for the protocol version and key in use.

In the TLSv1.3 code, this replaces the need for separate calls to lookup
the sigalg from the peer provided value, then perform validation.

ok inoguchi@ tb@

Revision 1.21 / (download) - annotate - [select for diffs], Tue Jun 29 19:10:08 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Move the RSA-PSS check for TLSv1.3 to ssl_sigalg_pkey_ok().

Also, rather than passing in a check_curve flag, pass in the SSL * and
handle version checks internally to ssl_sigalg_pkey_ok(), simplifying
the callers.

ok inoguchi@ tb@

Revision 1.20 / (download) - annotate - [select for diffs], Sun Jun 27 18:15:35 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.19: +4 -10 lines
Diff to previous 1.19 (colored)

Change ssl_sigalgs_from_value() to perform sigalg list selection.

Rather that passing in a sigalg list at every call site, pass in the
appropriate TLS version and have ssl_sigalgs_from_value() perform the
sigalg list selection itself. This allows the sigalg lists to be made
internal to the sigalgs code.

ok tb@

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jun 27 18:09:07 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.18: +3 -2 lines
Diff to previous 1.18 (colored)

Rename ssl_sigalg() to ssl_sigalg_from_value().

This makes the code more self-documenting and avoids the ambiguity between
ssl_sigalg the struct and ssl_sigalg the function.

ok tb@

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jun 27 17:59:17 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

Change ssl_sigalgs_build() to perform sigalg list selection.

Rather that doing sigalg list selection at every call site, pass in the
appropriate TLS version and have ssl_sigalgs_build() perform the sigalg
list selection itself. This reduces code duplication, simplifies the
calling code and is the first step towards internalising the sigalg lists.

ok tb@

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jun 27 17:45:16 2021 UTC (2 years, 11 months ago) by jsing
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Keep sigalg initialiser order consistent - key type, then hash.

This matches the order that sigalgs are specified in.

ok tb@

Revision 1.16 / (download) - annotate - [select for diffs], Sun May 16 13:39:07 2021 UTC (3 years ago) by jsing
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15 (colored)

Add a missing space.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Oct 11 01:13:04 2020 UTC (3 years, 8 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.14: +7 -7 lines
Diff to previous 1.14 (colored)

Constipate ssl3_ciphers and tls1[23]_sigalgs*, pushing them into
.data.rel.ro and .rodata respectively.

ok tb@ jsing@

Revision 1.14 / (download) - annotate - [select for diffs], Mon Mar 25 17:33:26 2019 UTC (5 years, 2 months ago) by jsing
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.13: +1 -2 lines
Diff to previous 1.13 (colored)

Strip out all of the pkey to sigalg and sigalg to pkey linkages.

These are no longer used now that we defer signature algorithm selection.

ok beck@

Revision 1.13 / (download) - annotate - [select for diffs], Mon Mar 25 17:21:18 2019 UTC (5 years, 2 months ago) by jsing
Branch: MAIN
Changes since 1.12: +5 -3 lines
Diff to previous 1.12 (colored)

Defer sigalgs selection until the certificate is known.

Previously the signature algorithm was selected when the TLS extension was
parsed (or the client received a certificate request), however the actual
certificate to be used is not known at this stage. This leads to various
problems, including the selection of a signature algorithm that cannot be
used with the certificate key size (as found by jeremy@ via ruby regress).

Instead, store the signature algorithms list and only select a signature
algorithm when we're ready to do signature generation.

Joint work with beck@.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jan 23 23:47:13 2019 UTC (5 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

Correct ECDSA_SECP512R1 typo to ECDSA_SECP521R1
spotted by naddy@

Revision 1.11 / (download) - annotate - [select for diffs], Wed Jan 23 18:39:28 2019 UTC (5 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (colored)

Modify sigalgs extension processing to accomodate TLS 1.3.
- Make a separate sigalgs list for TLS 1.3 including only modern
algorithm choices which we use when the handshake will not negotiate
TLS 1.2.
- Modify the legacy sigalgs for TLS 1.2 to include the RSA PSS algorithms as
mandated by RFC8446 when the handshake will permit negotiation of TLS 1.2
from a 1.3 handshake.
ok jsing@ tb@

Revision 1.10 / (download) - annotate - [select for diffs], Wed Jan 23 18:24:40 2019 UTC (5 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.9: +0 -2 lines
Diff to previous 1.9 (colored)

revert previous, accidentally contained another diff in addition
to the one I intended to commit

Revision 1.9 / (download) - annotate - [select for diffs], Wed Jan 23 16:46:04 2019 UTC (5 years, 4 months ago) by beck
Branch: MAIN
Changes since 1.8: +3 -1 lines
Diff to previous 1.8 (colored)

Modify sigalgs extension processing for TLS 1.3.
- Make a separate sigalgs list for TLS 1.3 including only modern
  algorithm choices which we use when the handshake will not negotiate
  TLS 1.2
- Modify the legacy sigalgs for TLS 1.2 to include the RSA PSS algorithms as
  mandated by RFC8446 when the handshake will permit negotiation of TLS 1.2
ok jsing@ tb@

Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 16 02:41:16 2018 UTC (5 years, 6 months ago) by beck
Branch: MAIN
Changes since 1.7: +4 -1 lines
Diff to previous 1.7 (colored)

Unbreak legacy ciphers for prior to 1.1 by setting having a legacy
sigalg for MD5_SHA1 and using it as the non sigalgs default
ok jsing@

Revision 1.7 / (download) - annotate - [select for diffs], Sun Nov 11 21:54:47 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.6: +2 -1 lines
Diff to previous 1.6 (colored)

Add check function to verify that pkey is usable with a sigalg.
Include check for appropriate RSA key size when used with PSS.
ok tb@

Revision 1.6 / (download) - annotate - [select for diffs], Sat Nov 10 08:42:39 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.5: +1 -2 lines
Diff to previous 1.5 (colored)

Remove dead code
ok jsing@

Revision 1.5 / (download) - annotate - [select for diffs], Sat Nov 10 01:19:09 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

Stop keeping track of sigalgs by guessing it from digest and pkey,
just keep the sigalg around so we can remember what we actually
decided to use.
ok jsing@

Revision 1.4 / (download) - annotate - [select for diffs], Fri Nov 9 05:43:39 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

Ensure we only choose sigalgs from our prefernce list, not the whole list
ok jsing@

Revision 1.3 / (download) - annotate - [select for diffs], Fri Nov 9 05:02:53 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN
Changes since 1.2: +5 -2 lines
Diff to previous 1.2 (colored)

Add the ability to have a separate priority list for sigalgs.
Add a priority list for tls 1.2
ok jsing@

Revision 1.2 / (download) - annotate - [select for diffs], Fri Nov 9 03:17:04 2018 UTC (5 years, 7 months ago) by jsing
Branch: MAIN
Changes since 1.1: +9 -1 lines
Diff to previous 1.1 (colored)

Add header guards and hidden declarations.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Nov 9 00:34:55 2018 UTC (5 years, 7 months ago) by beck
Branch: MAIN

Reimplement the sigalgs processing code into a new implementation
that will be usable with TLS 1.3 with less eye bleed.
ok jsing@ tb@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.