diff --git a/cert-sh-functions/cert-sh-functions b/cert-sh-functions/cert-sh-functions index 96d41c3..953a912 100755 --- a/cert-sh-functions/cert-sh-functions +++ b/cert-sh-functions/cert-sh-functions @@ -119,6 +119,23 @@ ssl_make_cert() ssl_fatal 'Unable to create certificate' } +#PEM certificate + +ssl_check_pem() +{ + [ -n "$1" -a -f "$SSL_KEYDIR/$1.pem" -a "$SSL_KEYDIR/$1.pem" -nt "$SSL_KEYDIR/$1.key" -a "$SSL_KEYDIR/$1.pem" -nt "$SSL_CERTDIR/$1.cert" ] +} + +ssl_make_pem() +{ + ssl_check_certfile "$@" && return + [ -n "$1" ] || + ssl_fatal 'Insufficient arguments.' + + cat "$SSL_CERTDIR/$1.cert" "$SSL_KEYDIR/$1.key" > "$SSL_KEYDIR/$1.pem" || + ssl_fatal 'Unable to create PEM certificate' +} + #dh params ssl_check_dhparam() @@ -163,4 +180,7 @@ ssl_generate() ssl_check_cert "$@" || ssl_action ssl_make_cert "SSL self-signed certificate" "$@" + + ssl_check_pem "$@" || + ssl_action ssl_make_pem "SSL PEM certificate" "$@" }