autocertbot.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. # script convert end make ssl sert for https
  3. # info -
  4. #
  5. path_certbot="/etc/letsencrypt/live";
  6. path_ssl="/etc/ssl/private";
  7. source certbot.conf;
  8. logfile="/var/log/syslog";
  9. #
  10. cmd=$1;
  11. #
  12. function makesslkey() {
  13. :>/etc/ssl/crt-list.txt
  14. for ((dmn=0; dmn != ${#domains[@]}; dmn++))
  15. do
  16. cat $path_certbot/${domains[$dmn]}/cert.pem > $path_ssl/${domains[$dmn]}.pem;
  17. cat $path_certbot/${domains[$dmn]}/chain.pem >> $path_ssl/${domains[$dmn]}.pem;
  18. cat $path_certbot/${domains[$dmn]}/fullchain.pem >> $path_ssl/${domains[$dmn]}.pem;
  19. cat $path_certbot/${domains[$dmn]}/privkey.pem >> $path_ssl/${domains[$dmn]}.pem;
  20. done
  21. for ((icrt=0; icrt != ${#domains[@]}; icrt++))
  22. do
  23. echo "$path_ssl/${domains[$icrt]}.pem">>/etc/ssl/crt-list.txt
  24. done
  25. }
  26. function renew() {
  27. /etc/init.d/haproxy stop;
  28. certbot renew;
  29. /etc/init.d/haproxy start;
  30. }
  31. function createCert() {
  32. certbot register --agree-tos -m $adminmail;
  33. /etc/init.d/haproxy stop;
  34. for ((dmn=0; dmn != ${#domains[@]}; dmn++))
  35. do
  36. certbot certonly --preferred-challenges http --standalone -d ${domains[$dmn]};
  37. done
  38. makesslkey;
  39. /etc/init.d/haproxy start;
  40. }
  41. case "$cmd" in
  42. ## create cert
  43. "--create" | "--create" )
  44. createCert;
  45. ;;
  46. ## create cert keys
  47. "--keylist" | "--keylist" )
  48. makesslkey;
  49. ;;
  50. ## update cert
  51. "--update" | "--update" )
  52. renew;
  53. ;;
  54. ## start defaults
  55. * )
  56. echo "please input pameters: autocertbot.sh --create | --update | --keylist";
  57. echo "autocertbot.sh --create; create new certificate"
  58. echo "autocertbot.sh --update; update certificates;"
  59. echo "autocertbot.sh --keylist; create ssl keylist;"
  60. ;;
  61. esac