---
title: Chave pública OpenSSL
slug: aiops-documentacao-tecnica/chave-publica-openssl
docTags: 
createdAt: 2024-07-18T21:10:26.185Z
---

## Resumo

- Gere uma chave pública OpenSSL a partir de sua chave privada.

## Parâmetros

| **Parâmetro**            | **Tipo** | **Escolhas \| Valor Padrão**                                              | **Comentários**                                                                                                                                                                                                                                                                         |
| ------------------------ | -------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| backup                   | boolean  | Escolhas:<br />- false<br />(default)<br />- true                         | Crie um arquivo de backup incluindo data/hora para que você possa obter a chave pública original de volta caso a substitua por uma diferente por acidente.                                                                                                                              |
| force                    | boolean  | Escolhas:<br />- false<br />(default)<br />- true                         | Se a chave deve ser reescrita mesmo se já existir.                                                                                                                                                                                                                                      |
| format                   | string   | Escolhas:<br />- OpenSSH<br />- PEM<br />(default)                        | O formato da chave pública.                                                                                                                                                                                                                                                             |
| path - *required*        | path     |                                                                           | Nome do arquivo no qual a chave pública TLS / SSL gerada será gravada.                                                                                                                                                                                                                  |
| privatekey\_passphrase   | string   |                                                                           | A frase secreta da chave privada.                                                                                                                                                                                                                                                       |
| privatekey\_path         | path     |                                                                           | Caminho para a chave privada TLS / SSL a partir da qual gerar a chave pública. É necessário especificar privatekey\_path ou privatekey\_content, mas não ambos. Se o state estiver present, um deles será necessário.                                                                   |
| select\_crypto\_backend  | string   | Escolhas:<br />- auto<br />(default)<br />- cryptography<br />- pyopenssl | Determina qual back-end de criptografia usar. A escolha padrão é auto, que tenta usar criptografia, se disponível, e retorna para pyopenssl. Se definido como pyopenssl, tentará usar a biblioteca pyOpenSSL. Se definido como cryptography, tentará usar o biblioteca de criptografia. |
| state                    | string   | Escolhas:<br />- present<br />(default)<br />- absent                     | Se a chave pública deve existir ou não, agir se o state for diferente do que é declarado.                                                                                                                                                                                               |

## Observações

- Para que você aproveite o máximo desse módulo, é necessário que o mesmo esteja funcionando em uma máquina remota ou host, que contenha os arquivos solicitados pelos parâmetros.

## Exemplos

```yaml
# Exemplo: Gere uma chave pública OpenSSL no formato PEM
- openssl_publickey:
    path: /etc/ssl/public/example.com.pem
    privatekey_path: /etc/ssl/private/example.com.pem

# Exemplo: Gere uma chave pública OpenSSL no formato OpenSSH v2
- openssl_publickey:
    path: /etc/ssl/public/example.com.pem
    privatekey_path: /etc/ssl/private/example.com.pem
    format: OpenSSH

# Exemplo: Gere uma chave pública OpenSSL com uma chave privada protegida por senha
- openssl_publickey:
    path: /etc/ssl/public/example.com.pem
    privatekey_path: /etc/ssl/private/example.com.pem
    privatekey_passphrase: example

# Exemplo: Força a reescrita de uma chave pública OpenSSL se ela já existir
- openssl_publickey:
    path: /etc/ssl/public/example.com.pem
    privatekey_path: /etc/ssl/private/example.com.pem
    force: yes

# Exemplo: Remova uma chave pública OpenSSL
- openssl_publickey:
    path: /etc/ssl/public/example.com.pem
    privatekey_path: /etc/ssl/private/example.com.pem
    state: absent
```

## Valores retornados

| **Chave**     | **Tipo**   | **Retornado quando**                                | **Descrição**                                                                                                                                                   |
| ------------- | ---------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| backup\_file  | string     | Sucesso e *backup* é "sim"                          | Nome do arquivo de backup criado.                                                                                                                               |
| filename      | string     | Sucesso                                             | Caminho para o arquivo de chave pública TLS / SSL gerado.                                                                                                       |
| fingerprint   | dictionary | Sucesso                                             | A impressão digital da chave pública. A impressão digital será gerada para cada hashlib.algorithms available.                                                   |
| format        | string     | Sucesso                                             | O formato da chave pública (PEM, OpenSSH, ...).                                                                                                                 |
| privatekey    | string     | Sucesso                                             | Caminho para a chave privada TLS / SSL a partir da qual a chave pública foi gerada. Será nenhum se a chave privada tiver sido fornecida em privatekey\_content. |
| publickey     | string     | Se o state for "present" e *return\_content* é sim. | O conteúdo da chave pública (atual ou gerada).                                                                                                                  |

