@@ -54,6 +54,9 @@ SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
54
54
# Source common functions
55
55
source " $SCRIPT_DIR /_common.sh"
56
56
57
+ # Default key length
58
+ DEFAULT_KEY_LENGTH=2048
59
+
57
60
# Check if the required tools are installed
58
61
check_zsh_version
59
62
check_bash_version
@@ -74,6 +77,7 @@ print_usage() {
74
77
echo -e " ${YELLOW} --organization <organization>${NC} "
75
78
echo -e " ${YELLOW} --organizational-unit <unit>${NC} "
76
79
echo -e " ${YELLOW} --common-name <name>${NC} "
80
+ echo -e " ${YELLOW} --key-length <length>${NC} (default: 2048)"
77
81
echo -e " ${YELLOW} [--output-p12-file <file>]${NC} "
78
82
echo -e " ${BLUE} Parameters for generate-server:${NC} "
79
83
echo -e " ${YELLOW} --private-key-file <file>${NC} "
@@ -89,6 +93,7 @@ print_usage() {
89
93
echo -e " ${YELLOW} --organization <organization>${NC} "
90
94
echo -e " ${YELLOW} --organizational-unit <unit>${NC} "
91
95
echo -e " ${YELLOW} --common-name <name>${NC} "
96
+ echo -e " ${YELLOW} --key-length <length>${NC} (default: 2048)"
92
97
echo -e " ${YELLOW} [--san-domains <domains>]${NC} "
93
98
echo -e " ${YELLOW} [--output-p12-file <file>]${NC} "
94
99
echo -e " ${BLUE} Parameters for generate-client:${NC} "
@@ -105,6 +110,7 @@ print_usage() {
105
110
echo -e " ${YELLOW} --organization <organization>${NC} "
106
111
echo -e " ${YELLOW} --organizational-unit <unit>${NC} "
107
112
echo -e " ${YELLOW} --common-name <name>${NC} "
113
+ echo -e " ${YELLOW} --key-length <length>${NC} (default: 2048)"
108
114
echo -e " ${YELLOW} [--extensions-file <file>]${NC} "
109
115
echo -e " ${YELLOW} [--ext-cert-role <role>]${NC} "
110
116
echo -e " ${YELLOW} [--ext-cert-device-id <id>]${NC} "
@@ -118,6 +124,10 @@ shift
118
124
declare -A PARAMS
119
125
while [[ " $# " -gt 0 ]]; do
120
126
case $1 in
127
+ --key-length)
128
+ KEY_LENGTH=" $2 "
129
+ shift
130
+ ;;
121
131
--working-dir)
122
132
PARAMS[" WORKING_DIR" ]=$2
123
133
shift
@@ -211,6 +221,9 @@ while [[ "$#" -gt 0 ]]; do
211
221
shift
212
222
done
213
223
224
+ # Set key length to default if not provided
225
+ KEY_LENGTH=${KEY_LENGTH:- $DEFAULT_KEY_LENGTH }
226
+
214
227
# Check if working directory is provided
215
228
if [ -z " ${PARAMS["WORKING_DIR"]} " ]; then
216
229
echo -e " ${RED} --working-dir is required${NC} "
@@ -237,7 +250,7 @@ generate-ca)
237
250
exit 0
238
251
fi
239
252
240
- generate_private_key " $PRIVATE_KEY_FILE "
253
+ generate_private_key " $PRIVATE_KEY_FILE " " $KEY_LENGTH "
241
254
PRIVATE_KEY_PASSWORD=$( get_private_key_password " $PRIVATE_KEY_FILE " )
242
255
generate_ca_certificate " $PRIVATE_KEY_FILE " " $CA_CERTIFICATE_FILE " " ${PARAMS["VALIDITY_DAYS"]} " " ${PARAMS["COUNTRY"]} " " ${PARAMS["STATE"]} " " ${PARAMS["LOCALITY"]} " " ${PARAMS["ORGANIZATION"]} " " ${PARAMS["ORGANIZATIONAL_UNIT"]} " " ${PARAMS["COMMON_NAME"]} " " $PRIVATE_KEY_PASSWORD "
243
256
@@ -267,7 +280,7 @@ generate-server)
267
280
exit 0
268
281
fi
269
282
270
- generate_private_key " $PRIVATE_KEY_FILE "
283
+ generate_private_key " $PRIVATE_KEY_FILE " " $KEY_LENGTH "
271
284
PRIVATE_KEY_PASSWORD=$( get_private_key_password " $PRIVATE_KEY_FILE " )
272
285
if [ -z " ${PARAMS["CA_KEY_PASSWORD"]} " ]; then
273
286
CA_KEY_PASSWORD=$( get_private_key_password " $CA_KEY_FILE " )
@@ -307,7 +320,7 @@ generate-client)
307
320
exit 0
308
321
fi
309
322
310
- generate_private_key " $PRIVATE_KEY_FILE "
323
+ generate_private_key " $PRIVATE_KEY_FILE " " $KEY_LENGTH "
311
324
PRIVATE_KEY_PASSWORD=$( get_private_key_password " $PRIVATE_KEY_FILE " )
312
325
if [ -z " ${PARAMS["CA_KEY_PASSWORD"]} " ]; then
313
326
CA_KEY_PASSWORD=$( get_private_key_password " $CA_KEY_FILE " )
0 commit comments