83 lines
2.8 KiB
YAML
83 lines
2.8 KiB
YAML
---
|
|
# Copyright (c) Ansible Project
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
- block:
|
|
- name: Generate private keys
|
|
openssl_privatekey:
|
|
path: '{{ remote_tmp_dir }}/ansible_pkey{{ item }}.pem'
|
|
size: '{{ default_rsa_key_size_certifiates }}'
|
|
loop: "{{ range(1, 4) | list }}"
|
|
|
|
- name: Generate privatekey with password
|
|
openssl_privatekey:
|
|
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
|
passphrase: hunter2
|
|
cipher: auto
|
|
size: '{{ default_rsa_key_size }}'
|
|
|
|
- name: Generate CSRs
|
|
openssl_csr:
|
|
path: '{{ remote_tmp_dir }}/ansible{{ item }}.csr'
|
|
privatekey_path: '{{ remote_tmp_dir }}/ansible_pkey{{ item }}.pem'
|
|
commonName: www{{ item }}.ansible.com
|
|
loop: "{{ range(1, 4) | list }}"
|
|
|
|
- name: Generate certificate
|
|
x509_certificate:
|
|
path: '{{ remote_tmp_dir }}/ansible{{ item }}.crt'
|
|
privatekey_path: '{{ remote_tmp_dir }}/ansible_pkey{{ item }}.pem'
|
|
csr_path: '{{ remote_tmp_dir }}/ansible{{ item }}.csr'
|
|
provider: selfsigned
|
|
loop: "{{ range(1, 4) | list }}"
|
|
|
|
- name: Read files
|
|
slurp:
|
|
src: '{{ item }}'
|
|
loop:
|
|
- "{{ remote_tmp_dir ~ '/ansible2.crt' }}"
|
|
- "{{ remote_tmp_dir ~ '/ansible3.crt' }}"
|
|
register: slurp
|
|
|
|
- name: Generate concatenated PEM file
|
|
copy:
|
|
dest: '{{ remote_tmp_dir }}/ansible23.crt'
|
|
content: '{{ slurp.results[0].content | b64decode }}{{ slurp.results[1].content | b64decode }}'
|
|
|
|
- name: Generate PKCS#12 file with backend autodetection
|
|
openssl_pkcs12:
|
|
path: '{{ remote_tmp_dir }}/ansible.p12'
|
|
friendly_name: abracadabra
|
|
privatekey_path: '{{ remote_tmp_dir }}/ansible_pkey1.pem'
|
|
certificate_path: '{{ remote_tmp_dir }}/ansible1.crt'
|
|
state: present
|
|
|
|
- name: Delete result
|
|
file:
|
|
path: '{{ remote_tmp_dir }}/ansible.p12'
|
|
state: absent
|
|
|
|
- block:
|
|
- name: Running tests with pyOpenSSL backend
|
|
include_tasks: impl.yml
|
|
vars:
|
|
select_crypto_backend: pyopenssl
|
|
|
|
when: (pyopenssl_version.stdout | default('0.0')) is version('0.15', '>=')
|
|
|
|
- block:
|
|
- name: Running tests with cryptography backend
|
|
include_tasks: impl.yml
|
|
vars:
|
|
select_crypto_backend: cryptography
|
|
|
|
when: cryptography_version.stdout is version('3.0', '>=')
|
|
|
|
when: (pyopenssl_version.stdout | default('0.0')) is version('0.15', '>=') or cryptography_version.stdout is version('3.0', '>=')
|