Skip to content

Commit 0328055

Browse files
lundibunditshemsedinov
authored andcommitted
Improve cert generate.sh script
Use ECDSA curve ed25519 key instead of RSA if possible. Minor improvements: * Add shebang * Make sure to not override existing key without explicit approval * Add explanation messages for each step PR-URL: #138
1 parent b11a10f commit 0328055

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

cert/generate.sh

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
1+
#!/bin/sh
2+
13
cd "$(dirname "$0")"
2-
openssl genrsa -out key.pem 2048
3-
openssl req -new -out self.pem -key key.pem -subj '/CN=localhost'
4+
5+
KEY_FILE=key.pem
6+
if [ -f "$KEY_FILE" ]; then
7+
read -e -p "Are you sure you want to replace existing key? [y/N] " YES_NO
8+
if [ "$YES_NO" != "y" ] && [ "$YES_NO" != "Y" ]; then
9+
exit 0
10+
fi
11+
fi
12+
13+
echo "Generating private ed25519 key"
14+
openssl genpkey -algorithm ed25519 -out $KEY_FILE
15+
if [ $? != 0 ]; then
16+
echo "Failed to generate ed25519 key, fallback to RSA"
17+
echo "Generating private RSA2048 key"
18+
openssl genrsa -out key.pem 2048
19+
fi
20+
21+
set -e
22+
23+
echo "Generating certificate signing request"
24+
openssl req -new -out self.pem -key $KEY_FILE -subj '/CN=localhost'
25+
426
openssl req -text -noout -in self.pem
5-
openssl x509 -req -days 1024 -in self.pem -signkey key.pem -out cert.pem -extfile generate.ext
27+
28+
echo "Generating certificate"
29+
openssl x509 -req -days 1024 -in self.pem -signkey $KEY_FILE -out cert.pem -extfile generate.ext

0 commit comments

Comments
 (0)