-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ssl-opt: improve PSK mode detection #9556
ssl-opt: improve PSK mode detection #9556
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but it seems you need to rebase the framework PR.
I'll need to rewrite the history to amend the submodule update commit, anyway, once the framework PR is merged. How about I do that now, since the framework PR is approved and has passed the CI on both branches? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but there's a conflict in framework (also in the 3.6 PR now).
52584e2
27c7055
to
52584e2
Compare
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
…config It's faster and more readable. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
When requiring a cryptographic mechanism for the sake of certificate authentication, also require that certificate authentication is enabled. Setting auth_mode explicitly means that we're testing something related to how certificate-based authentication is handled, so require a key exchange with certificate-based authentication. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Don't add a certificate requirement when PSK is enabled. Do command line requirement detection after the injection of PSK into the command line in PSK-only mode. Otherwise certificate requirements would be added even in PSK-only mode. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
requires_certificate_authentication was called in more places, but did not do fine-grained analysis of key exchanges and so gave the wrong results in some builds. requires_key_exchange_with_cert_in_tls12_or_tls13_enabled gave the correct result but was only used in some test cases, not in the automatic detection code. Remove all uses of requires_key_exchange_with_cert_in_tls12_or_tls13_enabled because they are in fact covered by automated detection that calls requires_certificate_authentication. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
…lable The point of PSK-only mode is to transform certificate-based command lines into PSK-based command lines, when the certificates are not relevant to what is being tested. So it makes sense to do that in with PSK-ephemeral key exchanges too. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
It was causing the test case to be incorrectly skipped as needing certificate authentication. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
When checking whether the build supports certificate authentication, check the key exchange modes enabled in the default protocol version. This is TLS 1.3 when it's enabled. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
52584e2
to
e3eab32
Compare
I've rebased both this PR and the 3.6 one to get the latest framework updates. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rebase looks good to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fix some issues in
ssl-opt.sh
around requirement detections, mostly related to PSK vs certificates. Prerequisite of #9541.Straight forward port of #9546.
PR checklist
outcomes.csv.xz
(excluding;component_release_
which are not run in the PR job). The following command lists the test cases that have changed, excluding those that used to be skipped; its output is empty.