# Проверка наличия ключей GPG

Перед созданием ключа GPG можно проверить наличие существующих ключей GPG.

### Поддерживаемые алгоритмы ключей GPG

GitHub поддерживает несколько алгоритмов ключей групповой политики. При попытке добавить ключ, созданный с помощью неподдерживаемого алгоритма, может возникнуть ошибка.

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

> \[!NOTE]
> GPG не устанавливается по умолчанию на macOS или Windows. Сведения об установке программ командной строки GPG см. на [странице скачивания GnuPG](https://www.gnupg.org/download/).

1. Откройте <span class="platform-mac">Терминал</span><span class="platform-linux">Терминал</span><span class="platform-windows">GIT Bash</span>.
2. Команда `gpg --list-secret-keys --keyid-format=long` позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.

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

   > \[!NOTE]
   > Для некоторых установок GPG в Linux может потребоваться `gpg2 --list-keys --keyid-format LONG` просмотреть список существующих ключей. В этом случае также нужно будет настроить Git для использования `gpg2`, выполнив `git config --global gpg.program gpg2`.
3. Проверьте выходные данные команды, чтобы узнать, есть ли у вас пара ключей GPG.
   * Если пар ключей GPG нет или вы не хотите использовать имеющиеся пары для подписывания фиксаций и тегов, [создайте новый ключ GPG](/ru/authentication/managing-commit-signature-verification/generating-a-new-gpg-key).
   * Если пара ключей GPG имеется и вы хотите использовать ее для подписывания фиксаций и тегов, вы можете отобразить открытый ключ с помощью следующей команды, в которую следует подставить нужный идентификатор ключа GPG. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`:

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

     Рассмотрите возможность экспорта ключей с параметром `--export-options export-minimal`, который может предотвратить неправильное понимание ключей, содержащих устаревшие поля.

     Затем вы можете [добавить свой GPG-ключ в GitHub аккаунт](/ru/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account).

## Дополнительные материалы

* [Создание ключа GPG](/ru/authentication/managing-commit-signature-verification/generating-a-new-gpg-key)
* [Добавление ключа GPG в ваш аккаунт GitHub](/ru/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)
* [Предоставление GIT информации о ключе для подписывания](/ru/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)
* [Связывание адреса электронной почты с ключом GPG](/ru/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key)
* [Подписание фиксаций](/ru/authentication/managing-commit-signature-verification/signing-commits)
* [Подписывание тегов](/ru/authentication/managing-commit-signature-verification/signing-tags)