# Azion CLI csr

Os comandos `csr` da Azion CLI criam, descrevem e excluem solicitações de assinatura de certificado (CSRs) em [Certificate Manager](/pt-br/documentacao/plataforma/workloads/certificate-manager/certificados/). Uma CSR é a solicitação que você envia a uma autoridade certificadora (CA) para obter um certificado, e a CLI a imprime quando cria uma. A Azion armazena uma CSR como um certificado digital com status `pending`, por isso a CSR e os seus certificados compartilham um mesmo conjunto de IDs. A CLI não tem comando que liste ou atualize uma CSR: `azion list digital-certificate` a lista com os seus certificados, e os [comandos digital-certificate](/pt-br/documentacao/devtools/cli/recursos/digital-certificate/) gerenciam a entrada. As opções que todo comando aceita, como `--format`, `--out` e `-y`, estão em [Opções globais](/pt-br/documentacao/devtools/cli/globals/).

---

## Criar

`azion create csr` cria uma CSR com o subject e o algoritmo de chave que você passa, e imprime a solicitação:

```bash
azion create csr [flags]
```

| Flag                   | Curta | Tipo   | Padrão | Descrição                                                                                                                                                        |
| ---------------------- | ----- | ------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--alternative-names`  | —     | string | —      | Lista de Subject Alternative Names (SANs), separados por vírgula.                                                                                                |
| `--certificate-type`   | —     | string | —      | Tipo do certificado, como `edge_certificate` ou `trusted_ca_certificate`. Sem ela, a CSR recebe o tipo `edge_certificate`.                                       |
| `--common-name`        | —     | string | —      | Common Name (CN) do subject do certificado.                                                                                                                      |
| `--country`            | —     | string | —      | **Obrigatório**, a menos que `--file` seja informado. Código do país do subject do certificado, como `US` ou `BR`. Sem ela, o comando pergunta o código do país. |
| `--email`              | —     | string | —      | Endereço de email de contato do subject do certificado.                                                                                                          |
| `--file`               | —     | string | —      | Caminho de um arquivo JSON com os atributos da CSR. Use `-` para ler o JSON da entrada padrão.                                                                   |
| `--key-algorithm`      | —     | string | —      | Algoritmo da chave: `rsa_2048`, `rsa_4096` ou `ecc_384`.                                                                                                         |
| `--locality`           | —     | string | —      | Cidade ou localidade do subject do certificado.                                                                                                                  |
| `--name`               | —     | string | —      | Nome que identifica a CSR.                                                                                                                                       |
| `--organization`       | —     | string | —      | Nome da organização do subject do certificado.                                                                                                                   |
| `--organization-unity` | —     | string | —      | Unidade organizacional do subject do certificado.                                                                                                                |
| `--state`              | —     | string | —      | Estado ou província do subject do certificado.                                                                                                                   |

Um valor de `--key-algorithm` fora dos três listados é recusado com `"rsa_1024" is not a valid choice.`, e um `--name` que um certificado da sua conta já usa é recusado com `This field must be unique.` Cada nome em `--common-name` e `--alternative-names` precisa pertencer a um domínio para o qual a sua conta tem permissão. Os limites de cada campo estão em [Certificados](/pt-br/documentacao/plataforma/workloads/certificate-manager/certificados/).

Este comando cria uma CSR chamada `my-csr` para `example.com` e `www.example.com`, com uma chave RSA de 2048 bits:

```bash
azion create csr --name my-csr --common-name example.com --country BR --state 'Rio Grande do Sul' --locality 'Porto Alegre' --organization 'Example Corp' --organization-unity Docs --email admin@example.com --alternative-names 'www.example.com' --key-algorithm rsa_2048
```

O comando imprime o ID da CSR e, em seguida, a solicitação em formato PEM, que termina com `-----END CERTIFICATE REQUEST-----`. A saída começa com estas linhas:

```text
Created Certificate Signing Request with ID 123481
-----BEGIN CERTIFICATE REQUEST-----
```

---

## Descrever

`azion describe csr` imprime as configurações e o status de uma CSR, e a própria solicitação:

```bash
azion describe csr [flags]
```

| Flag       | Curta | Tipo | Padrão | Descrição              |
| ---------- | ----- | ---- | ------ | ---------------------- |
| `--csr-id` | —     | int  | —      | ID da CSR a descrever. |

Este comando descreve a CSR com ID `123481`:

```bash
azion describe csr --csr-id 123481
```

O comando imprime os campos da CSR e, em seguida, a solicitação sob `CSR:`, que termina com `-----END CERTIFICATE REQUEST-----`. A saída começa com estas linhas:

```text
ID:              123481
Name:            my-csr
Issuer:          null
Subject Names:   []
Validity:        null
Type:            edge_certificate
Managed:         false
Status:          pending
Status Detail:
Challenge:
Authority:
Key Algorithm:   rsa_2048
Active:          true
Last Editor:     you@example.com
Created At:      "2026-01-01T12:00:00.763397Z"
Last Modified:   "2026-01-01T12:00:00.763397Z"
Renewed At:      null

CSR:
-----BEGIN CERTIFICATE REQUEST-----
```

Com `--format json`, o comando imprime o objeto completo: `active`, `authority`, `certificate`, `challenge`, `created_at`, `csr`, `id`, `issuer`, `key_algorithm`, `last_editor`, `last_modified`, `managed`, `name`, `product_version`, `renewed_at`, `status`, `status_detail`, `subject_name`, `type` e `validity`. Essas são as chaves de um certificado digital. O valor de `csr` contém a solicitação com cada quebra de linha escrita como `\n`, e `certificate` continua `null`. Com `--out csr-describe.json`, o comando grava o mesmo objeto nesse arquivo e imprime `File successfully written to: csr-describe.json`.

`azion describe csr` também aceita o ID de um certificado que não veio de uma CSR, e imprime esse certificado. Um ID que não existe falha com `Error: Failed to get the Certificate Signing Request: The given ID or API's endpoint doesn't exist or isn't available.`, seguido de uma dica para verificar as suas configurações.

---

## Excluir

`azion delete csr` exclui uma CSR:

```bash
azion delete csr [flags]
```

| Flag       | Curta | Tipo | Padrão | Descrição            |
| ---------- | ----- | ---- | ------ | -------------------- |
| `--csr-id` | —     | int  | —      | ID da CSR a excluir. |

Este comando exclui a CSR com ID `123481`:

```bash
azion delete csr --csr-id 123481
```

O comando confirma a exclusão:

```text
Certificate Signing Request 123481 was successfully deleted
```

---

## Usar um arquivo JSON

`azion create csr` lê os atributos da CSR de um arquivo JSON com `--file`. No arquivo, `--common-name`, `--organization-unity` e `--key-algorithm` viram as chaves `common_name`, `organization_unity` e `key_algorithm`.

Este arquivo cria uma CSR chamada `my-csr-ecc` para `api.example.com` com o algoritmo de chave `ecc_384`:

```json
{
  "name": "my-csr-ecc",
  "common_name": "api.example.com",
  "country": "BR",
  "state": "Rio Grande do Sul",
  "locality": "Porto Alegre",
  "organization": "Example Corp",
  "organization_unity": "Docs",
  "email": "admin@example.com",
  "key_algorithm": "ecc_384"
}
```

Passe o arquivo para o comando de criação:

```bash
azion create csr --file csr-create.json
```

O comando imprime o ID da CSR e, em seguida, a solicitação em formato PEM. A saída começa com estas linhas:

```text
Created Certificate Signing Request with ID 123482
-----BEGIN CERTIFICATE REQUEST-----
```

---

## Recursos relacionados

- [Opções globais](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, como `--format`, `--out` e `-y`.
- [Certificados](/pt-br/documentacao/plataforma/workloads/certificate-manager/certificados.md): Os campos de uma CSR, os limites deles e como adicionar o certificado que a CA assina.
- [Azion CLI digital-certificate](/pt-br/documentacao/devtools/cli/recursos/digital-certificate.md): Os comandos que listam as suas CSRs com os seus certificados e gerenciam cada entrada.
- [Comandos de recursos](/pt-br/documentacao/devtools/cli/recursos.md): Cada recurso que a CLI gerencia e os verbos que cada um aceita.
