This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 1666a4d7b Fix CI with new valid certificates and add script for future
usage (#6585)
1666a4d7b is described below
commit 1666a4d7b237370c167e2b90b45d1354e28f500a
Author: June <[email protected]>
AuthorDate: Fri Oct 18 12:59:27 2024 -0600
Fix CI with new valid certificates and add script for future usage (#6585)
---
arrow-flight/examples/data/ca.pem | 28 ----------------
arrow-flight/examples/data/ca_root.key | 28 ++++++++++++++++
arrow-flight/examples/data/ca_root.pem | 19 +++++++++++
arrow-flight/examples/data/client.key | 28 ++++++++++++++++
arrow-flight/examples/data/client.pem | 19 +++++++++++
arrow-flight/examples/data/client1.key | 28 ----------------
arrow-flight/examples/data/client1.pem | 19 -----------
arrow-flight/examples/data/client_ca.pem | 19 -----------
arrow-flight/examples/data/gen_certs.sh | 30 +++++++++++++++++
arrow-flight/examples/data/server.key | 52 +++++++++++++++---------------
arrow-flight/examples/data/server.pem | 42 ++++++++++--------------
arrow-flight/examples/flight_sql_server.rs | 20 ++++++------
12 files changed, 178 insertions(+), 154 deletions(-)
diff --git a/arrow-flight/examples/data/ca.pem
b/arrow-flight/examples/data/ca.pem
deleted file mode 100644
index d81956096..000000000
--- a/arrow-flight/examples/data/ca.pem
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIE3DCCA0SgAwIBAgIRAObeYbJFiVQSGR8yk44dsOYwDQYJKoZIhvcNAQELBQAw
-gYUxHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTEtMCsGA1UECwwkbHVj
-aW9ATHVjaW9zLVdvcmstTUJQIChMdWNpbyBGcmFuY28pMTQwMgYDVQQDDCtta2Nl
-cnQgbHVjaW9ATHVjaW9zLVdvcmstTUJQIChMdWNpbyBGcmFuY28pMB4XDTE5MDky
-OTIzMzUzM1oXDTI5MDkyOTIzMzUzM1owgYUxHjAcBgNVBAoTFW1rY2VydCBkZXZl
-bG9wbWVudCBDQTEtMCsGA1UECwwkbHVjaW9ATHVjaW9zLVdvcmstTUJQIChMdWNp
-byBGcmFuY28pMTQwMgYDVQQDDCtta2NlcnQgbHVjaW9ATHVjaW9zLVdvcmstTUJQ
-IChMdWNpbyBGcmFuY28pMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA
-y/vE61ItbN/1qMYt13LMf+le1svwfkCCOPsygk7nWeRXmomgUpymqn1LnWiuB0+e
-4IdVH2f5E9DknWEpPhKIDMRTCbz4jTwQfHrxCb8EGj3I8oO73pJO5S/xCedM9OrZ
-qWcYWwN0GQ8cO/ogazaoZf1uTrRNHyzRyQsKyb412kDBTNEeldJZ2ljKgXXvh4HO
-2ZIk9K/ZAaAf6VN8K/89rlJ9/KPgRVNsyAapE+Pb8XXKtpzeFiEcUfuXVYWtkoW+
-xyn/Zu8A1L2CXMQ1sARh7P/42BTMKr5pfraYgcBGxKXLrxoySpxCO9KqeVveKy1q
-fPm5FCwFsXDr0koFLrCiR58mcIO/04Q9DKKTV4Z2a+LoqDJRY37KfBSc8sDMPhw5
-k7g3WPoa6QwXRjZTCA5fHWVgLOtcwLsnju5tBE4LDxwF6s+1wPF8NI5yUfufcEjJ
-Z6JBwgoWYosVj27Lx7KBNLU/57PX9ryee691zmtswt0tP0WVBAgalhYWg99RXoa3
-AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICBDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
-A1UdDgQWBBQdvlE4Bdcsjc9oaxjDCRu5FiuZkzANBgkqhkiG9w0BAQsFAAOCAYEA
-BP/6o1kPINksMJZSSXgNCPZskDLyGw7auUZBnQ0ocDT3W6gXQvT/27LM1Hxoj9Eh
-qU1TYdEt7ppecLQSGvzQ02MExG7H75art75oLiB+A5agDira937YbK4MCjqW481d
-bDhw6ixJnY1jIvwjEZxyH6g94YyL927aSPch51fys0kSnjkFzC2RmuzDADScc4XH
-5P1+/3dnIm3M5yfpeUzoaOrTXNmhn8p0RDIGrZ5kA5eISIGGD3Mm8FDssUNKndtO
-g4ojHUsxb14icnAYGeye1NOhGiqN6TEFcgr6MPd0XdFNZ5c0HUaBCfN6bc+JxDV5
-MKZVJdNeJsYYwilgJNHAyZgCi30JC20xeYVtTF7CEEsMrFDGJ70Kz7o/FnRiFsA1
-ZSwVVWhhkHG2VkT4vlo0O3fYeZpenYicvy+wZNTbGK83gzHWqxxNC1z3Etg5+HRJ
-F9qeMWPyfA3IHYXygiMcviyLcyNGG/SJ0EhUpYBN/Gg7wI5yFkcsxUDPPzd23O0M
------END CERTIFICATE-----
diff --git a/arrow-flight/examples/data/ca_root.key
b/arrow-flight/examples/data/ca_root.key
new file mode 100644
index 000000000..b5ae14a8c
--- /dev/null
+++ b/arrow-flight/examples/data/ca_root.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCPOUfaBhf+grVf
+DTBMpCX/sD6T4sPSIV/e/lwXw05gVT2Uh3vW4iuKZnxXkEwn66h8FZCeRXdkFUPd
+Nid2losqwJX4RlZHJvcLK5abFFuncyumU3/szsG+oA2m6i7r1a+msa53puJgfvF+
+qIP8U8OSyTPl4qKgDMq+Q8Gk2UWXcFSjOz4pe0LAaR2Sopp5tU0TBopBgZWp5OX+
+Nz23zrPwYn9EHKa2npLDqZQRMPGgg5H02inD7RrGhOEamacRSsGsrArUd3Qfk3V2
+mUkSPhixrhneWdXaAUYYbcoVBpMMoHn0bVOT+feRnAHqKxEjQOfhq6av+aAYdaaw
+2aeyxFSPAgMBAAECggEAIBMu8TfOJdR18+yLNY7JZ8K7sPjm6+dHhjQmwbeelNpi
+KSJSbKRIJf2fuSh6tbIEEI3vzlI2U7ajdSYMnnVGg3OP4oM2DUc/qkO/vclIYW7c
+hqpKiuke4KcNh6UIjw5TARznuqooJn4nbTsmG9tSgEwJEGG6E+fpe8TG2DlEaY6L
+seXzFxEKbS8Jac8hex3lCp16FPgyP9I3u1ukqsj2S4+VcmzFT4L9QxK0tgjOotUb
+Mem3cO5OYDfkzMj+JKz+58G+n/5TILCEq86O+JG7fFzjA9BPp6wZgWHKG6bDDHoV
+CwNExOooVPYSyHebVg+K0AgRTwwAouLWboF5k4GtqQKBgQDKFt+kd1qUx3iqIREi
+jQtC8/ADGTyvMLJkA8fCxZYsn+hVp3G5uZxbOWWNU+j9B7X5gpljS5MxSvSAXLap
+tYCm1wkCB9qkZ5RxPPlE7fOCbmpJcZn39lC6q32I2U2IFM3VGzXvS6Eq2TJcdomb
+Q6WaNAuGoHtmdHsTF6IQQH3PhQKBgQC1bliMVbLoJ+c2rXAhmTJLsgesJQCpkJRH
+hOuiQOjH+ytSywIJd3K0vVHcnvCguS4wsw10N/V07KMuKjBztcWK0XB65MVczxQU
+mQNEOO5DnqNtD73ewwZJpHO52zMb5nuiBW1TtZJR6Ejb+/PccJJFQtQh0fgDNIgv
+SDeJr00uAwKBgQCkTya0zQoL74bvJIWPBwiB/l5F1q4dbsWMRfqUJRxt2fIIOmVf
+8UbscOVdnDzSBgPyAzp9nkPmDyBugXNO1rDsdefwC7y8cS8jRsURQzr68JVgc4oR
+LucCb05ZBv1fyDJ2s3INxvsaIJAu134YjE7H6sr4QeEzMz+iDVQKTLU+FQKBgQCP
+VSixXXbkv7mDUcvXT08TzAcRsX3vd+AdDF6XpY4Bh2V3mBf44JwHO9XzZMGXSBS8
+tof3e8n34IceDoiOsVjpzYJ+JEPjiVlE2IljGVLqquZTX+9RkGNkRH6Eoy6iaRjd
+LEptqnF5Mfh1invieDCmdSBfw6Ca76JzMCtoI8zmfwKBgQDJE2UZJBfsFpXceqfV
+fYQHb4t5tu+kch4JrDpJPgMtTvZ0nQtD7aI/gPQIryl4K2MKwIO3vPs/rNNJuVWV
+K9ZTTnqqbiLII94ulYR3YRuotysEMkO2eJ6UsfnPjgLpJmaAQrHD4XNcpE60bmJf
+VlViy6Cnn8Xj+CC3HnF1XppyWw==
+-----END PRIVATE KEY-----
diff --git a/arrow-flight/examples/data/ca_root.pem
b/arrow-flight/examples/data/ca_root.pem
new file mode 100644
index 000000000..2e16a2f74
--- /dev/null
+++ b/arrow-flight/examples/data/ca_root.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDGzCCAgOgAwIBAgIUFd5IwYARWN1WGmiqnpzxQ3pE3vAwDQYJKoZIhvcNAQEL
+BQAwHTELMAkGA1UEBhMCRkkxDjAMBgNVBAMMBXZhaGlkMB4XDTI0MTAxODE4MTcy
+NVoXDTI5MTAxNzE4MTcyNVowHTELMAkGA1UEBhMCRkkxDjAMBgNVBAMMBXZhaGlk
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjzlH2gYX/oK1Xw0wTKQl
+/7A+k+LD0iFf3v5cF8NOYFU9lId71uIrimZ8V5BMJ+uofBWQnkV3ZBVD3TYndpaL
+KsCV+EZWRyb3CyuWmxRbp3MrplN/7M7BvqANpuou69WvprGud6biYH7xfqiD/FPD
+kskz5eKioAzKvkPBpNlFl3BUozs+KXtCwGkdkqKaebVNEwaKQYGVqeTl/jc9t86z
+8GJ/RBymtp6Sw6mUETDxoIOR9Nopw+0axoThGpmnEUrBrKwK1Hd0H5N1dplJEj4Y
+sa4Z3lnV2gFGGG3KFQaTDKB59G1Tk/n3kZwB6isRI0Dn4aumr/mgGHWmsNmnssRU
+jwIDAQABo1MwUTAdBgNVHQ4EFgQUu2qQpBe9cOo0HndIR9VvpbCJnyEwHwYDVR0j
+BBgwFoAUu2qQpBe9cOo0HndIR9VvpbCJnyEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
+hkiG9w0BAQsFAAOCAQEAFqbmJn8kPwKGqTiD2pUHzdUJz1QnqMOc0oZ+VzUyCVuq
+VFB3HX6Bjjc/NEDVSIRh0hsCB0s6bSwb23nmtlpZQlHF3JiuH2T0l1gGhVQBnbGj
+CBeldH7/VdcB9r/RASX2wkL8all0FswFx5dbiyrGOYeVUt5tV7mxe40LQLisWuu0
+SY6cPs1TjCVy7oJ61/++OfyffGyBiANXRNYSROeNxxOtXwVqKNP4eWX7UVxXgDKF
+iaGG5g9S6e3AefEgUTSWz3LWyMqT+VbTuqLw1NG9O112pFsPAEr4FTNh6ljIEVeH
+kvoBrHgP8VDV30GmganXu9LNOIIuFqhOoPxZYW1JGQ==
+-----END CERTIFICATE-----
diff --git a/arrow-flight/examples/data/client.key
b/arrow-flight/examples/data/client.key
new file mode 100644
index 000000000..88dc742fb
--- /dev/null
+++ b/arrow-flight/examples/data/client.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDO9UXCYgahDzPB
+WsSlGRDEw8a0lhW/AP8dHygEiWcHJ6Fa0Q7/t7/SMJQzJsnM7qMKDqCxJfutDFFO
+8WykoIgX06ENcTOei+DRo9NUmr2VRv5Uk3PN/AChwwm+/VCyRcx45ImumL7dWznp
+/a5GRWS2LtJ+j7zUVurIivV2TOT84zMWxvDTMfwyV93DMbKYdzVDIhjLO+AS8tFM
+rd2fsLAhDOb2iJ4HpR5Bfl47LuCyH6/2NyB8h53HI5bm/eo14gR3UtEY2UBTgJcC
+8pPXmsYqZNOhmIYxA8rgpAFe+7IEGyRQU1zPLHgKtGSJXXEwfWd2Tspamy1/4nbx
+sMOjyTD1AgMBAAECggEAFOomjZlYcChYI58npkOdNTVPvGo6cl4Iagn/Ak5cchWo
+McRUzrTkFrrAD1dJJ4OqSFboGF7tSzSmduLhBtYOStIhQXmCLPCX3LfAoJkutYpC
+I4vvNQ7VhYNvVbTF1e5F1qXJ4DIhf787YBE57nIO1nZu4UlnXNIX0gJxAe6NaZzh
+w6eWZRNi/BOat3lCGxo5Q5PBsoRwEILsF9SlMimwSesKqivG4WVySZzygpsnp+rv
+TV2WPyw0m05tpr0Y+z5fUayPi5Vtxs8DoLKfnKD+/HOLniPaaDhHcD4R0DU/O8rb
+0f6zfNW0S3A5esrKsIXZ02ljjEIjeGs6ZnJUXf5kwQKBgQDn8n61UEm42bDPmwv2
+8b935Ghp5TAYsHH5Ti0YCK6aeOrCCPoRmb9cG3+zAo6nzad3QtULIJhc/I/wTbJ2
++EXSamMw3Pieub+b8lbUwe2js3AOxx/hoIkjFK4GQALfCjEejoVSQgx84c+Xh3Xx
+EBjPi7Bf1EzetSQgVr/7310tUQKBgQDka2Px49ufA4P3WTMB3sCJ2mBEjZoxfV4m
+AX1Kwerp9Im2VT8JdzNFLi4hUuxIFJHq13NqQDPo38vG3iVPb0QLZUNg/eD3F53d
+5JKcwDqyi+K3GuNN8JVDFcTP23svKZvNrUxrH/X/rTjf6H+o0PCU7hbcaRihBj4O
+LodhXM1QZQKBgQCcnLz3ehW9LafYFe2XORY6QsxJrEm0cfcTCbkjAEG85aZFi8Am
+ADUYYSzxVumx3geUXFjzYXffWV1rOVsmP28Nq238QUfSDMOW7aO5lpP5s6AXKlaZ
+h0bxm/YBHFmT9hLCeiMFLrm13NbJjtqRAXhvMvfNTND2k0KoX0rUK7aDcQKBgANc
+IQg51c0s/A/zW/C3GhXtBGV9v7rioTPl6bXjzFTMqAnqjxbQjgyCdWNAGQGma88M
+hEIX16uhPxoZwmq8tD+GqcsPcPOxgTz2U8HCghqGPDt9RcKru0ZVV6PHErTK4+PO
+nMUmnzO3lJKWlOoiyKcoKWXsldQoh1kmDg+8kbiRAoGBALLmrQwJX+j28ZFZAN/2
+SNBryhxtwDcpTSf1Qb4rbtCxJVwCTq9yUdcYA2SsvkA68pNo5mOe/ft6T0GYho1/
+LiJJXduKiTsHV0xpeqA+imuIZDAc6Dgc6GWqskVn6XKUCGcFFvdxoBxAlBVmsbhS
+ajeci0ZCJpUvebBrNmaLXLrX
+-----END PRIVATE KEY-----
diff --git a/arrow-flight/examples/data/client.pem
b/arrow-flight/examples/data/client.pem
new file mode 100644
index 000000000..5ea6ccb9c
--- /dev/null
+++ b/arrow-flight/examples/data/client.pem
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDKzCCAhOgAwIBAgIURGJB6QyNfnGJiavpS6DB4+o4YPkwDQYJKoZIhvcNAQEL
+BQAwHTELMAkGA1UEBhMCRkkxDjAMBgNVBAMMBXZhaGlkMB4XDTI0MTAxODE4MTcy
+NVoXDTI5MTAxNzE4MTcyNVowHTELMAkGA1UEBhMCRkkxDjAMBgNVBAMMBXZhaGlk
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzvVFwmIGoQ8zwVrEpRkQ
+xMPGtJYVvwD/HR8oBIlnByehWtEO/7e/0jCUMybJzO6jCg6gsSX7rQxRTvFspKCI
+F9OhDXEznovg0aPTVJq9lUb+VJNzzfwAocMJvv1QskXMeOSJrpi+3Vs56f2uRkVk
+ti7Sfo+81FbqyIr1dkzk/OMzFsbw0zH8MlfdwzGymHc1QyIYyzvgEvLRTK3dn7Cw
+IQzm9oieB6UeQX5eOy7gsh+v9jcgfIedxyOW5v3qNeIEd1LRGNlAU4CXAvKT15rG
+KmTToZiGMQPK4KQBXvuyBBskUFNczyx4CrRkiV1xMH1ndk7KWpstf+J28bDDo8kw
+9QIDAQABo2MwYTAfBgNVHSMEGDAWgBS7apCkF71w6jQed0hH1W+lsImfITAJBgNV
+HRMEAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDAdBgNVHQ4EFgQUX3kjlcnwAErq
+/sdYXJAAGQevoS0wDQYJKoZIhvcNAQELBQADggEBAEiM/+/xI60HDz9ArPiJQJgS
+lj7Q+F+FLcQVHfmjTbfuaPQD18BSOI+Oj9qKsxD8LAtkY/Go+Ppq/wGtN72KdLfR
+sfBiPrES/vRZaF1UriEq7hJTsSmiQwocbobFZ7T+eBRjwPG5XgqgOg6O3LJQPDVU
+lrzW1EkruBysdZj2ThN7yPoDQl9m1zWNvyBRDUvDsIiUkYZOwP6vfCXsImUGzR0A
+q6DxVXM2WVoCILRLjYD+nlSmcuxbzOuXXHarIHPC3zJtaiNAboEuF2C7fuGimP2Z
+xT67aVWgVx2DW/IycIGslbdnMeMOHxkEE2o7ubHb2T2/ZRmTR/USgnbAu3vXDCc=
+-----END CERTIFICATE-----
diff --git a/arrow-flight/examples/data/client1.key
b/arrow-flight/examples/data/client1.key
deleted file mode 100644
index f4d8da275..000000000
--- a/arrow-flight/examples/data/client1.key
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCiiWrmzpENsI+c
-Cz4aBpG+Pl8WOsrByfZx/ZnJdCZHO3MTYE6sCLhYssf0ygAEEGxvmkd4cxmfCfgf
-xuT8u+D7Y5zQSoymkbWdU6/9jbNY6Ovtc+a96I1LGXOKROQw6KR3PuqLpUqEOJiB
-l03qK+HMU0g56G1n31Od7HkJsDRvtePqy3I3LgpdcRps23sk46tCzZzhyfqIQ7Qf
-J5qZx93tA+pfy+Xtb9XIUTIWKIp1/uyfh8Fp8HA0c9zJCSZzJOX2j3GH1TYqkVgP
-egI2lhmdXhP5Q8vdhwy0UJaL28RJXA6UAg0tPZeWJe6pux9JiA81sI6My+Krrw8D
-yibkGTTbAgMBAAECggEANCQhRym9HsclSsnQgkjZOE6J8nep08EWbjsMurOoE/He
-WLjshAPIH6w6uSyUFLmwD51OkDVcYsiv8IG9s9YRtpOeGrPPqx/TQ0U1kAGFJ2CR
-Tvt/aizQJudjSVgQXCBFontsgp/j58bAJdKEDDtHlGSjJvCJKGlcSa0ypwj/yVXt
-frjROJNYzw9gMM7fN/IKF/cysdXSeLl/Q9RnHVIfC3jOFJutsILCK8+PC51dM8Fl
-IOjmPmiZ080yV8RBcMRECwl53vLOE3OOpR3ZijfNCY1KU8zWi1oELJ1o6f4+cBye
-7WPgFEoBew5XHXZ+ke8rh8cc0wth7ZTcC+xC/456AQKBgQDQr2EzBwXxYLF8qsN1
-R4zlzXILLdZN8a4bKfrS507/Gi1gDBHzfvbE7HfljeqrAkbKMdKNkbz3iS85SguH
-jsM047xUGJg0PAcwBLHUedlSn1xDDcDHW6X8ginpA2Zz1+WAlhNz6XurA1wnjZmS
-VcPxopH7QsuFCclqtt14MbBQ6QKBgQDHY3jcAVfQF+yhQ0YyM6GPLN342aTplgyJ
-yz4uWVMeXacU4QzqGbf2L2hc9M2L28Xb37RWC3Q/by0vUefiC6qxRt+GJdRsOuQj
-2F1uUibeWtAWp249fcfvxjLib276J+Eit18LI0s0mNR3ekK4GcjSe4NwSq5IrU8e
-pBreet3dIwKBgQCxVuil4WkGd+I8jC0v5A7zVsR8hYZhlGkdgm45fgHevdMjlP5I
-S3PPYxh8hj6O9o9L0k0Yq2nHfdgYujjUCNkQgBuR55iogv6kqsioRKgPE4fnH6/c
-eqCy1bZh4tbUyPqqbF65mQfUCzXsEuQXvDSYiku+F0Q2mVuGCUJpmug3yQKBgEd3
-LeCdUp4xlQ0QEd74hpXM3RrO178pmwDgqj7uoU4m/zYKnBhkc3137I406F+SvE5c
-1kRpApeh/64QS27IA7xazM9GS+cnDJKUgJiENY5JOoCELo03wiv8/EwQ6NQc6yMI
-WrahRdlqVe0lEzjtdP+MacYb3nAKPmubIk5P96nFAoGAFAyrKpFTyXbNYBTw9Rab
-TG6q7qkn+YTHN3+k4mo9NGGwZ3pXvmrKMYCIRhLMbqzsmTbFqCPPIxKsrmf8QYLh
-xHYQjrCkbZ0wZdcdeV6yFSDsF218nF/12ZPE7CBOQMfZTCKFNWGL97uIVcmR6K5G
-ojTkOvaUnwQtSFhNuzyr23I=
------END PRIVATE KEY-----
diff --git a/arrow-flight/examples/data/client1.pem
b/arrow-flight/examples/data/client1.pem
deleted file mode 100644
index bb3b82c40..000000000
--- a/arrow-flight/examples/data/client1.pem
+++ /dev/null
@@ -1,19 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDCTCCAfGgAwIBAgIQYbE9d1Rft5h4ku7FSAvWdzANBgkqhkiG9w0BAQsFADAn
-MSUwIwYDVQQDExxUb25pYyBFeGFtcGxlIENsaWVudCBSb290IENBMB4XDTE5MTAx
-NDEyMzkzNloXDTI0MTAxMjEyMzkzNlowEjEQMA4GA1UEAxMHY2xpZW50MTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKKJaubOkQ2wj5wLPhoGkb4+XxY6
-ysHJ9nH9mcl0Jkc7cxNgTqwIuFiyx/TKAAQQbG+aR3hzGZ8J+B/G5Py74PtjnNBK
-jKaRtZ1Tr/2Ns1jo6+1z5r3ojUsZc4pE5DDopHc+6oulSoQ4mIGXTeor4cxTSDno
-bWffU53seQmwNG+14+rLcjcuCl1xGmzbeyTjq0LNnOHJ+ohDtB8nmpnH3e0D6l/L
-5e1v1chRMhYoinX+7J+HwWnwcDRz3MkJJnMk5faPcYfVNiqRWA96AjaWGZ1eE/lD
-y92HDLRQlovbxElcDpQCDS09l5Yl7qm7H0mIDzWwjozL4quvDwPKJuQZNNsCAwEA
-AaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAfBgNVHSME
-GDAWgBQV1YOR+Jpl1fbujvWLSBEoRvsDhTANBgkqhkiG9w0BAQsFAAOCAQEAfTPu
-KeHXmyVTSCUrYQ1X5Mu7VzfZlRbhoytHOw7bYGgwaFwQj+ZhlPt8nFC22/bEk4IV
-AoCOli0WyPIB7Lx52dZ+v9JmYOK6ca2Aa/Dkw8Q+M3XA024FQWq3nZ6qANKC32/9
-Nk+xOcb1Qd/11stpTkRf2Oj7F7K4GnlFbY6iMyNW+RFXGKEbL5QAJDTDPIT8vw1x
-oYeNPwmC042uEboCZPNXmuctiK9Wt1TAxjZT/cwdIBGGJ+xrW72abfJGs7bUcJfc
-O4r9V0xVv+X0iKWTW0fwd9qjNfiEP1tFCcZb2XsNQPe/DlQZ+h98P073tZEsWI/G
-KJrFspGX8vOuSdIeqw==
------END CERTIFICATE-----
diff --git a/arrow-flight/examples/data/client_ca.pem
b/arrow-flight/examples/data/client_ca.pem
deleted file mode 100644
index aa483b931..000000000
--- a/arrow-flight/examples/data/client_ca.pem
+++ /dev/null
@@ -1,19 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDGzCCAgOgAwIBAgIRAMNWpWRu6Q1txEYUyrkyXKEwDQYJKoZIhvcNAQELBQAw
-JzElMCMGA1UEAxMcVG9uaWMgRXhhbXBsZSBDbGllbnQgUm9vdCBDQTAeFw0xOTEw
-MTQxMjM5MzZaFw0yOTEwMTExMjM5MzZaMCcxJTAjBgNVBAMTHFRvbmljIEV4YW1w
-bGUgQ2xpZW50IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
-AQCv8Nj4XJbMI0wWUvLbmCf7IEvJFnomodGnDurh8Y5AGMPJ8cGdZC1yo2Lgah+D
-IhXdsd72Wp7MhdntJAyPrMCDBfDrFiuj6YHDgt3OhPQSYl7EWG7QjFK3B2sp1K5D
-h16G5zfwUKDj9Jp3xuPGuqNFQHL02nwbhtDilqHvaTfOJKVjsFCoU8Z77mfwXSwn
-sPXpPB7oOO4mWfAtcwU11rTMiHFSGFlFhgbHULU/y90DcpfRQEpEiBoiK13gkyoP
-zHT9WAg3Pelwb6K7c7kJ7mp4axhbf7MkwFhDQIjbBWqus2Eu3b0mf86ALfDbAaNC
-wBi8xbNH2vWaDjiwLDY5uMZDAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwICBDAPBgNV
-HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQV1YOR+Jpl1fbujvWLSBEoRvsDhTANBgkq
-hkiG9w0BAQsFAAOCAQEAaXmM29TYkFUzZUsV7TSonAK560BjxDmbg0GJSUgLEFUJ
-wpKqa9UKOSapG45LEeR2wwAmVWDJomJplkuvTD/KOabAbZKyPEfp+VMCaBUnILQF
-Cxv5m7kQ3wmPS/rEL8FD809UGowW9cYqnZzUy5i/r263rx0k3OPjkkZN66Mh6+3H
-ibNdaxf7ITO0JVb/Ohq9vLC9qf7ujiB1atMdJwkOWsZrLJXLygpx/D0/UhBT4fFH
-OlyVOmuR27qaMbPgOs2l8DznkJY/QUfnET8iOQhFgb0Dt/Os4PYFhSDRIrgl5dJ7
-L/zZVQfZYpdxlBHJlDC1/NzVQl/1MgDnSgPGStZKPQ==
------END CERTIFICATE-----
diff --git a/arrow-flight/examples/data/gen_certs.sh
b/arrow-flight/examples/data/gen_certs.sh
new file mode 100644
index 000000000..7b50652aa
--- /dev/null
+++ b/arrow-flight/examples/data/gen_certs.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# source:
https://users.rust-lang.org/t/use-tokio-tungstenite-with-rustls-instead-of-native-tls-for-secure-websockets/90130
+
+make_and_sign() {
+ # Create unencrypted private key and a CSR (certificate signing request)
+ openssl req -newkey rsa:2048 -nodes -subj "/C=FI/CN=vahid" -keyout
"$1.key" -out "$1.csr"
+
+ # Create self-signed certificate (`$1.pem`) with the private key and CSR
+ openssl x509 -signkey "$1.key" -in "$1.csr" -req -days 365 -out "$1.pem"
+
+ # Sign the CSR (`$1.pem`) with the root CA certificate and private key
+ # => this overwrites `$1.pem` because it gets signed
+ openssl x509 -req -CA ca_root.pem -CAkey ca_root.key -in "$1.csr" -out
"$1.pem" -days 1825 -CAcreateserial -extfile localhost.ext
+}
+
+# Create a self-signed root CA
+openssl req -x509 -sha256 -nodes -subj "/C=FI/CN=vahid" -days 1825 -newkey
rsa:2048 -keyout ca_root.key -out ca_root.pem
+
+# Create file localhost.ext with the following content:
+cat <<'EOF' > localhost.ext
+authorityKeyIdentifier=keyid,issuer
+basicConstraints=CA:FALSE
+subjectAltName = @alt_names
+[alt_names]
+DNS.1 = localhost
+EOF
+
+make_and_sign client
+make_and_sign server
diff --git a/arrow-flight/examples/data/server.key
b/arrow-flight/examples/data/server.key
index 80984ef90..e8ea69c18 100644
--- a/arrow-flight/examples/data/server.key
+++ b/arrow-flight/examples/data/server.key
@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
-MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDyptbMyYWztgta
-t1MXLMzIkaQdeeVbs1Y/qCpAdwZe/Y5ZpbzjGIjCxbB6vNRSnEbYKpytKHPzYfM7
-8d8K8bPvpnqXIiTXFT0JQlw1OHLC1fr4e598GJumAmpMYFrtqv0fbmUFTuQGbHxe
-OH2vji0bvr3NKZubMfkEZP3X4sNXXoXIuW2LaS8OMGKoJaeCBvdbszEiSGj/v9Bj
-pM0yLTH89NNMX1T+FtTKnuXag5g7pr6lzJj83+MzAGy4nOjseSuUimuiyG90/C5t
-A5wC0Qh5RbDnkFYhC44Kxof/i6+jnfateIPNiIIwQV+2f6G/aK1hgjekT10m/eoR
-YDTf+e5ZAgMBAAECggEACODt7yRYjhDVLYaTtb9f5t7dYG67Y7WWLFIc6arxQryI
-XuNfm/ej2WyeXn9WTYeGWBaHERbv1zH4UnMxNBdP/C7dQXZwXqZaS2JwOUpNeK+X
-tUvgtAu6dkKUXSMRcKzXAjVp4N3YHhwOGOx8PNY49FDwZPdmyDD16aFAYIvdle6/
-PSMrj38rB1sbQQdmRob2FjJBSDZ44nsr+/nilrcOFNfNnWv7tQIWYVXNcLfdK/WJ
-ZCDFhA8lr/Yon6MEq6ApTj2ZYRRGXPd6UeASJkmTZEUIUbeDcje/MO8cHkREpuRH
-wm3pCjR7OdO4vc+/d/QmEvu5ns6wbTauelYnL616YQKBgQD414gJtpCHauNEUlFB
-v/R3DzPI5NGp9PAqovOD8nCbI49Mw61gP/ExTIPKiR5uUX/5EL04uspaNkuohXk+
-ys0G5At0NfV7W39lzhvALEaSfleybvYxppbBrc20/q8Gvi/i30NY+1LM3RdtMiEw
-hKHjU0SnFhJq0InFg3AO/iCeTQKBgQD5obkbzpOidSsa55aNsUlO2qjiUY9leq9b
-irAohIZ8YnuuixYvkOeSeSz1eIrA4tECeAFSgTZxYe1Iz+USru2Xg/0xNte11dJD
-rBoH/yMn2gDvBK7xQ6uFMPTeYtKG0vfvpXZYSWZzGntyrHTwFk6UV+xdrt9MBdd1
-XdSn7bwOPQKBgC9VQAko8uDvUf+C8PXiv2uONrl13PPJJY3WpR9qFEVOREnDxszS
-HNzVwxPZdTJiykbkCjoqPadfQJDzopZxGQLAifU29lTamKcSx3CMe3gOFDxaovXa
-zD5XAxP0hfJwZsdu1G6uj5dsTrJ0oJ+L+wc0pZBqwGIU/L/XOo9/g1DZAoGAUebL
-kuH98ik7EUK2VJq8EJERI9/ailLsQb6I+WIxtZGiPqwHhWencpkrNQZtj8dbB9JT
-rLwUHrMgZOlAoRafgTyez4zMzS3wJJ/Mkp8U67hM4h7JPwMSvUpIrMYDiJSjIA9L
-er/qSw1/Pypx22uWMHmAZWRAgvLPtAQrB0Wqk4kCgYEAr2H1PvfbwZwkSvlMt5o8
-WLnBbxcM3AKglLRbkShxxgiZYdEP71/uOtRMiL26du5XX8evItITN0DsvmXL/kcd
-h29LK7LM5uLw7efz0Qxs03G6kEyIHVkacowHi5I5Ul1qI61SoV3yMB1TjIU+bXZt
-0ZjC07totO0fqPOLQxonjQg=
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCJqUDUQQfum3u/
+b9qN1QXvdd2riDljQGIWXe3PGoc8wP1nCkJukxZEJr3Wii8x9v/iJ/ZwkwIV9OEm
+y2ER6x0Xh7aYKVF6B2w0R2Q8fWhZx4/kes6mEa6pXutolvqLF1NIUgvpw+yagGPc
+Te6RM02AZb3pS/gqqbh3Ayj1q1oiCHZH3p+kpQIMvxumMU+t2Aa7blbr8O2pUOfu
+faYUwDg/EPTCsRltiFvGz953uxe1ZbibuI1mjVEpAs4nI3VfKSxChSdlGZtyMsMS
+UA5NEQ4MO6di0Xa4cW7uK1/q0yb3M4zl1am4iibCoPb5JsAbSVIqtpc4QqKekNNK
+XLYNiYkdAgMBAAECggEADX4c4BD1rZHoyaU1dzRbbhKP5Qmnkk5TrtyK/AMeITrL
+O4e6ZisdghWIAtitcojCoNCI65TFHhDP5qUFgSOZyN4g6/4UwdCrbt5WeUVTboVM
+WbkduxI9m9U1Xp15thtVqt970nBFJwmRgBzVVr8ACCcwu4aaLthOv798CsQ+Q9qK
+qBhqr6QCQMzmG9+RDFN62n0wN5GlQsSrgmX+taP2S2EBqpWS0p4q4xv5UWAPh1Q/
+sHWQ+5W0h6rR+X/NGQ3OY1yvlWAQlmu6HSY5QuRJZdAilJRZOI6Z1kge134oIvHx
+TSgzIZ+UEYz8l15ENu55xJxTYkSJLJu3ZtOBlVGo0QKBgQDBlXmJ+n4InHXewCId
+e1ai1VA9QQvc6hl19PEQ0m7A4wiqM+PWIixX2s3zjDyHiD3pJWBu9aR4VDST8Mhe
+XIncsJRzqXpdSnEHlSsws9GQT13htchO8k31pBBNJsm2VG7CeDr21Ty3wWMYzPL5
+esJPXNjAk9/92L6cMDk+rY8S2QKBgQC2C+IiWxMmwoSfmvfTNdoeBEj+mL82EsXF
+gV7JcSjMVXbnPSbq2fnlOTrAe1TCsf8jlcdQHNStLToV7smewfGSMt3LLzEWuH4j
+oaLyPPwgfwMZcJShlyh/49KxspnYNh/d0B9cMXysJ7fasPXhPc1icxOAaj317dGT
+wpqIYST15QKBgH8ZeewKyDc1KvquYXfD5DUTIxSkoXpRRZg50xD9aPRB3A2L9jpA
+w6aHJZOTbqZ54FQ0UyVnKK5McxzzCUtTLLz2PvHVw15/IskcunfGiIBca8JnDPYw
+htkR+BX/so6AzxvlvqkThkMLuNmurpT4cZ2T00hVjspnRXbc/qjVYUu5AoGBAJGn
+qGL8o7IbaKmbADaJm97wZsbtx++nzX1dKU3bsFzs9JnHn9/AT+VLiOqAwyyT5iO+
+rx42MyPsT9FEoSTY4EOtVzA+rfQT4Tj5FrrieIg3l28/WGyB2PGagvWShO0tQQnk
+f3LwVWQY002y0MhK/o2KrUvNtY2Tnl+vEJ2VvFDRAoGBALkegS4yvT1MqB9a/WLk
+ROXQ94CJTDM751Lp6OnyJy9kVWlQvFQXL7FN836LJN22JFCANnPUrbVXht3hXadb
+3KHe19MouNEMG+CZK9cuk8SKIlt18Kvnv3fVxhksaQAYJOcPMFbvwiv8UoochR5u
+UuUQ9LfFpj9eL/gsgjICQTiy
-----END PRIVATE KEY-----
diff --git a/arrow-flight/examples/data/server.pem
b/arrow-flight/examples/data/server.pem
index 4cc97bcf4..d675054b4 100644
--- a/arrow-flight/examples/data/server.pem
+++ b/arrow-flight/examples/data/server.pem
@@ -1,27 +1,19 @@
-----BEGIN CERTIFICATE-----
-MIIEmDCCAwCgAwIBAgIQVEJFCgU/CZk9JEwTucWPpzANBgkqhkiG9w0BAQsFADCB
-hTEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMS0wKwYDVQQLDCRsdWNp
-b0BMdWNpb3MtV29yay1NQlAgKEx1Y2lvIEZyYW5jbykxNDAyBgNVBAMMK21rY2Vy
-dCBsdWNpb0BMdWNpb3MtV29yay1NQlAgKEx1Y2lvIEZyYW5jbykwHhcNMTkwNjAx
-MDAwMDAwWhcNMjkwOTI5MjMzNTM0WjBYMScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxv
-cG1lbnQgY2VydGlmaWNhdGUxLTArBgNVBAsMJGx1Y2lvQEx1Y2lvcy1Xb3JrLU1C
-UCAoTHVjaW8gRnJhbmNvKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-APKm1szJhbO2C1q3UxcszMiRpB155VuzVj+oKkB3Bl79jlmlvOMYiMLFsHq81FKc
-RtgqnK0oc/Nh8zvx3wrxs++mepciJNcVPQlCXDU4csLV+vh7n3wYm6YCakxgWu2q
-/R9uZQVO5AZsfF44fa+OLRu+vc0pm5sx+QRk/dfiw1dehci5bYtpLw4wYqglp4IG
-91uzMSJIaP+/0GOkzTItMfz000xfVP4W1Mqe5dqDmDumvqXMmPzf4zMAbLic6Ox5
-K5SKa6LIb3T8Lm0DnALRCHlFsOeQViELjgrGh/+Lr6Od9q14g82IgjBBX7Z/ob9o
-rWGCN6RPXSb96hFgNN/57lkCAwEAAaOBrzCBrDAOBgNVHQ8BAf8EBAMCBaAwEwYD
-VR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBQdvlE4
-Bdcsjc9oaxjDCRu5FiuZkzBWBgNVHREETzBNggtleGFtcGxlLmNvbYINKi5leGFt
-cGxlLmNvbYIMZXhhbXBsZS50ZXN0gglsb2NhbGhvc3SHBH8AAAGHEAAAAAAAAAAA
-AAAAAAAAAAEwDQYJKoZIhvcNAQELBQADggGBAKb2TJ8l+e1eraNwZWizLw5fccAf
-y59J1JAWdLxZyAI/bkiTlVO3DQoPZpw7XwLhefCvILkwKAL4TtIGGVC9yTb5Q5eg
-rqGO3FC0yg1fn65Kf1VpVxxUVyoiM5PQ4pFJb4AicAv88rCOLD9FFuE0PKOKU/dm
-Tw0WgPStoh9wsJ1RXUuTJYZs1nd1kMBlfv9NbLilnL+cR2sLktS54X5XagsBYVlf
-oapRb0JtABOoQhX3U8QMq8UF8yzceRHNTN9yfLOUrW26s9nKtlWVniNhw1uPxZw9
-RHM7w9/4+a9LXtEDYg4IP/1mm0ywBoUqy1O6hA73uId+Yi/kFBks/GyYaGjKgYcO
-23B75tkPGYEdGuGZYLzZNHbXg4V0UxFQG3KA1pUiSnD3bN2Rxs+CMpzORnOeK3xi
-EooKgAPYsehItoQOMPpccI2xHdSAMWtwUgOKrefUQujkx2Op+KFlspF0+WJ6AZEe
-2D4hyWaEZsvvILXapwqHDCuN3/jSUlTIqUoE1w==
+MIIDKzCCAhOgAwIBAgIURGJB6QyNfnGJiavpS6DB4+o4YPowDQYJKoZIhvcNAQEL
+BQAwHTELMAkGA1UEBhMCRkkxDjAMBgNVBAMMBXZhaGlkMB4XDTI0MTAxODE4MTcy
+NVoXDTI5MTAxNzE4MTcyNVowHTELMAkGA1UEBhMCRkkxDjAMBgNVBAMMBXZhaGlk
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAialA1EEH7pt7v2/ajdUF
+73Xdq4g5Y0BiFl3tzxqHPMD9ZwpCbpMWRCa91oovMfb/4if2cJMCFfThJsthEesd
+F4e2mClRegdsNEdkPH1oWceP5HrOphGuqV7raJb6ixdTSFIL6cPsmoBj3E3ukTNN
+gGW96Uv4Kqm4dwMo9ataIgh2R96fpKUCDL8bpjFPrdgGu25W6/DtqVDn7n2mFMA4
+PxD0wrEZbYhbxs/ed7sXtWW4m7iNZo1RKQLOJyN1XyksQoUnZRmbcjLDElAOTREO
+DDunYtF2uHFu7itf6tMm9zOM5dWpuIomwqD2+SbAG0lSKraXOEKinpDTSly2DYmJ
+HQIDAQABo2MwYTAfBgNVHSMEGDAWgBS7apCkF71w6jQed0hH1W+lsImfITAJBgNV
+HRMEAjAAMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDAdBgNVHQ4EFgQUTVRUyJuulyjb
+PNY60pZnbn3YZM0wDQYJKoZIhvcNAQELBQADggEBAFjMnkZ8uh53x/vvACI/QiVG
+u8+2bzUllXDp5cS4Fb/AxQABvNROgfrfxcUkcjoRoyim2V8KyYQmmmIGrBXpevMs
+/gIPKo5haj5Ijnttz+9IbRY0h9XqEEevZbuM8o7zCpxxA305qbrmGkApRsRbiuZP
+JglsBdR6z9HhURfhfQbiaxLhu1jmdWk/XZyghQDXJpzTDE8k1kDjBSHmklQ5JQ2J
+o2NmXD78RQ5ZIRu9pmH47rs7CeTy6CjRlHK3lGOb4PfE+eHGPUXbwOl+iP6WuHG6
+K5erpWgHWvPXH4MMTNOgaJN7HNLyxVbC9W1l0JpqN8UmHwj6bXC262Soz+STbfE=
-----END CERTIFICATE-----
diff --git a/arrow-flight/examples/flight_sql_server.rs
b/arrow-flight/examples/flight_sql_server.rs
index dd3a3943d..8c6c6e710 100644
--- a/arrow-flight/examples/flight_sql_server.rs
+++ b/arrow-flight/examples/flight_sql_server.rs
@@ -797,6 +797,7 @@ mod tests {
use std::fs;
use std::future::Future;
use std::net::SocketAddr;
+ use std::path::PathBuf;
use std::time::Duration;
use tempfile::NamedTempFile;
use tokio::net::{TcpListener, UnixListener, UnixStream};
@@ -901,13 +902,15 @@ mod tests {
F: FnOnce(FlightSqlServiceClient<Channel>) -> C,
C: Future<Output = ()>,
{
- let cert =
std::fs::read_to_string("examples/data/server.pem").unwrap();
- let key = std::fs::read_to_string("examples/data/server.key").unwrap();
- let client_ca =
std::fs::read_to_string("examples/data/client_ca.pem").unwrap();
+ let cert_dir = PathBuf::from("examples/data");
+
+ let cert =
std::fs::read_to_string(cert_dir.join("server.pem")).unwrap();
+ let key =
std::fs::read_to_string(cert_dir.join("server.key")).unwrap();
+ let ca_root =
std::fs::read_to_string(cert_dir.join("ca_root.pem")).unwrap();
let tls_config = ServerTlsConfig::new()
.identity(Identity::from_pem(&cert, &key))
- .client_ca_root(Certificate::from_pem(&client_ca));
+ .client_ca_root(Certificate::from_pem(&ca_root));
let (incoming, addr) = bind_tcp().await;
let uri = format!("https://{}:{}", addr.ip(), addr.port());
@@ -920,14 +923,13 @@ mod tests {
.add_service(svc)
.serve_with_incoming(incoming);
- let request_future = async {
- let cert =
std::fs::read_to_string("examples/data/client1.pem").unwrap();
- let key =
std::fs::read_to_string("examples/data/client1.key").unwrap();
- let server_ca =
std::fs::read_to_string("examples/data/ca.pem").unwrap();
+ let request_future = async move {
+ let cert =
std::fs::read_to_string(cert_dir.join("client.pem")).unwrap();
+ let key =
std::fs::read_to_string(cert_dir.join("client.key")).unwrap();
let tls_config = ClientTlsConfig::new()
.domain_name("localhost")
- .ca_certificate(Certificate::from_pem(&server_ca))
+ .ca_certificate(Certificate::from_pem(&ca_root))
.identity(Identity::from_pem(cert, key));
let endpoint =
endpoint(uri).unwrap().tls_config(tls_config).unwrap();