certgen.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env bash
  2. CFG_DIR=$(dirname "$0")
  3. CWD=$(pwd)
  4. cd $CFG_DIR
  5. clear.sh
  6. #Selbst signiertes Zertifikat erstellen (CA):
  7. openssl req -batch -x509 -config openssl.conf -newkey rsa:4096 -sha256 -nodes -out ca.crt -outform PEM
  8. #Privat Schlüssel und Signier request für Server erstellen (localhost):
  9. openssl req -batch -config server.conf -newkey rsa:2048 -sha256 -nodes -out server.csr -outform PEM
  10. #Privat Schlüssel und Signier request für Client erstellen:
  11. openssl req -batch -config client.conf -newkey rsa:2048 -sha256 -nodes -out client.csr -outform PEM
  12. #CA Datenbank anlegen (minimal):
  13. touch index.txt
  14. #Zertifiakte signieren:
  15. openssl ca -batch -create_serial -config openssl.conf -policy signing_policy -extensions signing_req -out server.crt -infiles server.csr
  16. openssl ca -batch -config openssl.conf -policy signing_policy -extensions signing_req -out client.crt -infiles client.csr
  17. sudo cp -f ca.crt /etc/mosquitto/ca_certificates
  18. sudo cp -f server.crt /etc/mosquitto/certs
  19. sudo cp -f server.key /etc/mosquitto/certs
  20. mkdir -p ./client
  21. cp -f ca.crt ./client
  22. cp -f client.crt ./client
  23. cp -f client.key ./client
  24. sudo /etc/init.d/mosquitto restart
  25. cd $CWD