Skip to content
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

Improve handling of X509 times #3739

Merged
merged 13 commits into from
Apr 8, 2022

Conversation

wintersteiger
Copy link

@wintersteiger wintersteiger commented Apr 5, 2022

This simplifies the way we handle x509 certificate expiry times. The idea is to do as much as possible in C++ chrono and to convert to/from OpenSSL types only when we are about to generate/verify a certificate. Everything is normalized to std::chrono::system_clock, which is in UTC.

@ghost
Copy link

ghost commented Apr 5, 2022

cwinter_x509_time@44165 aka 20220407.21 vs main ewma over 20 builds from 43924 to 44161

Click to see table

main

build_id build_number tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
43924 20220330.17 6181.05 8.32349e+07 19130.9 1.63882e+07 5625.55 1.53396e+07 2529.6 1.00967e+07 1596.47 1.62927e+08 2102.75 9.31027e+06 1419.64 9.81771e+07 2006.68 8.78598e+06 19108.7 898044 1.37949e+06 9.20855e+06 3.56794e+07
43928 20220331.1 6287.84 8.37592e+07 19311.7 1.63882e+07 5558.04 1.53396e+07 2522.96 1.00967e+07 1649 1.63189e+08 2122.87 9.31027e+06 1443.55 9.81771e+07 1971.67 8.78598e+06 19218.7 902396 1.36943e+06 9.20855e+06 3.57417e+07
43951 20220331.12 6257.5 8.40213e+07 19497.1 1.6126e+07 5524.55 1.53396e+07 2524.05 1.00967e+07 1610.43 1.64237e+08 2111.34 9.04813e+06 1415.96 9.81771e+07 1917.05 8.78598e+06 20016.7 896556 1.38556e+06 9.24188e+06 3.56174e+07
43960 20220331.16 6317.98 8.40213e+07 19383.1 1.63882e+07 5570.02 1.53396e+07 2526.53 1.00967e+07 1626.08 1.63189e+08 2112.02 9.04813e+06 1433.96 9.81771e+07 1905.13 8.78598e+06 17440.2 903567 1.3793e+06 9.28007e+06 3.58688e+07
43965 20220331.18 5952.09 8.48077e+07 19447.3 1.69124e+07 5491.79 1.58639e+07 2515.25 1.00967e+07 1604.44 1.6083e+08 2117.88 9.04813e+06 1434.76 9.81771e+07 1920.97 9.04813e+06 18867.5 903441 1.38312e+06 9.36447e+06 3.58061e+07
43971 20220331.20 6373.1 8.37592e+07 19348.4 1.66503e+07 5616.51 1.53396e+07 2642.96 1.00967e+07 1634.29 1.61092e+08 2117.44 9.04813e+06 1440.54 9.84392e+07 1978.41 8.78598e+06 19695 905638 1.37681e+06 9.38593e+06 3.58669e+07
43978 20220401.2 6235.18 8.37592e+07 19666.7 1.63882e+07 5421.68 1.56017e+07 2537.2 1.00967e+07 1633.03 1.62927e+08 2116.57 9.31027e+06 1454.44 9.87014e+07 1936.4 1.08831e+07 17837.9 884698 1.36587e+06 9.36006e+06 3.66369e+07
43991 20220404.2 6402.94 8.37592e+07 19544 1.6126e+07 5555.69 1.53396e+07 2540.82 1.03588e+07 1654.48 1.63975e+08 2116.18 9.04813e+06 1451.47 9.89635e+07 1964.44 8.78598e+06 20215.6 909247 1.38191e+06 9.39441e+06 3.63121e+07
44010 20220405.2 6419.03 8.40213e+07 19183.1 1.66503e+07 5391.66 1.56017e+07 2506.1 1.00967e+07 1642.4 1.64237e+08 2104.54 9.04813e+06 1439.71 9.84392e+07 2004 8.78598e+06 22899.9 871671 1.3744e+06 9.27952e+06 3.54939e+07
44014 20220405.3 6277.88 8.42835e+07 19588.8 1.6126e+07 5661.05 1.58639e+07 2532.63 1.00967e+07 1639.35 1.63713e+08 2074.25 1.11453e+07 1438.57 9.84392e+07 1920.85 8.52384e+06 17753.3 900570 1.36633e+06 9.37725e+06 3.59298e+07
44020 20220405.5 6275.34 8.37592e+07 19463.9 1.63882e+07 5536.78 1.53396e+07 2413.02 1.00967e+07 1605.57 1.62927e+08 2105.72 9.04813e+06 1351.09 9.76528e+07 1967.97 1.0621e+07 19565.5 870224 1.37255e+06 9.24179e+06 3.58669e+07
44029 20220405.9 6185.13 8.42835e+07 19333.2 1.56017e+07 5551.19 1.56017e+07 2521.13 1.0621e+07 1602.69 1.63189e+08 2110.68 9.04813e+06 1410.84 9.79149e+07 1969.24 9.04813e+06 16984.3 892327 1.37365e+06 9.22099e+06 3.59923e+07
44036 20220405.12 6128.91 8.32349e+07 19368.4 1.58639e+07 5474.64 1.53396e+07 2524.39 1.03588e+07 1621.71 1.63451e+08 2100.63 9.31027e+06 1440.56 9.81771e+07 1977.7 9.04813e+06 16931.8 890003 1.37689e+06 9.19619e+06 3.63766e+07
44041 20220405.14 6088.3 8.37592e+07 19557 1.69124e+07 5640.81 1.56017e+07 2520.51 1.00967e+07 1595.68 1.6083e+08 2118.01 9.04813e+06 1434.97 9.81771e+07 1964.08 8.78598e+06 16993 891049 1.36206e+06 9.21269e+06 3.56794e+07
44063 20220406.2 6256.38 8.42835e+07 19515.7 1.6126e+07 5608.34 1.53396e+07 2531.65 1.00967e+07 1636.75 1.64237e+08 2113.65 9.04813e+06 1429.85 9.81771e+07 1971.7 8.52384e+06 17372.6 905589 1.3755e+06 9.32176e+06 3.58669e+07
44073 20220406.5 6209.25 8.42835e+07 19183.8 1.6126e+07 5675.23 1.56017e+07 2520.4 1.00967e+07 1595.38 1.63713e+08 2097.96 1.19317e+07 1402.85 9.87014e+07 2002.09 8.78598e+06 18315.5 904267 1.36952e+06 9.41605e+06 3.58669e+07
44091 20220406.12 6265.19 8.40213e+07 19328.9 1.58639e+07 5548.48 1.50774e+07 2542.29 9.83456e+06 1609.31 1.63189e+08 2177.35 9.04813e+06 1436.84 9.84392e+07 1876.2 8.78598e+06 17620.8 906916 1.37922e+06 9.31332e+06 3.58669e+07
44122 20220407.5 6220.58 8.29727e+07 19512.7 1.63882e+07 5509.39 1.53396e+07 2534.53 9.83456e+06 1604.72 1.62927e+08 2068.64 9.04813e+06 1426.99 9.79149e+07 1989.57 8.78598e+06 17285.9 907274 1.38434e+06 9.25436e+06 3.58042e+07
44123 20220407.6 6110.01 8.29727e+07 19478.6 1.63882e+07 5545.86 1.53396e+07 2538.15 1.00967e+07 1642.72 1.63189e+08 2117.66 9.31027e+06 1448.17 9.81771e+07 1971.29 8.78598e+06 17579.5 906911 1.37026e+06 9.48144e+06 3.58669e+07
44161 20220407.20 6167.67 8.3497e+07 19196.3 1.63882e+07 5638.38 1.53396e+07 2526.34 1.00967e+07 1609.47 1.62927e+08 2106.05 9.04813e+06 1414.94 9.66042e+07 1965.85 8.78598e+06 19384.6 905868 1.37745e+06 9.30901e+06 3.50079e+07

cwinter_x509_time

build_id build_number tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
44109 20220406.19 6250.79 8.3497e+07 19280.5 1.6126e+07 5584.76 1.53396e+07 2534.6 1.35046e+07 1612.24 1.63189e+08 2117.99 9.04813e+06 1434.02 9.81771e+07 1842.38 8.78598e+06 19539.8 906675 1.38163e+06 9.23354e+06 3.58663e+07
44130 20220407.8 7357.3 8.40213e+07 19486.1 1.69124e+07 5538.9 1.56017e+07 2525.32 1.0621e+07 1640.96 1.63713e+08 2111.8 9.04813e+06 1447.89 9.79149e+07 1968.59 8.52384e+06 19995.4 886191 1.37035e+06 9.27112e+06 3.56174e+07
44133 20220407.9 6090.41 8.37592e+07 18648.2 1.66503e+07 5442.55 1.53396e+07 2527.42 1.00967e+07 1599.69 1.62927e+08 2106.28 9.04813e+06 1425.09 9.81771e+07 1926.05 8.78598e+06 20214.4 906230 1.37541e+06 9.26274e+06 3.56794e+07
44138 20220407.11 6225.24 8.40213e+07 19283.9 1.66503e+07 5618.75 1.53396e+07 2520.58 1.00967e+07 1617.69 1.63713e+08 2106 9.04813e+06 1422.16 9.84392e+07 2013.58 8.78598e+06 19624.7 909047 1.37551e+06 9.21688e+06 3.58669e+07
44165 20220407.21 6284.66 8.40213e+07 19468.6 1.63882e+07 5617.5 1.53396e+07 2533.19 1.00967e+07 1633.03 1.63713e+08 2114.44 9.04813e+06 1432.94 9.81771e+07 1971.67 8.52384e+06 17638.7 898836 1.36415e+06 9.45958e+06 3.56794e+07

images

@wintersteiger wintersteiger marked this pull request as ready for review April 6, 2022 11:33
@wintersteiger wintersteiger requested a review from a team April 6, 2022 11:33
@wintersteiger wintersteiger merged commit 244fbda into microsoft:main Apr 8, 2022
@wintersteiger wintersteiger deleted the cwinter_x509_time branch April 8, 2022 12:00
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.

3 participants