@@ -36,6 +36,26 @@ check_env_variables() {
36
36
return 0
37
37
}
38
38
39
+ create_self_signed_certificate () {
40
+ local SSL_CERTIFICATE=" $1 "
41
+ local SSL_CERTIFICATE_KEY=" $2 "
42
+
43
+ # Check if the SSL_CERTIFICATE and SSL_CERTIFICATE_KEY are in the same directory
44
+ if [ " $( dirname " $SSL_CERTIFICATE " ) " != " $( dirname " $SSL_CERTIFICATE_KEY " ) " ]; then
45
+ log_message " ERROR" " SSL_CERTIFICATE and SSL_CERTIFICATE_KEY must be in the same directory"
46
+ exit 1
47
+ fi
48
+
49
+ SSL_CERT_DIR=" $( dirname " $SSL_CERTIFICATE " ) "
50
+ log_message " INFO" " Creating self-signed certificate directory in $SSL_CERT_DIR "
51
+ mkdir -p " $SSL_CERT_DIR " || { log_message " ERROR" " Could not create directory $SSL_CERT_DIR " ; exit 1; }
52
+
53
+ openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
54
+ -keyout $SSL_CERTIFICATE \
55
+ -out $SSL_CERTIFICATE_KEY \
56
+ -subj " /CN=localhost"
57
+ }
58
+
39
59
# Initial environment variables from .env file
40
60
if [ -e $ENV_CONFIG ]; then
41
61
log_message " INFO" " Setting environment variables for $ENV_CONFIG file"
@@ -62,6 +82,7 @@ if [ ! -f "$SSL_CERTIFICATE_PATH" ] || [ ! -f "$SSL_CERTIFICATE_KEY_PATH" ]; the
62
82
log_message " INFO" " No CA-signed certificate or key found. Using self-signed certificate instead."
63
83
SSL_CERTIFICATE_PATH=" $SSL_CERTIFICATE_BASE_DIR /$DOMAIN /$SELF_SIGN_CERTIFICATE_NAME "
64
84
SSL_CERTIFICATE_KEY_PATH=" $SSL_CERTIFICATE_BASE_DIR /$DOMAIN /$SELF_SIGN_CERTIFICATE_KEY_NAME "
85
+ create_self_signed_certificate $SSL_CERTIFICATE_PATH $SSL_CERTIFICATE_KEY_PATH
65
86
fi
66
87
67
88
log_message " INFO" " Sourcing ssl certificate: $SSL_CERTIFICATE_PATH " $SSL_CERTIFICATE_KEY_PATH
0 commit comments