Update ACME tests (#836)
* Restrict remaining days to also work with short-lived profiles. * Adjust boolean cases. * Fix spelling error. * Use larger key size for TLS-ALPN test certificate.pull/757/head
parent
248250514f
commit
072318466e
|
@ -77,7 +77,7 @@
|
||||||
modify_account: true
|
modify_account: true
|
||||||
deactivate_authzs: false
|
deactivate_authzs: false
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: true
|
terms_agreed: true
|
||||||
account_email: "example@example.org"
|
account_email: "example@example.org"
|
||||||
retrieve_all_alternates: true
|
retrieve_all_alternates: true
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
modify_account: false
|
modify_account: false
|
||||||
deactivate_authzs: true
|
deactivate_authzs: true
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: false
|
terms_agreed: false
|
||||||
account_email: ""
|
account_email: ""
|
||||||
acme_expected_root_number: 0
|
acme_expected_root_number: 0
|
||||||
|
@ -140,7 +140,7 @@
|
||||||
modify_account: false
|
modify_account: false
|
||||||
deactivate_authzs: false
|
deactivate_authzs: false
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: false
|
terms_agreed: false
|
||||||
account_email: ""
|
account_email: ""
|
||||||
acme_expected_root_number: 0
|
acme_expected_root_number: 0
|
||||||
|
@ -167,7 +167,7 @@
|
||||||
modify_account: false
|
modify_account: false
|
||||||
deactivate_authzs: true
|
deactivate_authzs: true
|
||||||
force: true
|
force: true
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: false
|
terms_agreed: false
|
||||||
account_email: ""
|
account_email: ""
|
||||||
acme_expected_root_number: 2
|
acme_expected_root_number: 2
|
||||||
|
@ -194,7 +194,7 @@
|
||||||
modify_account: false
|
modify_account: false
|
||||||
deactivate_authzs: true
|
deactivate_authzs: true
|
||||||
force: true
|
force: true
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: false
|
terms_agreed: false
|
||||||
account_email: ""
|
account_email: ""
|
||||||
use_csr_content: true
|
use_csr_content: true
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
cert_5a_obtain_results: "{{ certificate_obtain_result }}"
|
cert_5a_obtain_results: "{{ certificate_obtain_result }}"
|
||||||
cert_5_alternate: "{{ 0 if select_crypto_backend == 'cryptography' else 0 }}"
|
cert_5_alternate: "{{ 0 if select_crypto_backend == 'cryptography' else 0 }}"
|
||||||
- name: Obtain cert 5 (should not, since already there and valid for more than 10 days)
|
- name: Obtain cert 5 (should not, since already there and valid for more than 1 days)
|
||||||
include_tasks: obtain-cert.yml
|
include_tasks: obtain-cert.yml
|
||||||
vars:
|
vars:
|
||||||
certgen_title: Certificate 5, Iteration 2/4
|
certgen_title: Certificate 5, Iteration 2/4
|
||||||
|
@ -215,7 +215,7 @@
|
||||||
modify_account: false
|
modify_account: false
|
||||||
deactivate_authzs: true
|
deactivate_authzs: true
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: false
|
terms_agreed: false
|
||||||
account_email: ""
|
account_email: ""
|
||||||
use_csr_content: false
|
use_csr_content: false
|
||||||
|
@ -260,7 +260,7 @@
|
||||||
modify_account: false
|
modify_account: false
|
||||||
deactivate_authzs: true
|
deactivate_authzs: true
|
||||||
force: true
|
force: true
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: false
|
terms_agreed: false
|
||||||
account_email: ""
|
account_email: ""
|
||||||
use_csr_content: false
|
use_csr_content: false
|
||||||
|
@ -283,7 +283,7 @@
|
||||||
modify_account: true
|
modify_account: true
|
||||||
deactivate_authzs: false
|
deactivate_authzs: false
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: true
|
terms_agreed: true
|
||||||
account_email: "example@example.org"
|
account_email: "example@example.org"
|
||||||
acme_expected_root_number: 0
|
acme_expected_root_number: 0
|
||||||
|
@ -319,7 +319,7 @@
|
||||||
modify_account: true
|
modify_account: true
|
||||||
deactivate_authzs: false
|
deactivate_authzs: false
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: true
|
terms_agreed: true
|
||||||
account_email: "example@example.org"
|
account_email: "example@example.org"
|
||||||
acme_expected_root_number: 2
|
acme_expected_root_number: 2
|
||||||
|
@ -339,7 +339,7 @@
|
||||||
certgen_title: Certificate 8
|
certgen_title: Certificate 8
|
||||||
certificate_name: cert-8
|
certificate_name: cert-8
|
||||||
key_type: rsa
|
key_type: rsa
|
||||||
rsa_bits: "{{ default_rsa_key_size }}"
|
rsa_bits: "{{ default_rsa_key_size_certificates }}"
|
||||||
subject_alt_name:
|
subject_alt_name:
|
||||||
- "IP:127.0.0.1"
|
- "IP:127.0.0.1"
|
||||||
# IPv4 only since our test validation server doesn't work
|
# IPv4 only since our test validation server doesn't work
|
||||||
|
@ -351,7 +351,7 @@
|
||||||
modify_account: true
|
modify_account: true
|
||||||
deactivate_authzs: false
|
deactivate_authzs: false
|
||||||
force: false
|
force: false
|
||||||
remaining_days: 10
|
remaining_days: 1
|
||||||
terms_agreed: true
|
terms_agreed: true
|
||||||
account_email: "example@example.org"
|
account_email: "example@example.org"
|
||||||
use_csr_content: true
|
use_csr_content: true
|
||||||
|
|
|
@ -118,15 +118,15 @@
|
||||||
- name: Check that certificate 5 was not recreated on the first try
|
- name: Check that certificate 5 was not recreated on the first try
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- cert_5_recreate_1 == False
|
- cert_5_recreate_1 == false
|
||||||
- name: Check that certificate 5 was recreated on the second try
|
- name: Check that certificate 5 was recreated on the second try
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- cert_5_recreate_2 == True
|
- cert_5_recreate_2 == true
|
||||||
- name: Check that certificate 5 was recreated on the third try
|
- name: Check that certificate 5 was recreated on the third try
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- cert_5_recreate_3 == True
|
- cert_5_recreate_3 == true
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: Check that certificate 6 is valid
|
- name: Check that certificate 6 is valid
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
- name: Create private keys
|
- name: Create private keys
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/{{ item.name }}.key'
|
path: '{{ remote_tmp_dir }}/{{ item.name }}.key'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
loop: '{{ certificates }}'
|
loop: '{{ certificates }}'
|
||||||
|
|
||||||
- name: Generate certificates
|
- name: Generate certificates
|
||||||
|
|
|
@ -120,7 +120,7 @@
|
||||||
|
|
||||||
- name: Check failure when no intermediate certificate can be found
|
- name: Check failure when no intermediate certificate can be found
|
||||||
certificate_complete_chain:
|
certificate_complete_chain:
|
||||||
input_chain: '{{ lookup("file", "cert2.pem", rstrip=True) }}'
|
input_chain: '{{ lookup("file", "cert2.pem", rstrip=true) }}'
|
||||||
intermediate_certificates:
|
intermediate_certificates:
|
||||||
- '{{ remote_tmp_dir }}/files/cert1-chain.pem'
|
- '{{ remote_tmp_dir }}/files/cert1-chain.pem'
|
||||||
root_certificates:
|
root_certificates:
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
|
|
||||||
- name: Check failure when infinite loop is found
|
- name: Check failure when infinite loop is found
|
||||||
certificate_complete_chain:
|
certificate_complete_chain:
|
||||||
input_chain: '{{ lookup("file", "cert1-fullchain.pem", rstrip=True) }}'
|
input_chain: '{{ lookup("file", "cert1-fullchain.pem", rstrip=true) }}'
|
||||||
intermediate_certificates:
|
intermediate_certificates:
|
||||||
- '{{ remote_tmp_dir }}/files/roots.pem'
|
- '{{ remote_tmp_dir }}/files/roots.pem'
|
||||||
root_certificates:
|
root_certificates:
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
- "['organizationalUnitName', 'Crypto Department'] in result.subject_ordered"
|
- "['organizationalUnitName', 'Crypto Department'] in result.subject_ordered"
|
||||||
- "['organizationalUnitName', 'ACME Department'] in result.subject_ordered"
|
- "['organizationalUnitName', 'ACME Department'] in result.subject_ordered"
|
||||||
- result.public_key_type == 'RSA'
|
- result.public_key_type == 'RSA'
|
||||||
- result.public_key_data.size == (default_rsa_key_size_certifiates | int)
|
- result.public_key_data.size == (default_rsa_key_size_certificates | int)
|
||||||
- "result.subject_alt_name == [
|
- "result.subject_alt_name == [
|
||||||
'DNS:www.ansible.com',
|
'DNS:www.ansible.com',
|
||||||
'DNS:' ~ ('öç' if cryptography_version.stdout is version('2.1', '<') else 'xn--7ca3a') ~ '.com',
|
'DNS:' ~ ('öç' if cryptography_version.stdout is version('2.1', '<') else 'xn--7ca3a') ~ '.com',
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
- name: Generate privatekey
|
- name: Generate privatekey
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: Generate privatekey with password
|
- name: Generate privatekey with password
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
||||||
passphrase: hunter2
|
passphrase: hunter2
|
||||||
select_crypto_backend: cryptography
|
select_crypto_backend: cryptography
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: Generate CSR 1
|
- name: Generate CSR 1
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
- name: Generate private keys
|
- name: Generate private keys
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/ansible_pkey{{ item }}.pem'
|
path: '{{ remote_tmp_dir }}/ansible_pkey{{ item }}.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
loop: "{{ range(1, 4) | list }}"
|
loop: "{{ range(1, 4) | list }}"
|
||||||
|
|
||||||
- name: Generate privatekey with password
|
- name: Generate privatekey with password
|
||||||
|
|
|
@ -121,4 +121,4 @@
|
||||||
|
|
||||||
- name: Print default key sizes
|
- name: Print default key sizes
|
||||||
debug:
|
debug:
|
||||||
msg: "Default RSA key size: {{ default_rsa_key_size }} (for certificates: {{ default_rsa_key_size_certifiates }})"
|
msg: "Default RSA key size: {{ default_rsa_key_size }} (for certificates: {{ default_rsa_key_size_certificates }})"
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
default_rsa_key_size: 1024
|
default_rsa_key_size: 1024
|
||||||
default_rsa_key_size_certifiates: >-
|
default_rsa_key_size_certificates: >-
|
||||||
{{
|
{{
|
||||||
2048 if
|
2048 if
|
||||||
(ansible_os_family == "RedHat" and ansible_facts.distribution_major_version | int >= 8) or
|
(ansible_os_family == "RedHat" and ansible_facts.distribution_major_version | int >= 8) or
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
- name: (OwnCA, {{select_crypto_backend}}) Generate CA privatekey
|
- name: (OwnCA, {{select_crypto_backend}}) Generate CA privatekey
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/ca_privatekey.pem'
|
path: '{{ remote_tmp_dir }}/ca_privatekey.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (OwnCA, {{select_crypto_backend}}) Generate CA privatekey with passphrase
|
- name: (OwnCA, {{select_crypto_backend}}) Generate CA privatekey with passphrase
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/ca_privatekey_pw.pem'
|
path: '{{ remote_tmp_dir }}/ca_privatekey_pw.pem'
|
||||||
passphrase: hunter2
|
passphrase: hunter2
|
||||||
select_crypto_backend: cryptography
|
select_crypto_backend: cryptography
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (OwnCA, {{select_crypto_backend}}) Generate CA CSR
|
- name: (OwnCA, {{select_crypto_backend}}) Generate CA CSR
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
- name: (Removal, {{select_crypto_backend}}) Generate privatekey
|
- name: (Removal, {{select_crypto_backend}}) Generate privatekey
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/removal_privatekey.pem'
|
path: '{{ remote_tmp_dir }}/removal_privatekey.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (Removal, {{select_crypto_backend}}) Generate CSR
|
- name: (Removal, {{select_crypto_backend}}) Generate CSR
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Generate privatekey
|
- name: (Selfsigned, {{select_crypto_backend}}) Generate privatekey
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Generate privatekey with password
|
- name: (Selfsigned, {{select_crypto_backend}}) Generate privatekey with password
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
||||||
passphrase: hunter2
|
passphrase: hunter2
|
||||||
select_crypto_backend: cryptography
|
select_crypto_backend: cryptography
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Generate selfsigned certificate without CSR
|
- name: (Selfsigned, {{select_crypto_backend}}) Generate selfsigned certificate without CSR
|
||||||
x509_certificate:
|
x509_certificate:
|
||||||
|
@ -138,7 +138,7 @@
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Generate privatekey2
|
- name: (Selfsigned, {{select_crypto_backend}}) Generate privatekey2
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekey2.pem'
|
path: '{{ remote_tmp_dir }}/privatekey2.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Generate CSR2
|
- name: (Selfsigned, {{select_crypto_backend}}) Generate CSR2
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
@ -200,7 +200,7 @@
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Create private key 3
|
- name: (Selfsigned, {{select_crypto_backend}}) Create private key 3
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: "{{ remote_tmp_dir }}/privatekey3.pem"
|
path: "{{ remote_tmp_dir }}/privatekey3.pem"
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: (Selfsigned, {{select_crypto_backend}}) Create CSR 3
|
- name: (Selfsigned, {{select_crypto_backend}}) Create CSR 3
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
- name: Generate privatekey
|
- name: Generate privatekey
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: Generate CSR 1
|
- name: Generate CSR 1
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
- "['organizationalUnitName', 'Crypto Department'] in result.subject_ordered"
|
- "['organizationalUnitName', 'Crypto Department'] in result.subject_ordered"
|
||||||
- "['organizationalUnitName', 'ACME Department'] in result.subject_ordered"
|
- "['organizationalUnitName', 'ACME Department'] in result.subject_ordered"
|
||||||
- result.public_key_type == 'RSA'
|
- result.public_key_type == 'RSA'
|
||||||
- result.public_key_data.size == (default_rsa_key_size_certifiates | int)
|
- result.public_key_data.size == (default_rsa_key_size_certificates | int)
|
||||||
- "result.subject_alt_name == [
|
- "result.subject_alt_name == [
|
||||||
'DNS:www.ansible.com',
|
'DNS:www.ansible.com',
|
||||||
'DNS:' ~ ('öç' if cryptography_version.stdout is version('2.1', '<') else 'xn--7ca3a') ~ '.com',
|
'DNS:' ~ ('öç' if cryptography_version.stdout is version('2.1', '<') else 'xn--7ca3a') ~ '.com',
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
- name: Generate privatekey
|
- name: Generate privatekey
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
path: '{{ remote_tmp_dir }}/privatekey.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: Generate privatekey with password
|
- name: Generate privatekey with password
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
path: '{{ remote_tmp_dir }}/privatekeypw.pem'
|
||||||
passphrase: hunter2
|
passphrase: hunter2
|
||||||
select_crypto_backend: cryptography
|
select_crypto_backend: cryptography
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
|
|
||||||
- name: Generate CSR 1
|
- name: Generate CSR 1
|
||||||
openssl_csr:
|
openssl_csr:
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
- name: "({{ select_crypto_backend }}) Generate privatekey"
|
- name: "({{ select_crypto_backend }}) Generate privatekey"
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/{{ item }}.pem'
|
path: '{{ remote_tmp_dir }}/{{ item }}.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
loop:
|
loop:
|
||||||
- privatekey
|
- privatekey
|
||||||
- privatekey2
|
- privatekey2
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
- name: Prepare private key for backend autodetection test
|
- name: Prepare private key for backend autodetection test
|
||||||
openssl_privatekey:
|
openssl_privatekey:
|
||||||
path: '{{ remote_tmp_dir }}/privatekey_backend_selection.pem'
|
path: '{{ remote_tmp_dir }}/privatekey_backend_selection.pem'
|
||||||
size: '{{ default_rsa_key_size_certifiates }}'
|
size: '{{ default_rsa_key_size_certificates }}'
|
||||||
- name: Run module with backend autodetection
|
- name: Run module with backend autodetection
|
||||||
x509_certificate_pipe:
|
x509_certificate_pipe:
|
||||||
provider: selfsigned
|
provider: selfsigned
|
||||||
|
|
Loading…
Reference in New Issue