Hola usuario de nuestro sitio web, descubrimos la solución a tu pregunta, continúa leyendo y la obtendrás un poco más abajo.
Nota
Este complemento es parte del colección community.crypto (versión 1.4.0).
Para instalarlo use: ansible-galaxy collection install community.crypto
.
Para usarlo en un libro de jugadas, especifique: community.crypto.x509_certificate_pipe
.
Nuevo en la versión 1.3.0: de community.crypto
- Sinopsis
- Requisitos
- Parámetros
- Notas
- Ver también
- Ejemplos de
- Valores devueltos
Sinopsis
- Si tanto la criptografía como las bibliotecas PyOpenSSL están disponibles (y cumplen con los requisitos mínimos de versión), se preferirá la criptografía como backend sobre PyOpenSSL (a menos que el backend esté forzado con
select_crypto_backend
). Tenga en cuenta que el backend PyOpenSSL quedó obsoleto en Ansible 2.9 y se eliminará en community.crypto 2.0.0. - Implementa una noción de proveedor (es decir.
selfsigned
,ownca
,entrust
) para su certificado. - Utiliza la biblioteca pyOpenSSL o criptografía Python para interactuar con OpenSSL.
- Tenga en cuenta que el módulo regenera un certificado existente si no coincide con las opciones del módulo o si parece estar dañado. Si le preocupa que esto pueda sobrescribir su certificado existente, considere usar el respaldo opción.
- los
ownca
El proveedor está diseñado para generar un certificado OpenSSL firmado con su propio certificado CA (Autoridad de certificación) (certificado autofirmado). - Este módulo permite (re) generar certificados OpenSSL.
Requisitos
Los siguientes requisitos son necesarios en el host que ejecuta este módulo.
- PyOpenSSL> = 0.15 o criptografía> = 1.6 (si usa
selfsigned
,ownca
oassertonly
proveedor)
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios |
---|---|---|
contenidocuerda | El certificado existente. | |
csr_contentcuerda | Contenido de la solicitud de firma de certificado (CSR) utilizada para generar este certificado. Esto es mutuamente excluyente con csr_path. | |
csr_pathsendero | Ruta a la solicitud de firma de certificado (CSR) utilizada para generar este certificado. Esto es mutuamente excluyente con csr_content. | |
entrust_api_client_cert_key_pathsendero | La ruta a la clave privada del certificado de cliente que se utiliza para autenticarse en la API de Entrust Certificate Services (ECS). entrust proveedor Esto es necesario si el proveedor entrust . |
|
entrust_api_client_cert_pathsendero | La ruta al certificado de cliente que se usa para autenticarse en la API de Entrust Certificate Services (ECS). entrust proveedor Esto es necesario si el proveedor entrust . |
|
entrust_api_keycuerda | La clave (contraseña) para la autenticación en la API de Entrust Certificate Services (ECS). entrust proveedor Esto es necesario si el proveedor entrust . |
|
entrust_api_specification_pathsendero | Defecto: “https://cloud.entrust.net/EntrustCloud/documentation/cms-api-2.1.0.yaml” |
La ruta al archivo de especificación que define la configuración de la API de Entrust Certificate Services (ECS). Puede usar esto para mantener una copia local de la especificación para evitar descargarla cada vez que se usa el módulo. entrust proveedor. |
entrust_api_usercuerda | El nombre de usuario para la autenticación en la API de Entrust Certificate Services (ECS). entrust proveedor Esto es necesario si el proveedor entrust . |
|
entrust_cert_typecuerda |
|
Especifique el tipo de certificado solicitado, que solo lo utiliza el entrust proveedor. |
entrust_not_aftercuerda | Defecto: “+ 365d” |
El momento en el que el certificado deja de ser válido. El tiempo se puede especificar como tiempo relativo o como una marca de tiempo absoluta. Un formato de tiempo absoluto válido es ASN.1 TIME tal como 2019-06-18 .Un formato de hora relativo válido es [+-]timespec donde timespec puede ser un número entero + [w | d | h | m | s] , tal como +365d o +32w1d2h La hora siempre se interpretará como UTC.Tenga en cuenta que solo se admite la fecha (día, mes, año) para especificar la fecha de vencimiento del certificado emitido.La fecha y hora completa se ajusta a EST (GMT -5: 00) antes de la emisión, lo que puede resultar en un certificado con una fecha de vencimiento un día antes de lo esperado si se usa un tiempo relativo.La vida útil mínima del certificado es de 90 días y el máximo es de tres años.Si no se especifica este valor, el certificado se detendrá siendo válido los 365 días de la fecha de expedición, sólo es utilizado por el entrust proveedor. |
entrust_requester_emailcuerda | El correo electrónico del solicitante del certificado (con fines de seguimiento). entrust proveedor Esto es necesario si el proveedor entrust . |
|
entrust_requester_namecuerda | El nombre del solicitante del certificado (con fines de seguimiento). Solo lo utiliza el entrust proveedor Esto es necesario si el proveedor entrust . |
|
entrust_requester_phonecuerda | El número de teléfono del solicitante del certificado (con fines de seguimiento). Solo lo utiliza el entrust proveedor Esto es necesario si el proveedor entrust . |
|
fuerzabooleano |
|
Genere el certificado, incluso si ya existe. |
ownca_contentcuerda | Contenido del certificado CA (Autoridad de certificación). Solo lo utiliza el ownca proveedor. Esto es mutuamente excluyente con ownca_path. |
|
ownca_create_authority_key_identifierbooleano |
|
Cree un Identificador de clave de autoridad a partir del certificado de la CA. Si el CSR proporcionó un identificador de clave de autoridad, se ignora. El Identificador de clave de autoridad se genera a partir del Identificador de clave de sujeto del certificado de CA, si está disponible. Si no está disponible, se utilizará la clave pública del certificado de CA, que solo la utiliza el ownca proveedor Tenga en cuenta que esto solo es compatible si el cryptography se utiliza backend! |
ownca_create_subject_key_identifiercuerda |
|
Ya sea para crear el identificador de clave de sujeto (SKI) a partir de la clave pública. create_if_not_provided (predeterminado) solo crea un SKI cuando el CSR no proporciona uno. always_create siempre crea un SKI. Si el CSR proporciona uno, ese se ignora. never_create nunca crea un SKI. Si el CSR proporciona uno, se utiliza ese. ownca proveedor Tenga en cuenta que esto solo es compatible si el cryptography se utiliza backend! |
ownca_digestcuerda | Defecto: “sha256” |
El algoritmo de resumen que se utilizará para ownca certificado.Esto solo lo utiliza el ownca proveedor. |
ownca_not_aftercuerda | Defecto: “+ 3650d” |
El momento en el que el certificado deja de ser válido. La hora se puede especificar como hora relativa o como marca de tiempo absoluta. La hora siempre se interpretará como UTC. El formato válido es [+-]timespec | ASN.1 TIME donde timespec puede ser un número entero + [w | d | h | m | s] (p.ej +32w1d2h .Tenga en cuenta que si usa tiempo relativo este módulo NO es idempotente, si no se especifica este valor, el certificado dejará de ser válido dentro de 10 años, solo lo usa el ownca En macOS 10.15 y posteriores, los certificados de servidor TLS deben tener un período de validez de 825 días o menos. Por favor mira https://support.apple.com/en-us/HT210176 para más detalles. |
ownca_not_beforecuerda | Defecto: “+ 0s” |
El momento en el que el certificado es válido. La hora se puede especificar como hora relativa o como marca de tiempo absoluta. La hora siempre se interpretará como UTC. El formato válido es [+-]timespec | ASN.1 TIME donde timespec puede ser un número entero + [w | d | h | m | s] (p.ej +32w1d2h .Tenga en cuenta que si se usa tiempo relativo este módulo NO es idempotente, si no se especifica este valor, el certificado comenzará a ser válido a partir de ahora. ownca proveedor. |
ownca_pathsendero | Ruta absoluta remota del certificado CA (Autoridad de certificación). ownca proveedor. Esto es mutuamente excluyente con ownca_content. |
|
ownca_privatekey_contentcuerda | Contenido de la clave privada de CA (Autoridad de certificación) que se utilizará al firmar el certificado. ownca proveedor. Esto es mutuamente excluyente con ownca_privatekey_path. |
|
ownca_privatekey_passphrasecuerda | La frase de contraseña para ownca_privatekey_path resp. ownca_privatekey_content.Esto solo lo utilizan los ownca proveedor. |
|
ownca_privatekey_pathsendero | Ruta a la clave privada de CA (Autoridad de certificación) que se utilizará al firmar el certificado. ownca proveedor. Esto es mutuamente excluyente con ownca_privatekey_content. |
|
ownca_versionentero | Defecto: 3 |
La versión del ownca certificado Hoy en día casi siempre debería ser 3 .Esto solo lo utilizan los ownca proveedor. |
privatekey_contentcuerda | Ruta a la clave privada que se utilizará al firmar el certificado. Esto es mutuamente excluyente con ruta_clave_privada. | |
privatekey_passphrasecuerda | La frase de contraseña para ruta_clave_privada resp. privatekey_content.Esto es necesario si la clave privada está protegida con contraseña. | |
ruta_clave_privadasendero | Ruta a la clave privada que se utilizará al firmar el certificado. Esto es mutuamente excluyente con privatekey_content. | |
proveedorcuerda / requerido |
|
Nombre del proveedor que se utilizará para generar / recuperar el certificado OpenSSL. entrust proveedor requiere credenciales para el Servicios de certificados de Entrust (ECS) API. |
select_crypto_backendcuerda |
|
Determina qué backend criptográfico usar. La opción predeterminada es auto , que intenta usar cryptography si está disponible, y vuelve a pyopenssl .Si se establece en pyopenssl , intentará usar el pyOpenSSL biblioteca. cryptography , intentará usar el criptografía biblioteca.Tenga en cuenta que el pyopenssl El backend ha quedado obsoleto en Ansible 2.9 y se eliminará en community.crypto 2.0.0. A partir de ese momento, solo el cryptography El backend estará disponible. |
selfsigned_create_subject_key_identifiercuerda |
|
Ya sea para crear el identificador de clave de sujeto (SKI) a partir de la clave pública. create_if_not_provided (predeterminado) solo crea un SKI cuando el CSR no proporciona uno. always_create siempre crea un SKI. Si el CSR proporciona uno, ese se ignora. never_create nunca crea un SKI. Si el CSR proporciona uno, se utiliza ese. selfsigned proveedor Tenga en cuenta que esto solo es compatible si el cryptography se utiliza backend! |
selfsigned_digestcuerda | Defecto: “sha256” |
Algoritmo de resumen que se utilizará al autofirmar el certificado. selfsigned proveedor. |
selfsigned_not_aftercuerda | Defecto: “+ 3650d” |
El momento en el que el certificado deja de ser válido. La hora se puede especificar como hora relativa o como marca de tiempo absoluta. La hora siempre se interpretará como UTC. El formato válido es [+-]timespec | ASN.1 TIME donde timespec puede ser un número entero + [w | d | h | m | s] (p.ej +32w1d2h .Tenga en cuenta que si usa tiempo relativo este módulo NO es idempotente, si no se especifica este valor, el certificado dejará de ser válido dentro de 10 años, solo lo usa el selfsigned En macOS 10.15 y posteriores, los certificados de servidor TLS deben tener un período de validez de 825 días o menos. Por favor mira https://support.apple.com/en-us/HT210176 para más detalles.alias: selfsigned_notAfter |
selfsigned_not_beforecuerda | Defecto: “+ 0s” |
El momento en el que el certificado es válido. La hora se puede especificar como hora relativa o como marca de tiempo absoluta. La hora siempre se interpretará como UTC. El formato válido es [+-]timespec | ASN.1 TIME donde timespec puede ser un número entero + [w | d | h | m | s] (p.ej +32w1d2h .Tenga en cuenta que si se usa tiempo relativo este módulo NO es idempotente, si no se especifica este valor, el certificado comenzará a ser válido a partir de ahora. selfsigned proveedor.alias: selfsigned_notBefore |
selfsigned_versionentero | Defecto: 3 |
Versión del selfsigned certificado Hoy en día casi siempre debería ser 3 .Esto solo lo utilizan los selfsigned proveedor. |
Notas
Nota
- Apoyos
check_mode
. - Todos los valores de ASN.1 TIME deben especificarse siguiendo el patrón AAAAMMDDHHMMSSZ.
- La fecha especificada debe ser UTC. Los minutos y los segundos son obligatorios.
- Por motivos de seguridad, cuando utilice
ownca
proveedor, NO debe ejecutar community.crypto.x509_certificate en una máquina de destino, pero en una máquina de CA dedicada. Se recomienda no almacenar la clave privada de CA en la máquina de destino. Una vez firmado, el certificado se puede mover a la máquina de destino. - Para el
selfsigned
proveedor, csr_path y csr_content son opcionales. Si no se proporciona, se crea un certificado sin información (sujeto, nombres alternativos del sujeto, uso de claves, etc.).
Ver también
Ver también
- community.crypto.x509_certificate
-
La documentación oficial sobre el community.crypto.x509_certificate módulo.
- community.crypto.openssl_csr
-
La documentación oficial sobre el community.crypto.openssl_csr módulo.
- community.crypto.openssl_csr_pipe
-
La documentación oficial sobre el community.crypto.openssl_csr_pipe módulo.
- community.crypto.openssl_dhparam
-
La documentación oficial sobre el community.crypto.openssl_dhparam módulo.
- community.crypto.openssl_pkcs12
-
La documentación oficial sobre el community.crypto.openssl_pkcs12 módulo.
- community.crypto.openssl_privatekey
-
La documentación oficial sobre el community.crypto.openssl_privatekey módulo.
- community.crypto.openssl_privatekey_pipe
-
La documentación oficial sobre el community.crypto.openssl_privatekey_pipe módulo.
- community.crypto.openssl_publickey
-
La documentación oficial sobre el community.crypto.openssl_publickey módulo.
Ejemplos de
-name: Generate a Self Signed OpenSSL certificate community.crypto.x509_certificate_pipe:provider: selfsigned privatekey_path: /etc/ssl/private/ansible.com.pem csr_path: /etc/ssl/csr/ansible.com.csr register: result -name: Print the certificate ansible.builtin.debug:var: result.certificate # In the following example, both CSR and certificate file are stored on the# machine where ansible-playbook is executed, while the OwnCA data (certificate,# private key) are stored on the remote machine.-name: (1/2) Generate an OpenSSL Certificate with the CSR provided inline community.crypto.x509_certificate_pipe:provider: ownca content:" lookup('file', '/etc/ssl/csr/www.ansible.com.crt') "csr_content:" lookup('file', '/etc/ssl/csr/www.ansible.com.csr') "ownca_cert: /path/to/ca_cert.crt ownca_privatekey: /path/to/ca_cert.key ownca_privatekey_passphrase: hunter2 register: result -name: (2/2) Store certificate ansible.builtin.copy:dest: /etc/ssl/csr/www.ansible.com.crt content:" result.certificate "delegate_to: localhost when: result is changed # In the following example, the certificate from another machine is signed by# our OwnCA whose private key and certificate are only available on this# machine (where ansible-playbook is executed), without having to write# the certificate file to disk on localhost. The CSR could have been# provided by community.crypto.openssl_csr_pipe earlier, or also have been# read from the remote machine.-name: (1/3) Read certificate's contents from remote machine ansible.builtin.slurp:src: /etc/ssl/csr/www.ansible.com.crt register: certificate_content -name: (2/3) Generate an OpenSSL Certificate with the CSR provided inline community.crypto.x509_certificate_pipe:provider: ownca content:" certificate_content.content "csr_content:" the_csr "ownca_cert: /path/to/ca_cert.crt ownca_privatekey: /path/to/ca_cert.key ownca_privatekey_passphrase: hunter2 delegate_to: localhost register: result -name: (3/3) Store certificate ansible.builtin.copy:dest: /etc/ssl/csr/www.ansible.com.crt content:" result.certificate "when: result is changed
Valores devueltos
Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:
Llave | Devuelto | Descripción |
---|---|---|
certificadocuerda | cambiado o exitoso | El contenido del certificado (actual o generado). |
Autores
- Yanis Guenane (@Spredzy)
- Markus Teufelberger (@MarkusTeufelberger)
- Felix Fontein (@felixfontein)
Sección de Reseñas y Valoraciones
Si para ti ha sido útil nuestro artículo, sería de mucha ayuda si lo compartieras con más juniors de esta forma nos ayudas a extender esta información.