Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Сведения о проверке подписи фиксации

С помощью GPG, SSH или S/MIME можно подписывать теги и фиксации локально. Эти теги или фиксации помечаются как проверенные в GitHub Enterprise Server, чтобы другие пользователи могли быть уверены, что изменения поступают из надежного источника.

Сведения о проверке подписи фиксации

Вы можете локально подписывать фиксации и теги, чтобы обеспечить для других пользователей уверенность в происхождении внесенных изменений. Если у фиксации или тега есть подпись GPG, SSH или S/MIME, которая является криптографически проверяемой, GitHub Enterprise Server помечает фиксацию или тег "Проверено".

Снимок экрана: фиксация в списке фиксаций для репозитория. "Проверено" выделено оранжевым контуром.

Если фиксация или тег имеют подпись, которая не может быть проверена, GitHub Enterprise Server помечает фиксацию или тег "Unverified".

Для большинства отдельных пользователей GPG или SSH будет лучшим выбором для подписывания фиксаций. Подписи S/MIME обычно требуются в контексте более крупной организации. Подписи SSH создавать проще всего. Вы даже можете отправить существующий ключ проверки подлинности в GitHub Enterprise Server для использования также в качестве ключа подписывания. Создание ключа подписывания GPG сложнее создания ключа SSH, но в GPG есть функции, отсутствующие у SSH. Если ключ GPG больше не используется, может истечь срок его действия или он может быть отозван. Подпись GPG может включать сведения об истечении срока действия или отмене.

Проверка подписи для перемещения из одной ветви в другую и слияния

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

Дополнительные сведения см. в разделе Сведения о методах слияния в GitHub.

Администраторы репозитория могут принудительно применить обязательное подписание фиксации в ветви, чтобы заблокировать все неподписанные и непроверенные фиксации. Дополнительные сведения см. в разделе Сведения о защищенных ветвях.

Вы можете проверить состояние проверки подписанных фиксаций или тегов в GitHub Enterprise Server и посмотреть, почему подписи фиксации могут быть не проверены. Дополнительные сведения см. в разделе Проверка состояния проверки сигнатуры фиксации и тега.

Если администратор сайта включил подписывание веб-фиксации, GitHub Enterprise Server автоматически будет использовать GPG для подписывания фиксаций, которые вы делаете с помощью веб-интерфейса. У фиксаций, подписанных GitHub Enterprise Server, будет проверенное состояние. Вы можете проверить подпись локально с помощью открытого ключа, доступного по адресу https://HOSTNAME/web-flow.gpg. Дополнительные сведения см. в разделе Настройка подписи веб-фиксации.

Проверка GPG подписи фиксации

Вы можете использовать GPG для подписывания фиксаций с помощью ключа GPG, который вы создаете самостоятельно.

GitHub Enterprise Server использует библиотеки OpenPGP для подтверждения того, что локальные подписанные фиксации и теги криптографически проверяются на открытый ключ, добавленный в учетную запись на ваш экземпляр GitHub Enterprise Server.

Чтобы подписать фиксации с помощью GPG и проверить эти фиксации в GitHub Enterprise Server, выполните следующие действия:

  1. Проверьте наличие существующих ключей GPG.
  2. Создайте новый ключ GPG.
  3. Добавьте ключ GPG в учетную запись GitHub.
  4. Расскажите в Git о ключе для подписывания.
  5. Подпишите фиксации.
  6. Подпишите теги.

Проверка подписи фиксаций SSH

Вы можете использовать SSH для подписывания фиксаций с помощью ключа SSH, который вы создаете самостоятельно. Дополнительные сведения см. в справочной документации по Git.user.Signingkey Если вы уже используете ключ SSH для проверки подлинности с помощью GitHub Enterprise Server, вы также можете отправить этот же ключ еще раз для использования в качестве ключа подписывания. Количество ключей подписывания, которые можно добавить в учетную запись, не ограничено.

GitHub Enterprise Server использует ssh_data, библиотеку ruby открытый код, чтобы убедиться, что ваши локальные подписанные фиксации и теги криптографически проверяются на открытый ключ, добавленный в учетную запись на ваш экземпляр GitHub Enterprise Server.

Note

Проверка подписи SSH доступна в Git 2.34 или более поздней версии. Сведения об обновлении версии Git см. на веб-сайте Git.

Чтобы подписать фиксации с помощью SSH и проверить эти фиксации в GitHub Enterprise Server, выполните следующие действия:

  1. Проверьте существующие ключи SSH
  2. Создание нового ключа SSH
  3. Добавление ключа подписывания SSH в учетную запись GitHub
  4. Расскажите в Git о ключе для подписывания.
  5. Подпишите фиксации.
  6. Подпишите теги.

Проверка S/MIME подписи фиксации

Вы можете использовать S/MIME для подписывания фиксаций с помощью ключа X.509, выданного вашей организацией.

GitHub Enterprise Server применяет пакет сертификатов ЦС Debian, то же хранилище доверия, которое используют браузеры Mozilla, чтобы убедиться, что ваши локально подписанные фиксации и теги проверяются криптографически с помощью открытого ключа в доверенном корневом сертификате.

Note

Проверка подписи S/MIME доступна в Git 2.19 или более поздней версии. Сведения об обновлении версии Git см. на веб-сайте Git.

Чтобы подписать фиксации с помощью S/MIME и проверить эти фиксации в GitHub Enterprise Server, выполните следующие действия:

  1. Расскажите в Git о ключе для подписывания.
  2. Подпишите фиксации.
  3. Подпишите теги.

Вам не нужно отправлять открытый ключ в GitHub Enterprise Server.

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