|
|
|
@ -0,0 +1,31 @@ |
|
|
|
#!/bin/bash |
|
|
|
# |
|
|
|
# a simple script for use on shared cpanel server to automatically add the |
|
|
|
# the certificates to cpanel if the uapi function is available |
|
|
|
# use with RELOAD_CMD="${HOME}/cpanel_cert_upload domain.com" |
|
|
|
|
|
|
|
domain="$1" |
|
|
|
|
|
|
|
rawurlencode() { |
|
|
|
local string |
|
|
|
string=$(cat "${1}") |
|
|
|
local strlen=${#string} |
|
|
|
local encoded="" |
|
|
|
local pos c o |
|
|
|
|
|
|
|
for (( pos=0 ; pos<strlen ; pos++ )); do |
|
|
|
c=${string:$pos:1} |
|
|
|
case "$c" in |
|
|
|
[-_.~a-zA-Z0-9] ) o="${c}" ;; |
|
|
|
* ) printf -v o '%%%02x' "'$c" |
|
|
|
esac |
|
|
|
encoded+="${o}" |
|
|
|
done |
|
|
|
echo "${encoded}" |
|
|
|
} |
|
|
|
|
|
|
|
ecert=$( rawurlencode "${HOME}/.getssl/${domain}/${domain}.crt" ) |
|
|
|
ekey=$( rawurlencode "${HOME}/.getssl/${domain}/${domain}.key" ) |
|
|
|
echain=$( rawurlencode "${HOME}/.getssl/${domain}/chain.crt" ) |
|
|
|
|
|
|
|
uapi SSL install_ssl domain="${domain}" cert="${ecert}" key="${ekey}" cabundle="${echain}" |