@@ -249,42 +249,59 @@ get_domain_values() {
249249
250250# SSL certificate verification
251251is_web_domain_cert_valid () {
252- if [ ! -e " $ssl_dir /$domain .crt" ] || [ ! -e " $ssl_dir / $domain .key " ] ; then
253- echo " Error: $ssl_dir /$domain .[ crt|key] not found"
252+ if [ ! -e " $ssl_dir /$domain .crt" ]; then
253+ echo " Error: $ssl_dir /$domain .crt not found"
254254 log_event " $E_NOTEXIST " " $EVENT "
255255 exit $E_NOTEXIST
256256 fi
257257
258- if [ ! -e " $ssl_dir /$domain .ca" ]; then
259- crt=$( openssl verify $ssl_dir /$domain .crt 2> /dev/null | grep ' OK' )
260- else
261- crt=$( openssl verify -untrusted $ssl_dir /$domain .ca \
262- $ssl_dir /$domain .crt 2> /dev/null | grep ' OK' )
258+ if [ ! -e " $ssl_dir /$domain .key" ]; then
259+ echo " Error: $ssl_dir /$domain .key not found"
260+ log_event " $E_NOTEXIST " " $EVENT "
261+ exit $E_NOTEXIST
263262 fi
264- # if [ -z "$crt" ]; then
265- # echo "Error: certificate is not valid"
266- # log_event "$E_INVALID" "$EVENT"
267- # exit $E_INVALID
268- # fi
269-
270- openssl rsa -in " $ssl_dir /$domain .key" -check & > /dev/null
271- if [ " $? " -ne 0 ]; then
272- echo " Error: ssl key is not valid"
263+
264+ crt_vrf=$( openssl verify $ssl_dir /$domain .crt 2>&1 )
265+ if [ ! -z " $( echo $crt_vrf | grep ' unable to load' ) " ]; then
266+ echo " Error: certificate is not valid"
273267 log_event " $E_INVALID " " $EVENT "
274268 exit $E_INVALID
275269 fi
276270
271+ if [ ! -z " $( echo $crt_vrf | grep ' unable to get local issuer' ) " ]; then
272+ if [ ! -e " $ssl_dir /$domain .ca" ]; then
273+ echo " Error: certificate authority not found"
274+ log_event " $E_NOTEXIST " " $EVENT "
275+ exit $E_NOTEXIST
276+ fi
277+ fi
278+
277279 if [ -e " $ssl_dir /$domain .ca" ]; then
278- ca =$( openssl verify $ssl_dir /$domain .ca 2> /dev/null | grep ' OK' )
279- if [ -z " $ca " ]; then
280+ ca_vrf =$( openssl verify $ssl_dir /$domain .ca 2> /dev/null | grep ' OK' )
281+ if [ -z " $ca_vrf " ]; then
280282 echo " Error: ssl certificate authority is not valid"
281283 log_event " $E_INVALID " " $EVENT "
282284 exit $E_INVALID
283285 fi
286+
287+ crt_vrf=$( openssl verify -untrusted $ssl_dir /$domain .ca \
288+ $ssl_dir /$domain .crt 2> /dev/null | grep ' OK' )
289+ if [ -z " $crt_vrf " ]; then
290+ echo " Error: root or/and intermediate cerificate not found"
291+ log_event " $E_NOTEXIST " " $EVENT "
292+ exit $E_NOTEXIST
293+ fi
294+ fi
295+
296+ key_vrf=$( grep ' RSA PRIVATE KEY' $ssl_dir /$domain .key | wc -l)
297+ if [ " $key_vrf " -ne 2 ]; then
298+ echo " Error: ssl key is not valid"
299+ log_event " $E_INVALID " " $EVENT "
300+ exit $E_INVALID
284301 fi
285302
286303 openssl s_server -quiet -cert $ssl_dir /$domain .crt \
287- -key $ssl_dir /$domain .key &
304+ -key $ssl_dir /$domain .key >> /dev/null 2>&1 &
288305 pid=$!
289306 sleep 0.5
290307 disown & > /dev/null
0 commit comments