community.crypto/tests/integration/targets/openssl_privatekey_pipe/tasks/impl.yml

108 lines
3.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
- name: ({{select_crypto_backend}}) Create key
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
register: result
- name: ({{select_crypto_backend}}) Get key info
openssl_privatekey_info:
content: "{{ result.privatekey }}"
register: result_info
- assert:
that:
- result is changed
- result.privatekey.startswith('----')
- result_info.type == 'RSA'
- result_info.public_data.size == 4096
- result_info.public_data.exponent >= 5
- assert:
that:
- result_info.public_key_fingerprints.sha256 | length > 10
- result.fingerprint.sha256 == result_info.public_key_fingerprints.sha256
when: result.fingerprint is not none
- name: ({{select_crypto_backend}}) Update key (check mode)
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ result.privatekey }}"
size: '{{ default_rsa_key_size }}'
register: update_check
check_mode: true
- name: ({{select_crypto_backend}}) Update key (check mode, with return_current_key=true)
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ result.privatekey }}"
size: '{{ default_rsa_key_size }}'
return_current_key: true
register: update_check_return
check_mode: true
- name: ({{select_crypto_backend}}) Update key
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ result.privatekey }}"
size: '{{ default_rsa_key_size }}'
register: update
- name: ({{select_crypto_backend}}) Update key (idempotent, check mode)
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ update.privatekey }}"
size: '{{ default_rsa_key_size }}'
register: update_idempotent_check
check_mode: true
- name: ({{select_crypto_backend}}) Update key (idempotent)
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ update.privatekey }}"
size: '{{ default_rsa_key_size }}'
register: update_idempotent
- name: ({{select_crypto_backend}}) Update key (idempotent, check mode, with return_current_key=true)
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ update.privatekey }}"
size: '{{ default_rsa_key_size }}'
return_current_key: true
register: update_idempotent_return_check
check_mode: true
- name: ({{select_crypto_backend}}) Update key (idempotent, with return_current_key=true)
openssl_privatekey_pipe:
select_crypto_backend: '{{ select_crypto_backend }}'
content: "{{ update.privatekey }}"
size: '{{ default_rsa_key_size }}'
return_current_key: true
register: update_idempotent_return
- name: ({{select_crypto_backend}}) Get key info
openssl_privatekey_info:
content: "{{ update.privatekey }}"
register: update_info
- assert:
that:
- update_check is changed
- update_check.privatekey == 'VALUE_SPECIFIED_IN_NO_LOG_PARAMETER'
- update_check_return is changed
- update_check_return.privatekey == result.privatekey
- update is changed
- update.privatekey != result.privatekey
- update_info.public_data.size == default_rsa_key_size
- update_idempotent_check is not changed
- update_idempotent_check.privatekey is undefined
- update_idempotent is not changed
- update_idempotent.privatekey is undefined
- update_idempotent_return_check is not changed
- update_idempotent_return_check.privatekey == update.privatekey
- update_idempotent_return is not changed
- update_idempotent_return.privatekey == update.privatekey