Informações do Certificado OpenSSL
Resumo
- Este módulo permite consultar informações sobre certificados OpenSSL.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
content | string | | Conteúdo do certificado X.509 em formato PEM. Qualquer caminho ou conteúdo deve ser especificado, mas não ambos. |
path | path | | Caminho absoluto remoto de onde o arquivo de certificado é carregado. Qualquer caminho ou conteúdo deve ser especificado, mas não ambos. |
select_crypto_backend | string | Escolhas: - auto(default) - cryptography - pyopenssl | Determina qual back-end criptográfico usar. A escolha padrão é auto, que tenta usar, cryptography se disponível, e retorna a pyopenssl. |
valid_at | dictionary | | Um ditado de mapeamento de nomes para especificações de tempo. Cada vez aqui especificado será verificado se o certificado é válido neste momento. Veja o valid_at valor de retorno para informações sobre o resultado. O tempo pode ser especificado como tempo relativo ou como carimbo de data / hora absoluto. A hora sempre será interpretada como UTC.O formato válido é [+-]timespec | ASN.1 TIME onde o timespec pode ser um inteiro + [w | d | h | m | s] (por exemplo +32w1d2h, e ASN.1 TIME (em outras palavras, padrão YYYYMMDDHHMMSSZ). Observe que todos os carimbos de data / hora serão tratados como sendo UTC. |
Notas
Observação
- Todos os valores de timestamp são fornecidos no formato ASN.1 TIME, ou seja, seguindo o YYYYMMDDHHMMSSZ padrão. Eles estão todos em UTC.
- Suporta check_mode.
Exemplos
# Generate a Self Signed OpenSSL certificate
openssl_certificate:
path: /etc/ssl/crt/atmosphere.com.crt
privatekey_path: /etc/ssl/private/atmosphere.com.pem
csr_path: /etc/ssl/csr/atmosphere.com.csr
provider: selfsigned
# Get information on the certificate
# Get information on generated certificate
openssl_certificate_info:
path: /etc/ssl/crt/atmosphere.com.crt
register: result
# Dump information
debug:
var: result
# Check whether the certificate is valid or not valid at certain times, fail
# if this is not the case. The first task (openssl_certificate_info) collects
# the information, and the second task (assert) validates the result and
# makes the playbook fail in case something is not as expected.
# Test whether that certificate is valid tomorrow and/or in three weeks
openssl_certificate_info:
path: /etc/ssl/crt/atmosphere.com.crt
valid_at:
point_1: "+1d"
point_2: "+3w"
register: result
# Validate that certificate is valid tomorrow, but not in three weeks
assert:
that:
- result.valid_at.point_1 # valid in one day
- not result.valid_at.point_2 # not valid in three weeksValores Retornados
Chave | Tipo | Retornado quando | Descrição | |
|---|---|---|---|---|
authority_cert_issuer | list / elements=string | sucesso e se o backend pyOpenSSL não for usado | O emissor do certificado da autoridade de certificação como uma lista de nomes gerais. É none se a AuthorityKeyIdentifier extensão não estiver presente. | |
authority_cert_serial_number | integer | sucesso e se o backend pyOpenSSL não for usado | O número de série do certificado da autoridade de certificação. É none se a AuthorityKeyIdentifier extensão não estiver presente. | |
authority_key_identifier | string | sucesso e se o backend pyOpenSSL não for usado | O identificador da chave da autoridade de certificação. O identificador é retornado em hexadecimal, com : usado para separar bytes. É none se a AuthorityKeyIdentifier extensão não estiver presente. | |
basic_constraints | list / elements=string | sucesso | Entradas na basic_constraints extensão ou none se a extensão não estiver presente. | |
basic_constraints_critical | boolean | sucesso | Se a basic_constraints extensão é crítica. | |
expired | boolean | sucesso | Se o certificado expirou (em outras palavras, notAfter está no passado). | |
extended_key_usage | list / elements=string | sucesso | Entradas na extended_key_usage extensão ou nonese a extensão não estiver presente. | |
extended_key_usage_critical | boolean | sucesso | Se a extended_key_usage extensão é crítica. | |
extensions_by_oid | dictionary | sucesso | Retorna um dicionário para cada extensão OID. | |
fingerprints | dictionary | sucesso | Impressões digitais da forma codificada por DER de todo o certificado. Para cada algoritmo hash disponível, a impressão digital é calculada. | |
issuer | dictionary | sucesso | O emissor do certificado. Observe que para valores repetidos, apenas o último será retornado. | |
issuer_ordered | list / elements=list | sucesso | O emissor do certificado como uma lista ordenada de tuplas. | |
key_usage | string | sucesso | Entradas na key_usage extensão ou nonese a extensão não estiver presente. | |
key_usage_critical | boolean | sucesso | Se a key_usagee xtensão é crítica. | |
not_after | string | sucesso | notAfter data como ASN.1 TIME. | |
not_before | string | sucesso | notBefore data como ASN.1 TIME. | |
ocsp_must_staple | boolean | sucesso | yes se a extensão OCSP Must Staple estiver presente, none caso contrário. | |
ocsp_must_staple_critical | boolean | sucesso | Se a ocsp_must_staple extensão é crítica. | |
ocsp_uri | string | sucesso | O URI do respondente OCSP, se incluído no certificado. Será none se nenhum URI respondente do OCSP for incluído. | |
public_key | string | sucesso | Chave pública do certificado em formato PEM. | |
public_key_fingerprints | dictionary | sucesso | Impressões digitais da chave pública do certificado. Para cada algoritmo hash disponível, a impressão digital é calculada. | |
serial_number | integer | sucesso | O número de série do certificado. | |
signature_algorithm | string | sucesso | O algoritmo de assinatura usado para assinar o certificado. | |
subject | dictionary | sucesso | O assunto do certificado como um dicionário. Observe que para valores repetidos, apenas o último será retornado. | |
subject_alt_name | list / elements=string | sucesso | Entradas na subject_alt_name extensão ou nonese a extensão não estiver presente. | |
subject_alt_name_critical | boolean | sucesso | Se a subject_alt_name extensão é crítica. | |
subject_key_identifier | string | sucesso e se o backend pyOpenSSL não for usado | O identificador da chave do assunto do certificado. O identificador é retornado em hexadecimal, com : usado para separar bytes. É none se a SubjectKeyIdentifier extensão não estiver presente. | |
subject_ordered | list / elements=list | sucesso | O assunto do certificado como uma lista ordenada de tuplas. | |
valid_at | dictionary | sucesso | Para cada carimbo de data / hora fornecido na opção valid_at , um booleano se o certificado é válido naquele momento ou não. | |
version | integer | sucesso | A versão do certificado. | |
Subopções da chave de retorno extensions_by_oid
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
critical | boolean | sucesso | Se a extensão é crítica. |
value | string | sucesso | O valor codificado em Base64 (no formato DER) da extensão. |