You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
942 B

  1. #!/bin/bash
  2. OPENSSL_CHECK=$(which openssl)
  3. if [ "$?" != "0" ]; then
  4. echo "未安装OpenSSL"
  5. exit 1
  6. fi
  7. if [ ! -f ca.key ] && [ ! -f ca.crt ]; then
  8. openssl genrsa -out ca.key 2048
  9. openssl req -new -x509 -utf8 -days 3650 -extensions v3_ca -subj "/C=CN/O=宝塔面板/CN=宝塔面板" -key ca.key -out ca.crt
  10. fi
  11. openssl genrsa -out server.key 2048
  12. openssl req -new -nodes -key server.key -subj "/C=CN/O=BTPanel/CN=BTPanel" -out server.csr
  13. openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 -extensions req_ext
  14. cat ca.crt >> server.crt
  15. openssl pkcs12 -export -out baota_root.pfx -inkey server.key -in server.crt -password pass:
  16. if [ "$?" != "0" ]; then
  17. echo "生成CA根证书失败"
  18. exit 1
  19. fi
  20. mkdir -p ../../public/ssl
  21. \cp baota_root.pfx ../../public/ssl/baota_root.pfx
  22. \cp ca.crt ../../public/ssl/baota_root.crt
  23. rm -f server.crt server.key server.csr
  24. echo "生成CA根证书成功"