-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgenerate-certs.sh
More file actions
executable file
·40 lines (28 loc) · 1004 Bytes
/
Copy pathgenerate-certs.sh
File metadata and controls
executable file
·40 lines (28 loc) · 1004 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")"
clean() {
rm -f *.pem *.key *.csr *.srl config
rm -rf ./ca/
}
clean
DEFAULT_RSA_PSS_SIGNOPTS='-sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:20'
export RSA_PSS_SIGNOPTS="${RSA_PSS_SIGNOPTS-${DEFAULT_RSA_PSS_SIGNOPTS}}"
export ALG="${ALG:-rsa}"
./00-generate-root-ca.sh
./01-issue-inter-ca.sh server
./01-issue-inter-ca.sh client
./02-issue-server-cert.sh "${SERVER_CERT_ISSUER:-inter-ca-server}"
./03-issue-client-cert.sh "${CLIENT_CERT_ISSUER:-inter-ca-client}"
CLIENT_KEYFILE="${TLS_CLIENT_FNAME:-client-key}.pem"
CLIENT_CERTFILE="${TLS_CLIENT_FNAME:-client-cert}.pem"
SERVER_KEYFILE="server-key.pem"
SERVER_CERTFILE="server-cert.pem"
dir="$(date --iso-8601=second | tr ':' '-')"
mkdir "$dir"
mv ca.pem "$dir/ca.pem"
mv $CLIENT_KEYFILE "$dir/$CLIENT_KEYFILE"
cat $CLIENT_CERTFILE inter-ca-client.pem > "$dir/$CLIENT_CERTFILE"
mv $SERVER_KEYFILE "$dir/key.pem"
cat $SERVER_CERTFILE inter-ca-server.pem > "$dir/cert.pem"
clean