Module to generate Diffie-Hellman parameters (#32620)

* Module to generate Diffie-Hellman parameters

Implements #32577

* Add integration tests for openssl_dhparam

* Slightly refactor check to prevent unnecessary regeneration

* Fix code smell in tests

Highly annoying to have to do this again and again and again as the rules change during the game

* Using module.run_command() and module.atomic_move() from a tempfile.

* Remove underscore variable

Ansible prefers dummy
This commit is contained in:
Thom Wiggers 2018-01-26 09:08:29 +01:00 committed by John R Barker
commit e2af5dfae0
4 changed files with 310 additions and 0 deletions

View file

@ -0,0 +1,44 @@
- block:
# This module generates unsafe parameters for testing purposes
# otherwise tests would be too slow
- name: Generate parameter
openssl_dhparam:
size: 768
path: '{{ output_dir }}/dh768.pem'
- name: Don't regenerate parameters with no change
openssl_dhparam:
size: 768
path: '{{ output_dir }}/dh768.pem'
register: dhparam_changed
- name: Generate parameters with size option
openssl_dhparam:
path: '{{ output_dir }}/dh512.pem'
size: 512
- name: Don't regenerate parameters with size option and no change
openssl_dhparam:
path: '{{ output_dir }}/dh512.pem'
size: 512
register: dhparam_changed_512
- copy:
src: '{{ output_dir }}/dh768.pem'
remote_src: yes
dest: '{{ output_dir }}/dh512.pem'
- name: Re-generate if size is different
openssl_dhparam:
path: '{{ output_dir }}/dh512.pem'
size: 512
register: dhparam_changed_to_512
- name: Force re-generate parameters with size option
openssl_dhparam:
path: '{{ output_dir }}/dh512.pem'
size: 512
force: yes
register: dhparam_changed_force
- import_tasks: ../tests/validate.yml