Obter Certificado
Resumo
- Obtenha o certificado de um host:porta.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
host - required | string | | O host que queira obter o certificado. |
ca_cert | path | | Um arquivo PEM contendo um ou mais certificados raiz; se estiver presente, o certificado será validado em relação a esses certificados raiz. Observe que isso só valida se o certificado é assinado pela rede; não que o certificado seja válido para o host que o apresenta. |
port - required | integer | | A porta para se conectar. |
proxy_host | string | | Host proxy usado para obter o certificado. |
proxy_port | integer | - 8080 (default) | Porta proxy usada para obter o certificado. |
timeout | integer | - 10 (default) | O tempo limite em segundos. |
select_crypto_backend | string | Escolhas: - auto (default) - cryptography - pyopenssl | Determina qual back-end de criptografia usar. A escolha padrão é (auto), que tenta usar (cryptography) se disponível e volta para (pyopenssl). Se definido como (pyopenssl), tentará usar a mesma. Se definido como C (cryptography), tentará usar a biblioteca de criptografia. |
Notas
- Ao usar o parâmetro ca_cert no OS X, foi relatado que, em algumas condições, a validação sempre será bem-sucedida.
Exemplos
# Exemplo: Obtenha o certificado de uma porta RDP
- get_certificate:
host: "1.2.3.4"
port: 3389
delegate_to: localhost
run_once: true
register: cert
# Exemplo: Obtenha um certificado de uma porta https
- get_certificate:
host: "www.google.com"
port: 443
delegate_to: localhost
run_once: true
register: cert
# Exemplo: Quantos dias até o certificado expirar
- debug:
msg: "cert expires in: {{ expire_days }} days."
vars:
expire_days: "{{ (( cert.not_after | to_datetime('%Y%m%d%H%M%SZ')) - (atmosphere_date_time.iso8601 | to_datetime('%Y-%m-%dT%H:%M:%SZ')) ).days }}"
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
cert | string | Sucesso | O certificado obtido da porta. |
expired | boolean | Sucesso | Booleano indicando se o certificado expirou. |
extensions (Possíveis valores) | list / elements=dictionary | Sucesso | Extensões aplicadas ao certificado. |
issuer | dictionary | Sucesso | Informações sobre o emissor do certificado. |
not_after | string | Sucesso | Data de expiração do certificado. |
not_before | string | Sucesso | Data de emissão do certificado. |
serial_number | string | Sucesso | O número de série do certificado. |
signature_algorithm | string | Sucesso | O algoritmo usado para assinar o certificado. |
subject | dictionary | Sucesso | Informações sobre o assunto do certificado (OU, CN, etc). |
version | string | Sucesso | O número da versão do certificado. |
Subcampos da chave de retorno extensions
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
asn1_data | string | Sucesso | O conteúdo ASN.1 codificado em Base64 da extensão. |
critical | boolean | Sucesso | Se a extensão é crítica. |
name | string | Sucesso | O nome da extensão. |