2/5 taken out of #1269 This patch adds the setup and teardown of Mastodon for use in the end-to-end tests Co-Authored-By: zam <mirco.zachmann@meissa.de> Co-Authored-By: erik <erik.seiert@meissa-gmbh.de> Co-Authored-By: Michael Jerger <michael.jerger@meissa-gmbh.de> Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/1274 Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org> Reviewed-by: Beowulf <beowulf@noreply.code.forgejo.org> Co-authored-by: famfo <famfo@famfo.xyz> Co-committed-by: famfo <famfo@famfo.xyz>
32 lines
No EOL
992 B
Bash
32 lines
No EOL
992 B
Bash
function generate_certs() {
|
|
|
|
host=${1}
|
|
cert_location=${2}
|
|
|
|
rootCertificate="${cert_location}/custom-snakeoil-rootCA.crt"
|
|
rootCertKey="${cert_location}/custom-snakeoil-rootCA.key"
|
|
extensionFile="${cert_location}/${host}-snakeoil.ext"
|
|
keyFile="${cert_location}/${host}-snakeoil.key"
|
|
csrFile="${cert_location}/${host}-snakeoil.csr"
|
|
crtAltSubFile="${cert_location}/${host}-snakeoil.crt"
|
|
|
|
cat << EOF > ${extensionFile}
|
|
authorityKeyIdentifier=keyid,issuer
|
|
basicConstraints=CA:FALSE
|
|
subjectAltName = @alt_names
|
|
[alt_names]
|
|
DNS.1 = ${host}
|
|
DNS.2 = localhost
|
|
EOF
|
|
|
|
# Create CSR
|
|
openssl req -newkey rsa:2048 -nodes -keyout ${keyFile} \
|
|
-out ${csrFile} -subj "/CN=${host}" -addext "subjectAltName=DNS:localhost"
|
|
|
|
# Sign Our CSR with the root CA cert
|
|
openssl x509 -req -CA ${rootCertificate} \
|
|
-CAkey ${rootCertKey} \
|
|
-in ${csrFile} \
|
|
-out ${crtAltSubFile} \
|
|
-days 3650 -CAcreateserial -extfile ${extensionFile}
|
|
} |