# Verifique se existem chaves GPG

Antes de gerar uma chave GPG, você pode verificar se há quaisquer chaves GPG existentes.

### Algoritmos de chave GPG suportados

O GitHub dá suporte a vários algoritmos de chave GPG. Se você tentar adicionar uma chave gerada com um algoritmo não suportado, você pode encontrar um erro.

* RSA
* ElGamal
* DSA
* ECDH
* ECDSA
* EdDSA

> \[!NOTE]
> O GPG não vem instalado por padrão no macOS ou Windows. Para instalar as ferramentas de linha de comando do GPG, confira a [página Download do GnuPG](https://www.gnupg.org/download/).

1. Abra <span class="platform-mac">Terminal</span><span class="platform-linux">Terminal</span><span class="platform-windows">Git Bash</span>.
2. Use o comando `gpg --list-secret-keys --keyid-format=long` para listar a forma longa das chaves GPG para as quais você tem uma chave pública e privada. Uma chave privada é necessária para assinar commits ou tags.

   ```shell copy
   gpg --list-secret-keys --keyid-format=long
   ```

   > \[!NOTE]
   > Algumas instalações de GPG no Linux podem exigir o uso de `gpg2 --list-keys --keyid-format LONG` para ver uma lista das chaves existentes. Nesse caso, você também precisará configurar o Git para usar `gpg2` executando `git config --global gpg.program gpg2`.
3. Verifique a saída do comando para confirmar se você possui um par de chaves GPG.
   * Se não houver pares de chave GPG ou se você não quiser usar os que estão disponíveis para assinar commits e tags, [gere uma nova chave GPG](/pt/authentication/managing-commit-signature-verification/generating-a-new-gpg-key).
   * Se houver um par de chaves GPG existente e você quiser usá-lo para assinar commits e tags, você poderá exibir a chave pública usando o comando a seguir, substituindo o ID da chave GPG que você gostaria de usar. Neste exemplo, a ID da chave GPG é `3AA5C34371567BD2`:

     ```shell
     $ gpg --armor --export 3AA5C34371567BD2
     # Prints the GPG public key, in ASCII armor format
     ```

     Considere exportar as chaves com a opção `--export-options export-minimal`, o que pode impedir a leitura incorreta de chaves que contêm campos preteridos.

     Em seguida, você pode [adicionar sua chave GPG à sua conta GitHub](/pt/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account).

## Leitura adicional

* [Gerar uma nova chave GPG](/pt/authentication/managing-commit-signature-verification/generating-a-new-gpg-key)
* [Adicionando uma chave GPG à sua conta de GitHub](/pt/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)
* [Informar ao Git sobre a chave de assinatura](/pt/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)
* [Associar um e-mail à chave GPG](/pt/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key)
* [Assinar commits](/pt/authentication/managing-commit-signature-verification/signing-commits)
* [Assinar tags](/pt/authentication/managing-commit-signature-verification/signing-tags)