Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

100 рядки
2.5KB

  1. ---
  2. # https://jamielinux.com/docs/openssl-certificate-authority/create-the-root-pair.html
  3. - name: directory
  4. file:
  5. path: "{{ certificate_authority_directory }}"
  6. #mode: 0700
  7. state: directory
  8. - name: subdirectories
  9. file:
  10. path: "{{ certificate_authority_directory }}/{{ item }}"
  11. #mode: 0700
  12. state: directory
  13. with_items:
  14. - certs
  15. - crl
  16. - csr
  17. - newcerts
  18. - name: private directory
  19. file:
  20. path: "{{ certificate_authority_directory }}/private"
  21. mode: 0700
  22. state: directory
  23. - name: private key
  24. command:
  25. openssl genrsa
  26. -out private/ca.key.pem
  27. {{ certificate_authority_private_key_size }}
  28. args:
  29. chdir: "{{ certificate_authority_directory }}"
  30. creates: "{{ certificate_authority_directory }}/private/ca.key.pem"
  31. - name: openssl config
  32. template:
  33. src: openssl.cnf.j2
  34. dest: "{{ certificate_authority_directory }}/openssl.cnf"
  35. - name: extensions config
  36. template:
  37. src: extensions.cnf.j2
  38. dest: "{{ certificate_authority_directory }}/extensions.cnf"
  39. - name: index config
  40. template:
  41. src: index.attr.j2
  42. dest: "{{ certificate_authority_directory }}/index.attr"
  43. - name: index
  44. copy:
  45. content: ""
  46. dest: "{{ certificate_authority_directory }}/index"
  47. force: no
  48. - name: serial
  49. copy:
  50. content: "00\n"
  51. dest: "{{ certificate_authority_directory }}/serial"
  52. force: no
  53. - name: certificate signing request
  54. command: openssl req -new
  55. -config openssl.cnf
  56. -key private/ca.key.pem
  57. -days {{ certificate_authority_days }}
  58. -sha256
  59. -out csr/ca.csr.pem
  60. -subj "{{ certificate_authority_subject }}"
  61. args:
  62. chdir: "{{ certificate_authority_directory }}"
  63. creates: "{{ certificate_authority_directory }}/csr/ca.csr.pem"
  64. #when: certificate_authority_type == "intermediate"
  65. - name: self sign certificate
  66. command: openssl ca -selfsign -batch
  67. -config openssl.cnf
  68. -days {{ certificate_authority_days }}
  69. -extensions certificate_authority
  70. -in csr/ca.csr.pem
  71. -out certs/ca.cert.pem
  72. -subj "{{ certificate_authority_subject }}"
  73. args:
  74. chdir: "{{ certificate_authority_directory }}"
  75. creates: "{{ certificate_authority_directory }}/certs/ca.cert.pem"
  76. when: certificate_authority_type == "root"
  77. - name: certificate info
  78. command: openssl x509 -text -noout -in certs/ca.cert.pem
  79. args:
  80. chdir: "{{ certificate_authority_directory }}"
  81. changed_when: false
  82. register: _certificate_authority_info
  83. - name: show certificate info
  84. debug:
  85. msg: "{{ _certificate_authority_info }}"