8000 Support `certificate_authorities` extension in ClientHello by s-arash · Pull Request #2265 · rustls/rustls · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Support certificate_authorities extension in ClientHello #2265

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

Merged
merged 2 commits into from
Dec 12, 2024

Conversation

s-arash
Copy link
Contributor
@s-arash s-arash commented Dec 9, 2024

This PR adds support for the certificate_authorities extension in ClientHello by:

  • On the client side, adding a default method to ServerCertVerifier that asks for CA names to be sent with ClientHello,

  • On the server side, adding the method certificate_authorities() to the ClientHello type, which is provided to ResolvesServerCert when the server needs to pick a cert.

Closes #2235

@s-arash s-arash force-pushed the arash/ca-extension branch from 77a2207 to 78a4359 Compare December 9, 2024 23:55
@s-arash s-arash marked this pull request as ready for review December 9, 2024 23:57
Copy link
codecov bot commented Dec 10, 2024

Codecov Report

Attention: Patch coverage is 96.42857% with 1 line in your changes missing coverage. Please review.

Project coverage is 94.82%. Comparing base (deb04c2) to head (c645d12).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
rustls/src/msgs/handshake.rs 87.50% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2265   +/-   ##
=======================================
  Coverage   94.82%   94.82%           
=======================================
  Files         104      104           
  Lines       24077    24102   +25     
=======================================
+ Hits        22831    22855   +24     
- Misses       1246     1247    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member
@djc djc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking pretty good to me, just a bunch of nits to address.

@s-arash
Copy link
Contributor Author
s-arash commented Dec 11, 2024

This is looking pretty good to me, just a bunch of nits to address.

Thanks @djc. I believe I addressed all the review comments.

One point: I also removed the certificate_authorities_ext field from ServerConnectionData (from the earlier version of my PR), as it was not needed, and it brings handling of the certificate authorities extension more in line with the way other Client Hello extensions are handled.

Copy link
Member
@djc djc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

Copy link
rustls-benchmarking bot commented Dec 12, 2024

Benchmark results

Instruction counts

Significant differences

There are no significant instruction count differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10415379 10456860 41481 (0.40%) 1.51%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 8619544 8588905 -30639 (-0.36%) 0.82%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 10709348 10732910 23562 (0.22%) 0.98%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3077347 3080491 3144 (0.10%) 0.23%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3080672 3082869 2197 (0.07%) 0.26%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 10703512 10710839 7327 (0.07%) 1.06%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3870153 3872523 2370 (0.06%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_server 4231150 4233520 2370 (0.06%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_server 4695630 4698000 2370 (0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 28964476 28970196 5720 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 28885958 28891625 5667 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 28883793 28889435 5642 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 28886002 28891639 5637 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 28964471 28970120 5649 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 28962300 28967907 5607 (0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1174324 1174530 206 (0.02%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 5020394 5019524 -870 (-0.02%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_client 4488873 4489533 660 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2073715 2074006 291 (0.01%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 41484728 41490398 5670 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 41486781 41492451 5670 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 41486829 41492499 5670 (0.01%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 41602988 41608658 5670 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 41605041 41610711 5670 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 41605089 41610759 5670 (0.01%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 41964128 41969798 5670 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 41966488 41972158 5670 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 41966678 41972348 5670 (0.01%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_client 4228449 4229019 570 (0.01%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 42062468 42068138 5670 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 42064828 42070498 5670 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 42065018 42070688 5670 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1612030 1612230 200 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1613419 1613606 187 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1176708 1176810 102 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1717660 1717543 -117 (-0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 27839929 27841661 1732 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 27837513 27839223 1710 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 27844372 27846059 1687 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 28208715 28210334 1619 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 8569993 8570477 484 (0.01%) 1.06%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 27780545 27782046 1501 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 27784814 27786291 1477 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 28174918 28176415 1497 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 28201845 28203334 1489 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 28204875 28206343 1468 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 28171972 28173378 1406 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 28178998 28180401 1403 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 27778005 27779317 1312 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3864565 3864415 -150 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3623291 3623152 -139 (-0.00%) 0.24%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 1932262 1932336 74 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 40178459 40179989 1530 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 40181402 40182932 1530 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 40185453 40186983 1530 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 40272779 40274309 1530 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 40275722 40277252 1530 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 40279773 40281303 1530 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 40495969 40497499 1530 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 40499230 40500760 1530 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 40503230 40504760 1530 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 40570159 40571689 1530 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 40573420 40574950 1530 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 40577420 40578950 1530 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2655829 2655918 89 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2661696 2661785 89 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 1925535 1925594 59 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 30377137 30378025 888 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 58338945 58340605 1660 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3624558 3624656 98 (0.00%) 0.26%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7564359 7564559 200 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7566522 7566714 192 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 30422887 30423581 694 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 30379757 30380442 685 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 30422549 30423189 640 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 30420163 30420722 559 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 11424839 11425039 200 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11430794 11430994 200 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4206559 4206499 -60 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 30380152 30380560 408 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2076908 2076935 27 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 11292368 11292436 68 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2563534 2563543 9 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 35180559 35180648 89 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 35182529 35182595 66 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80661843 80661862 19 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46464566 46464556 -10 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46423829 46423837 8 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 46467810 46467802 -8 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 58331799 58331790 -9 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 46470691 46470684 -7 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46477538 46477531 -7 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80540442 80540452 10 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46456933 46456938 5 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92706960 92706969 9 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80641255 80641262 7 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92710965 92710959 -6 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58245678 58245681 3 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 58181210 58181212 2 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58243601 58243603 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80554934 80554932 -2 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80648882 80648884 2 (0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 58225378 58225377 -1 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58240726 58240725 -1 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92663956 92663957 1 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92673014 92673015 1 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92674856 92674857 1 (0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 46389596 46389596 0 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 46487100 46487100 0 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80535650 80535650 0 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 58342701 58342701 0 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92704732 92704732 0 (0.00%) 0.20%

Wall-time

Significant differences

There are no significant wall-time differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.48 ms 4.43 ms -0.06 ms (-1.29%) 3.98%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.59 ms 1.61 ms 0.02 ms (1.19%) 1.60%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.21 ms 5.16 ms -0.05 ms (-0.99%) 3.68%
handshake_no_resume_ring_1.3_ecdsap256_aes 503.60 µs 498.67 µs -4.93 µs (-0.98%) 2.11%
handshake_session_id_ring_1.2_rsa_aes 1.52 ms 1.53 ms 0.01 ms (0.95%) 1.03%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.06 ms 5.01 ms -0.05 ms (-0.92%) 3.65%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.12 ms 5.07 ms -0.05 ms (-0.90%) 3.47%
handshake_no_resume_ring_1.3_ecdsap256_chacha 500.04 µs 496.01 µs -4.03 µs (-0.81%) 2.14%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 4.29 ms 4.32 ms 0.03 ms (0.76%) 1.09%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 4.97 ms 5.00 ms 0.04 ms (0.72%) 1.13%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 5.01 ms 5.04 ms 0.03 ms (0.68%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 4.26 ms 4.29 ms 0.03 ms (0.67%) 1.01%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 4.91 ms 4.94 ms 0.03 ms (0.66%) 1.00%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 5.21 ms 5.24 ms 0.03 ms (0.60%) 1.07%
handshake_tickets_ring_1.2_rsa_aes 1.61 ms 1.62 ms 0.01 ms (0.60%) 1.31%
transfer_no_resume_ring_1.3_ecdsap256_aes 6.33 ms 6.30 ms -0.04 ms (-0.59%) 3.07%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 5.17 ms 5.20 ms 0.03 ms (0.59%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 458.71 µs 456.12 µs -2.59 µs (-0.56%) 2.96%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 4.49 ms 4.52 ms 0.03 ms (0.56%) 1.28%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 4.46 ms 4.49 ms 0.02 ms (0.56%) 1.08%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 4.94 ms 4.97 ms 0.03 ms (0.54%) 1.00%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 5.12 ms 5.14 ms 0.03 ms (0.50%) 1.28%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 457.04 µs 454.76 µs -2.27 µs (-0.50%) 2.71%
transfer_no_resume_ring_1.2_rsa_aes 6.75 ms 6.72 ms -0.03 ms (-0.44%) 2.31%
handshake_session_id_ring_1.3_ecdsap256_chacha 6.28 ms 6.25 ms -0.03 ms (-0.43%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_chacha 6.35 ms 6.33 ms -0.03 ms (-0.43%) 1.00%
transfer_no_resume_ring_1.3_rsa_aes 6.82 ms 6.79 ms -0.03 ms (-0.41%) 2.64%
handshake_tickets_ring_1.3_ecdsap256_aes 6.40 ms 6.38 ms -0.02 ms (-0.38%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.10 ms 1.09 ms -0.00 ms (-0.36%) 2.36%
transfer_no_resume_ring_1.3_ecdsap256_chacha 12.98 ms 12.93 ms -0.05 ms (-0.36%) 1.48%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 5.14 ms 5.16 ms 0.02 ms (0.34%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_aes 6.33 ms 6.31 ms -0.02 ms (-0.33%) 1.00%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 1.77 ms 1.78 ms 0.01 ms (0.32%) 1.55%
transfer_no_resume_ring_1.3_ecdsap384_aes 9.43 ms 9.40 ms -0.03 ms (-0.32%) 1.85%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 12.95 ms 12.91 ms -0.04 ms (-0.31%) 1.54%
handshake_no_resume_ring_1.3_rsa_chacha 992.74 µs 989.73 µs -3.01 µs (-0.30%) 1.00%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.08 ms 16.03 ms -0.05 ms (-0.29%) 1.22%
handshake_tickets_ring_1.3_rsa_chacha 6.84 ms 6.82 ms -0.02 ms (-0.28%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_chacha 9.37 ms 9.35 ms -0.03 ms (-0.28%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_chacha 9.44 ms 9.41 ms -0.03 ms (-0.27%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.10 ms 1.11 ms 0.00 ms (0.26%) 3.79%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 13.67 ms 13.64 ms -0.04 ms (-0.26%) 1.39%
handshake_session_id_ring_1.3_rsa_aes 6.83 ms 6.81 ms -0.02 ms (-0.26%) 1.00%
transfer_no_resume_ring_1.3_rsa_chacha 13.47 ms 13.43 ms -0.03 ms (-0.25%) 1.35%
handshake_no_resume_ring_1.2_rsa_aes 990.39 µs 987.92 µs -2.46 µs (-0.25%) 1.13%
handshake_session_id_ring_1.3_rsa_chacha 6.77 ms 6.76 ms -0.02 ms (-0.25%) 1.00%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 13.59 ms 13.56 ms -0.03 ms (-0.23%) 1.26%
handshake_tickets_ring_1.3_rsa_aes 6.89 ms 6.88 ms -0.02 ms (-0.22%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_aes 9.41 ms 9.39 ms -0.02 ms (-0.19%) 1.00%
handshake_no_resume_ring_1.3_rsa_aes 992.39 µs 990.52 µs -1.87 µs (-0.19%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_aes 9.49 ms 9.47 ms -0.02 ms (-0.18%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.60 ms 3.59 ms -0.01 ms (-0.14%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.17 ms 1.18 ms 0.00 ms (0.13%) 1.12%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.60 ms 3.59 ms -0.00 ms (-0.12%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.17 ms 1.17 ms 0.00 ms (0.08%) 1.13%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.06 ms 1.06 ms -0.00 ms (-0.06%) 2.27%

Additional information

Historical results

Checkout details:

Copy link
Member
@ctz ctz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

(FWIW I went looking if there were some latent tests for this we could enable in bogo, but unfortunately there are not.)

Copy link
Member
@cpu cpu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work 🚀 Thanks

This commit adds support for the extension by:

 - On the client side, adding a default method to `ServerCertVerifier` that asks for CA names to be sent with ClientHello,

 - On the server side, adding the method `certificate_authorities()` to the `ClientHello` type, which is provided to `ResolvesServerCert` when the server needs to pick a cert.
@cpu cpu enabled auto-merge December 12, 2024 22:19
@cpu cpu added this pull request to the merge queue Dec 12, 2024
Merged via the queue into rustls:main with commit 9045f10 Dec 12, 2024
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support certificate_authorities extension in ClientHello
4 participants
0