Files
bun.sh/test/js/sql/mysql-tls/ssl/server-key.pem
Ciro Spaciari b79bbfe289 fix(Bun.SQL) fix SSLRequest (#22378)
### What does this PR do?
Fixes https://github.com/oven-sh/bun/issues/22312
Fixes https://github.com/oven-sh/bun/issues/22313

The correct flow for TLS handshaking is:

Server sending
[Protocol::Handshake](https://dev.mysql.com/doc/dev/mysql-server/8.4.5/page_protocol_connection_phase_packets_protocol_handshake.html)
Client replying with
[Protocol::SSLRequest:](https://dev.mysql.com/doc/dev/mysql-server/8.4.5/page_protocol_connection_phase_packets_protocol_ssl_request.html)
The usual SSL exchange leading to establishing SSL connection
Client sends
[Protocol::HandshakeResponse:](https://dev.mysql.com/doc/dev/mysql-server/8.4.5/page_protocol_connection_phase_packets_protocol_handshake_response.html)

<img width="460" height="305" alt="Screenshot 2025-09-03 at 15 02 25"
src="https://github.com/user-attachments/assets/091bbc54-75bc-44ac-98b8-5996e8d69ed8"
/>

Source:
https://dev.mysql.com/doc/dev/mysql-server/8.4.5/page_protocol_connection_phase.html

### How did you verify your code works?
Tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-03 18:59:15 -07:00

53 lines
3.2 KiB
Plaintext

-----BEGIN PRIVATE KEY-----
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC2TcqpHHiHw2YH
tcorQaE2GXvzyYh4UoTpOunGlIyk7NHZH0wZ8znRf1QTL993KOBcDvEwNWDXSOmY
IjS9jaeJMT6aB8j4v+kyjBEssTPQpoo8VuutcrUHhbm9oeh0rV2dcQsYRwA52Nti
QdjFuC9KqH39Mmyp5uYK1/pKNdWz8QWz/neTLF3Ubm9IXdu9DtbFjhQpPferDcfW
7b9VSIkwo3NCknhWQoS8j4+vP3BYqfLsSJ7WHumVcfLrZpV9CJJKedfdk5ZVrU0n
nyUrRmJ6yFBvHGXw2FSlDv34rXk1iKvcOgF7dv6I9Z0enmt2SnCSdLM4L+3ZXwKu
BVPqApPif4jwoVy6mRYKrJwdTcR6Oid13TultAQ+UTDoGa9DiGbDyZU8bIIk46y1
bEiHYE0i9w3fEADbuy/zFuQ7iJvcmTQNFe9sieP7DLa4Wv/ZFv2cyQ2e0W4WPOXX
afiHhc+0aHN7FZipRPwjrCUAd+uT88h6fef3NEP90lFN1rygnv9LVU2iX14uzMrU
q2Y8oq91xO1RrEBmr1PDUVN0mdQvayRwoWoda5VAMGNLfHafH+7jr4uruSO6djxk
1ahkS2VbuOrqjPob3+zL5stcPD0GODuMBQI2PQ8ddY8woAGUXVBacD5Xwa4bnHnO
S4CY30h8JNub2dZRCzLsI0k4aSxdyQIDAQABAoICAAhUqWMCo466Av1timsL8+TS
fk5nfRPZMCyuSK+OlezAIQjLJtb1Z+98Yj2sODSBoDBkwxMhD/yr3szZHKWK2xyT
AlmB6zupcsEgvcotNivIkymVuUMIVQsedRycJlC/+WFaoJdVQJvkHoZbcZ9QvuHV
AvOL7IOebbsSH+RomGGW19wKpVvgMPt7qRyFTtImuEbNKtEFqBM019cpBHojt0KL
PZb4YC+6Q3GQcpBKFbAKOB53D8HDe4jHl8JibN4Krbth3QJJnnA/hqE9uFzwDvZY
arXhINbEM/4E9N3Pzj8AMLD+z5bc8F3Bh5K2H5KyF88sLmJuF5rm02sGCvh3HLCE
Tj3pkUFmAZK1G9BXXG2NM5NksOf0nN2iqym12aBtH+8ZwO/ZLs2DPmmXTn+2ac1n
YeuegExXQ7HVLm5CNz0jlC40mKRa8upEFeVz6mUo34Z2HoqEDP7nBoDiQmcYbeQZ
YaWEt4SAPbb+Q+n87QwBbXbOXYdF9Pz9N6c2ysTUlqUn6P5q3Rrn9o+i19jVg6eT
UdTj3S/1fG5pKNyG8CjiGBfKcXHkjA6qUacawdZ0wHJiTxSwFG6EalsamQ8GOCSs
vYJugEdmfzrutfmksCz6wRGu9LG1DxBuYH5gvksDf56yai/3fPL13KcaFTQShaee
fGuVHqAmsxHCdNwGkufZAoIBAQDydKdfLnGz4KUVtw16IIVc16fiolCbrc9EyVF/
zEfJK8zmQg8Cq2xuwWa7cGEpJhJHR4TE4DJyrC7KcgHXAODy+HLcFrrtoIuQNTrs
P+jth8giQwcJMIwQMJHz40qkZqedHP0GZXQsZKM1Ew5t2Fy/dMOpowsfGBN6snqB
5kQ9VwuA3IUrGlgfgo8lPN9b5lvem87fzzwab8UnMrQjWy6GHMKvrZjMzA4HV/k0
k/keBq1mKE10b2zL4G83XuVX2fuEx73g+kMyB4B9aJniRyi6m5q3TWV9AkoIR9uA
2FiVnI5jY0LnJcOCI9B+wVbqvtmV4ZUh2wQPIxgPg41eIQ1NAoIBAQDAfOjz1nh8
U42fHQNcL9axa7wBU4oMdPUmdwcimSW18GucIXKOlRybgXt6ZlgzWPHIqiiB/BMo
6ZDZlJ9GXsnjArvL0Uokhlkwq7MosnuWFxqXO9QuO2DUKIVoIAj3Ju2n9NbmS2Tf
L/qlou1k88AaiwAHg8RdLkjzn98TTcCiRLNaIoeKNrkGBzZfqxSHuSbAoSHjweOs
xw1fUPmx5OjTDXk2xTGwyKo2ztJsgSPBhSDlCXiyVk8pAm5gtoQSFuOciUCH7EBU
UK2tNU9sT7vRP8SforjsF5VCURzMW8mcMhBKCo/RENF5ETJoPRYDYKna5O9oVraY
tu6hiA1sNoRtAoIBABOpuEU03A3NgzXuoY4tAwPTjY8IwObPQsb+WLi3lX7QKY7m
/pal1mZpEu7Sn16Z8tOLDk51LEI2ipjqhBGuxY+O7KnCwigxZAAvAPdV+4r//xAg
RXrOUB2kAsI3xb7tgFxylGanZbOP+dh9EieAa40vaAri6Sz9Y98IiHzucsxSueEa
gUZMnab4jKlldWvbk8nK8w0dnm86b0/NgeR4KZ7AyF09A+5gAidAUDqeYY641ek6
DYYK31Ttf7eK36ivSgGrvU94nGh7SUVibVB3mur/YZ3KDhgEToK7aSba5NxFVRrk
WvGqE2ADjY4qGeVx0u2f3NthCsQ7gWEItzdSEOUCggEBAJ+SbaRHNhcLRSqU6MYx
um/W+kK3OIhfJSRAJKAgCc0shGkoqUlegBrCWtT7pz7aC4bo2S/5AwE1r6lQtkGm
LwOMrpam6CojXiklDh8854tjl92r8ZhqDTmUZhQOCqCpmvdT2BuOgQ8tPUK3MMox
8B2RAfM43z7IMh4VeN8N5BYhkfW1DlwcRYKj1AW3VAu4CFJEwk2H3PDNC17rSDSb
qg/c6ZHoI+uETuekyXi+DiBN9xkoovBk8Lb0lwCCDjbY1tRcTCziQ+oh//jJaxBF
gVRU4vHb+iVu34Pcrl0T8q0UK8DVxKfyo1UUVo9npKokJmuawoXi7PjpHia3HTmK
cHkCggEBANG5Kj5ezTX2qheHIek6PIq7TmaFka5tMIWaviUihM8COCHIy4NhQ8uA
wl8BVTxBwzl7lb0mJVx1fe85xelWQ2itglydqcPc1OeA3T3p4uE76cG/gSJ+029U
0JapVnfGFn8t4jZWPY8KExHWbNQslC3bCb8QxNBkrg8DnUAFdhxRAjRq8umpwZUp
x9ylSm+zljW1OyONQS2braZsJ0iqLb1NU2Hn77s58wf6qYANfYLcCWYKcwKT5zCh
ihagiEZs+Q4gDxXuza/VBpy2yR7V7IaV73PNlt0+ZaJGtklFyzckCGWI0DMwvFYf
+qHJhX0QjPI1H/jbGWyoIB5pieMzEiY=
-----END PRIVATE KEY-----