generate-certs.sh 978 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/sh
  2. mkdir -p /ssl
  3. OUTPUT_FILENAME="vpn.xx.com"
  4. printf "[req]
  5. prompt = no
  6. default_bits = 4096
  7. default_md = sha256
  8. encrypt_key = no
  9. string_mask = utf8only
  10. distinguished_name = cert_distinguished_name
  11. req_extensions = req_x509v3_extensions
  12. x509_extensions = req_x509v3_extensions
  13. [ cert_distinguished_name ]
  14. C = CN
  15. ST = BJ
  16. L = BJ
  17. O = xx.com
  18. OU = xx.com
  19. CN = xx.com
  20. [req_x509v3_extensions]
  21. basicConstraints = critical,CA:true
  22. subjectKeyIdentifier = hash
  23. keyUsage = critical,digitalSignature,keyCertSign,cRLSign #,keyEncipherment
  24. extendedKeyUsage = critical,serverAuth #, clientAuth
  25. subjectAltName = @alt_names
  26. [alt_names]
  27. DNS.1 = xx.com
  28. DNS.2 = *.xx.com
  29. ">/ssl/${OUTPUT_FILENAME}.conf
  30. openssl req -x509 -newkey rsa:2048 -keyout /ssl/test_vpn_key.pem -out /ssl/test_vpn_cert.pem \
  31. -days 3600 -nodes -config /ssl/${OUTPUT_FILENAME}.conf