Commit 3738434
BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA configuration
The ClientHello Callback which is used for certificate selection uses
both the signature algorithms and the ciphers sent by the client.
However, when a client is announcing both ECDSA and RSA capabilities
with ECSDA ciphers that are not available on haproxy side and RSA
ciphers that are compatibles, the ECDSA certificate will still be used
but this will result in a "no shared cipher" error, instead of a
fallback on the RSA certificate.
For example, a client could send
'ECDHE-ECDSA-AES128-CCM:ECDHE-RSA-AES256-SHA and HAProxy could be
configured with only 'ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA'.
This patch fixes the issue by validating that at least one ECDSA cipher
is available on both side before chosing the ECDSA certificate.
This must be backported on all stable versions.
(cherry picked from commit 93cc23a)
Signed-off-by: Amaury Denoyelle <[email protected]>1 parent 96aef29 commit 3738434
1 file changed
+8
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2268 | 2268 | | |
2269 | 2269 | | |
2270 | 2270 | | |
| 2271 | + | |
2271 | 2272 | | |
2272 | 2273 | | |
2273 | 2274 | | |
| 2275 | + | |
| 2276 | + | |
2274 | 2277 | | |
| 2278 | + | |
2275 | 2279 | | |
2276 | 2280 | | |
2277 | 2281 | | |
| |||
2290 | 2294 | | |
2291 | 2295 | | |
2292 | 2296 | | |
| 2297 | + | |
| 2298 | + | |
| 2299 | + | |
| 2300 | + | |
2293 | 2301 | | |
2294 | 2302 | | |
2295 | 2303 | | |
| |||
0 commit comments