mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
* Move uWebSockets and uSockets forks into Bun's repository * Update Makefile * Update settings.json * Update libuwsockets.cpp * Remove backends we won't be using * Update bindings.cpp --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eo pipefail
|
|
|
|
function gen_cert {
|
|
local path=$1
|
|
local CN=$2
|
|
local ca_path=$3
|
|
local ca_name=${4:-ca}
|
|
|
|
mkdir -p ${path}
|
|
|
|
openssl genrsa -out ${path}/${CN}_key.pem 2048 >/dev/null
|
|
echo "generated ${path}/${CN}_key.pem"
|
|
|
|
openssl req -new -sha256 \
|
|
-key ${path}/${CN}_key.pem \
|
|
-subj "/O=uNetworking/O=uSockets/CN=${CN}" \
|
|
-reqexts SAN \
|
|
-config <(cat /etc/ssl/openssl.cnf \
|
|
<(printf "\n[SAN]\nsubjectAltName=DNS:localhost,DNS:127.0.0.1")) \
|
|
-out ${path}/${CN}.csr &>/dev/null
|
|
|
|
if [ -z "${ca_path}" ]; then
|
|
# self-signed
|
|
openssl x509 -req -in ${path}/${CN}.csr \
|
|
-signkey ${path}/${CN}_key.pem -days 365 -sha256 \
|
|
-outform PEM -out ${path}/${CN}_crt.pem &>/dev/null
|
|
|
|
else
|
|
openssl x509 -req -in ${path}/${CN}.csr \
|
|
-CA ${ca_path}/${ca_name}_crt.pem -CAkey ${ca_path}/${ca_name}_key.pem \
|
|
-CAcreateserial -days 365 -sha256 \
|
|
-outform PEM -out ${path}/${CN}_crt.pem &>/dev/null
|
|
fi
|
|
|
|
rm -f ${path}/${CN}.csr
|
|
echo "generated ${path}/${CN}_crt.pem"
|
|
}
|
|
|
|
# main
|
|
certs=${1:-"/tmp/certs"}
|
|
|
|
gen_cert "${certs}" "valid_ca"
|
|
gen_cert "${certs}" "valid_server" "${certs}" "valid_ca"
|
|
gen_cert "${certs}" "valid_client" "${certs}" "valid_ca"
|
|
|
|
gen_cert "${certs}" "invalid_ca"
|
|
gen_cert "${certs}" "invalid_client" "${certs}" "invalid_ca"
|
|
gen_cert "${certs}" "selfsigned_client"
|
|
|