| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | 
							- #!/usr/bin/env sh
 
- #Here is a script to deploy cert to unifi server.
 
- #returns 0 means success, otherwise error.
 
- #DEPLOY_UNIFI_KEYSTORE="/usr/lib/unifi/data/keystore"
 
- #DEPLOY_UNIFI_KEYPASS="aircontrolenterprise"
 
- #DEPLOY_UNIFI_RELOAD="service unifi restart"
 
- ########  Public functions #####################
 
- #domain keyfile certfile cafile fullchain
 
- unifi_deploy() {
 
-   _cdomain="$1"
 
-   _ckey="$2"
 
-   _ccert="$3"
 
-   _cca="$4"
 
-   _cfullchain="$5"
 
-   _debug _cdomain "$_cdomain"
 
-   _debug _ckey "$_ckey"
 
-   _debug _ccert "$_ccert"
 
-   _debug _cca "$_cca"
 
-   _debug _cfullchain "$_cfullchain"
 
-   if ! _exists keytool; then
 
-     _err "keytool not found"
 
-     return 1
 
-   fi
 
-   DEFAULT_UNIFI_KEYSTORE="/usr/lib/unifi/data/keystore"
 
-   _unifi_keystore="${DEPLOY_UNIFI_KEYSTORE:-$DEFAULT_UNIFI_KEYSTORE}"
 
-   DEFAULT_UNIFI_KEYPASS="aircontrolenterprise"
 
-   _unifi_keypass="${DEPLOY_UNIFI_KEYPASS:-$DEFAULT_UNIFI_KEYPASS}"
 
-   DEFAULT_UNIFI_RELOAD="service unifi restart"
 
-   _reload="${DEPLOY_UNIFI_RELOAD:-$DEFAULT_UNIFI_RELOAD}"
 
-   _debug _unifi_keystore "$_unifi_keystore"
 
-   if [ ! -f "$_unifi_keystore" ]; then
 
-     if [ -z "$DEPLOY_UNIFI_KEYSTORE" ]; then
 
-       _err "unifi keystore is not found, please define DEPLOY_UNIFI_KEYSTORE"
 
-       return 1
 
-     else
 
-       _err "It seems that the specified unifi keystore is not valid, please check."
 
-       return 1
 
-     fi
 
-   fi
 
-   if [ ! -w "$_unifi_keystore" ]; then
 
-     _err "The file $_unifi_keystore is not writable, please change the permission."
 
-     return 1
 
-   fi
 
-   _info "Generate import pkcs12"
 
-   _import_pkcs12="$(_mktemp)"
 
-   _toPkcs "$_import_pkcs12" "$_ckey" "$_ccert" "$_cca" "$_unifi_keypass" unifi root
 
-   if [ "$?" != "0" ]; then
 
-     _err "Oops, error creating import pkcs12, please report bug to us."
 
-     return 1
 
-   fi
 
-   _info "Modify unifi keystore: $_unifi_keystore"
 
-   if keytool -importkeystore \
 
-     -deststorepass "$_unifi_keypass" -destkeypass "$_unifi_keypass" -destkeystore "$_unifi_keystore" \
 
-     -srckeystore "$_import_pkcs12" -srcstoretype PKCS12 -srcstorepass "$_unifi_keypass" \
 
-     -alias unifi -noprompt; then
 
-     _info "Import keystore success!"
 
-     rm "$_import_pkcs12"
 
-   else
 
-     _err "Import unifi keystore error, please report bug to us."
 
-     rm "$_import_pkcs12"
 
-     return 1
 
-   fi
 
-   _info "Run reload: $_reload"
 
-   if eval "$_reload"; then
 
-     _info "Reload success!"
 
-     if [ "$DEPLOY_UNIFI_KEYSTORE" ]; then
 
-       _savedomainconf DEPLOY_UNIFI_KEYSTORE "$DEPLOY_UNIFI_KEYSTORE"
 
-     else
 
-       _cleardomainconf DEPLOY_UNIFI_KEYSTORE
 
-     fi
 
-     if [ "$DEPLOY_UNIFI_KEYPASS" ]; then
 
-       _savedomainconf DEPLOY_UNIFI_KEYPASS "$DEPLOY_UNIFI_KEYPASS"
 
-     else
 
-       _cleardomainconf DEPLOY_UNIFI_KEYPASS
 
-     fi
 
-     if [ "$DEPLOY_UNIFI_RELOAD" ]; then
 
-       _savedomainconf DEPLOY_UNIFI_RELOAD "$DEPLOY_UNIFI_RELOAD"
 
-     else
 
-       _cleardomainconf DEPLOY_UNIFI_RELOAD
 
-     fi
 
-     return 0
 
-   else
 
-     _err "Reload error"
 
-     return 1
 
-   fi
 
-   return 0
 
- }
 
 
  |