{"meta":{"title":"Создание ключа GPG","intro":"Если у вас нет существующего ключа GPG, можно создать новый ключ GPG для подписывания фиксаций и тегов.","product":"Проверка подлинности","breadcrumbs":[{"href":"/ru/authentication","title":"Проверка подлинности"},{"href":"/ru/authentication/managing-commit-signature-verification","title":"Проверка подписей фиксации"},{"href":"/ru/authentication/managing-commit-signature-verification/generating-a-new-gpg-key","title":"Создание ключа GPG"}],"documentType":"article"},"body":"# Создание ключа GPG\n\nЕсли у вас нет существующего ключа GPG, можно создать новый ключ GPG для подписывания фиксаций и тегов.\n\n### Поддерживаемые алгоритмы ключей GPG\n\nGitHub поддерживает несколько алгоритмов ключей групповой политики. При попытке добавить ключ, созданный с помощью неподдерживаемого алгоритма, может возникнуть ошибка.\n\n* RSA\n* ElGamal\n* DSA\n* ECDH\n* ECDSA\n* EdDSA\n\n## Создание ключа GPG\n\n> \\[!NOTE]\n> Перед созданием нового ключа GPG убедитесь, что вы проверили свой адрес электронной почты. Если вы не проверили свой адрес электронной почты, вы не сможете подписывать фиксации и теги с помощью групповой политики. Для получения дополнительной информации см. [Подтверждение адреса электронной почты](/ru/account-and-profile/how-tos/email-preferences/verifying-your-email-address).\n\n1. Скачайте и установите [программы командной строки GPG](https://www.gnupg.org/download/) для своей операционной системы. Как правило, рекомендуется устанавливать последнюю версию для вашей операционной системы.\n\n2. Откройте <span class=\"platform-mac\">Терминал</span><span class=\"platform-linux\">Терминал</span><span class=\"platform-windows\">GIT Bash</span>.\n\n3. Создайте пару ключей GPG. Так как версий GPG несколько, может потребоваться обратиться к соответствующей [*странице руководства*](https://en.wikipedia.org/wiki/Man_page), чтобы найти команду создания ключей.\n   * Если вы используете версию 2.1.17 или более позднюю, вставьте приведенный ниже текст, чтобы создать пару ключей GPG.\n\n     ```shell copy\n     gpg --full-generate-key\n     ```\n\n   * В других версиях команда `gpg --full-generate-key` не работает. Вставьте приведенный ниже текст и перейдите к шагу 6.\n\n     ```shell copy\n     gpg --default-new-key-algo rsa4096 --gen-key\n     ```\n\n4. В командной строке укажите нужный тип ключа или нажмите клавишу `Enter`, чтобы принять значение по умолчанию.\n\n5. В командной строке укажите нужный размер ключа или нажмите клавишу `Enter`, чтобы принять значение по умолчанию.\n\n6. Введите срок действия ключа. Нажмите `Enter`, чтобы принять значение по умолчанию: бессрочный ключ. Если вам не требуется установка даты окончания срока действия, рекомендуется принять значение по умолчанию.\n\n7. Проверьте правильность выбранных параметров.\n\n8. Введите идентификатор пользователя.\n\n   > \\[!NOTE]\n   > Когда вас попросят ввести ваш адрес электронной почты, обязательно введите подтверждённый адрес электронной почты для вашего аккаунта GitHub.\n\nЧтобы сохранить адрес электронной почты закрытым, используйте адрес электронной почты GitHub `no-reply` .\n\nДополнительные сведения см. в разделе [Подтверждение адреса электронной почты](/ru/account-and-profile/how-tos/email-preferences/verifying-your-email-address) и [Указание адреса электронной почты для фиксаций](/ru/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address).\n\n1. Введите надежную парольную фразу.\n\n2. Команда `gpg --list-secret-keys --keyid-format=long` позволяет получить длинную форму ключей GPG, для которых у вас есть открытый и закрытый ключ. Закрытый ключ необходим для подписания фиксаций или тегов.\n\n   ```shell copy\n   gpg --list-secret-keys --keyid-format=long\n   ```\n\n   > \\[!NOTE]\n   > Для некоторых установок GPG в Linux может потребоваться `gpg2 --list-keys --keyid-format LONG` просмотреть список существующих ключей. В этом случае также нужно будет настроить Git для использования `gpg2`, выполнив `git config --global gpg.program gpg2`.\n\n3. Из списка ключей GPG скопируйте длинную форму идентификатора ключа GPG, который вы хотите использовать. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`:\n\n   ```shell copy\n   $ gpg --list-secret-keys --keyid-format=long\n   /Users/hubot/.gnupg/secring.gpg\n   ------------------------------------\n   sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]\n   uid                          Hubot <hubot@example.com>\n   ssb   4096R/4BB6D45482678BE3 2016-03-10\n   ```\n\n4. Вставьте приведенный ниже текст, подставив нужный идентификатор ключа GPG. В этом примере идентификатором ключа GPG является `3AA5C34371567BD2`:\n\n   ```shell copy\n   gpg --armor --export 3AA5C34371567BD2\n   # Prints the GPG key ID, in ASCII armor format\n   ```\n\n5. Скопируйте ключ PGP, начиная с `-----BEGIN PGP PUBLIC KEY BLOCK-----` и заканчивая `-----END PGP PUBLIC KEY BLOCK-----`.\n\n6. [Добавьте ключ GPG в свой аккаунт GitHub](/ru/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account).\n\n## Дополнительные материалы\n\n* [Проверка наличия ключей GPG](/ru/authentication/managing-commit-signature-verification/checking-for-existing-gpg-keys)\n* [Добавление ключа GPG в ваш аккаунт GitHub](/ru/authentication/managing-commit-signature-verification/adding-a-gpg-key-to-your-github-account)\n* [Предоставление GIT информации о ключе для подписывания](/ru/authentication/managing-commit-signature-verification/telling-git-about-your-signing-key)\n* [Связывание адреса электронной почты с ключом GPG](/ru/authentication/managing-commit-signature-verification/associating-an-email-with-your-gpg-key)\n* [Подписание фиксаций](/ru/authentication/managing-commit-signature-verification/signing-commits)\n* [Подписывание тегов](/ru/authentication/managing-commit-signature-verification/signing-tags)"}