certgen.sh 1.2 KB

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