Easy CA management
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.

44 lines
1.1 KiB

  1. CA manager
  2. ==========
  3. This collection of tools is our take on managing a CA, signing SSH keys and certificates, signin SSL certificates.
  4. ### Tools
  5. #### `request_server.py`
  6. This is a shell for a user, the shell only reads the input from the user and return a JSON, this user can be used with Ansible to request and retrive certificates.
  7. The input must be a JSON file, e.g
  8. ```JSON
  9. {
  10. {
  11. "keyType": "ssh_host",
  12. "hostName": "my_new_server",
  13. "keyData": "ssh-ed25519 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa root@my_new_server"
  14. },
  15. "type": "sign_request"
  16. }
  17. ```
  18. the example is a `sign_request` for a ssh host certificate.
  19. The shell just output a json with `status` and `reason` keys.
  20. ```JSON
  21. {
  22. "reason" : ...,
  23. "status" : ...
  24. }
  25. ```
  26. The server logs can be found at `/home/request/request_server.log`
  27. #### `ca_sheel.py`
  28. This is a shell for a user, the shell limits the commands to the one we are interested, like generating a SSH/SSL CA, signing keys.
  29. ### Configuration
  30. The only configuration needed is the path where to operate, modifying te file `paths.py` is all is needed.