Kernel/signature/git: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
м (Vt переименовал страницу Kernel/signature в Kernel/signature/git: Для добавления страницы проверки rpm пакета)
 
(не показано 11 промежуточных версий этого же участника)
Строка 1: Строка 1:
= Получение GPG ключей =
= Проверка целостности исходного кода в git репозитории ядра =


Актуальные GPG ключи ''ALT Linux Team'' находятся в пакете {{pkg|alt-gpgkeys}}. Чтоб получить ключ нужного разработчика нужно поставить этот пакет, экспортировать из него нужный ключ и импортировать его себе.
== Получение GPG ключей ==


  # apt-get update
Актуальные GPG ключи ''ALT Linux Team'' находятся в пакете {{pkg|alt-gpgkeys}}.
  # apt-get install -y gnupg alt-gpgkeys


Просмотр ключа <code>kernelbot@altlinux.org</code>:
  <span style="color:blue">#</span> '''apt-get update'''
  <span style="color:blue">#</span> '''apt-get install''' -y gnupg alt-gpgkeys


<pre>$ gpg --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org
== Проверка целостности исходного кода ==
-----BEGIN PGP PUBLIC KEY BLOCK-----


mQINBGIeFoIBEADmQd7S8XOmycX09w2KQGQhv3YLPUxvHbt6EKxnSHWwMnJc/m4D
На каждом git тэге из которого собран пакет имеется GPG подпись того кто послал его на сборку. Так как более новые git объекты ссылаются на предыдущие достаточно проверить подпись на последнем (заглавном) из них.
09v/Qqxc//Tfo0jtdbQ4xWR1xss+rv/Nro0qbl6GAN2Own6F+YUVPAgjtdd0Z6VF
4o0GzrcOoi/j8JB0zcnlKWCkfqHdKwiL84dCYe3jvxKQOegjJbyM6HfZUeDOzvfa
azQYnQwh/BLFXbdO0V+M1tGarH0p5A0xttxU8/iBmSvUTO42J2WGfixXHuitxFjw
8T0gDpPFsTClQBHdUVCbZeOIsIuKKKgApZfANj8+G01ohV1DmrYwTlRKwkGmVm+I
PwQcAxXpod/EWFFkz9UgPg5jza2idys9S9Q95UhmxpZIwyR5JY2BGu4FNlP4JUFj
EN0TZCkgyVQFdyd9ZTUXgLJfwwLA4mEXQaKGIU8aJZqC/JWeyvdcYIiNcgDw5k57
Hi8nSuCWHUvdzBsVjjQD3dqjWMJk1hnG4QF1ReaCJhBdknQ8swqCbole1JWOWBc9
h7iLrVGIZlz83o4EtT2xCYXANtvwNS2+wgngpcbSVP+Ih8c7yQNgMyNqvY9L2IpG
MqE4F+MlcPF/7YEvQ6PAj5fA/jjXQRxibUI2/57Fi7ra0QX51m91U7dHCFwMf7Tq
BH9WrXB+7+7BJ3uxId0kfrBOwF+MQvE64HvnXUwsxiWXGONCt13ZCKxafwARAQAB
tCNLZXJuZWwgQm90IDxrZXJuZWxib3RAYWx0bGludXgub3JnPokCPgQTAQgAKAUC
Yh4WggIbAwUJEswDAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ0D4P+DvT
EoMVHg/6AmbcnSpC1iWnNP9CsZ06BwRhFjDNuCvL/lwn22lt3/x036PHE7C4RGGl
VrNROsULql9EUswZu3/O5x5AljV89lpDJtnleFS3RNWyJdsG01DEeDYN6g1dDP3n
ZpWstGkmys7reXt65myLHE+US4Q+3PwY7hAmvnIlmLJcNdbiffy8C/ofu15BK0gw
7P/Z6AVj4+02PiLtSpTT0ySmEas6WxRZL+TKYB8rUX65r4YJ3KG9+Fb2mRJHweJw
N0X04gMek12bwUpe51oyKPBtG2vVYjiaWg3ijaaawqawuiZMQie95Nw4wORV7cMs
xcxWOAnvvNfhSwCK42t74jRTnBb0Q4gIbUN8rRrUaiH7659JdapDYjW6eGYhhwDE
LwLTpQ0HgVVKRKrhXWIFH5/F75KzcINxUio+QSDi86sRVLBZ1X8c+mGFvBhQa4/E
mlKZM3xJn3I+Bq8rBIB3/Mr9e9z5KdiNqnki7v3IRGHUJxInUxn8Ao9ZSJAipfQV
gcycSih+03xLtU/QFor4CP9EtjVmJf3ki3mm3gWWc6+d7aNDWLH7emPeTqveQZdZ
Z4QOfUvNurnTExkF/gaWb6qJXUZCIznaUYJDJXtHq0+SlETHhGJ/MNLT4E0Jv/F5
j0zGgjXc6y6PDJo3cE7fsMGmiuHNXqvxLhOYeKeD3dfbBsVH5Ak=
=/Hjj
-----END PGP PUBLIC KEY BLOCK-----</pre>


Для импорта публичного ключа <code>kernelbot@altlinux.org</code>, под своим пользователем запустите:
* Просмотр заглавного (указывающего на HEAD) тэга — подпись на котором мы будем проверять. Находясь в git репозитории пакета:


   $ gpg --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org | gpg --import
   <span style="color:blue">linux$</span> '''git tag''' --points-at HEAD
  <span style="color:gray">kernel-image-std-def-5.10.154-alt1</span>


= Проверка целостности исходного кода =
* Проверка, что заглавный тэг подписан любым из участников ''ALT Linux Team'' (ключом из пакета {{pkg|alt-gpgkeys}}) без импорта ключей в свой keyring:


На каждом git теге из которого собран пакет имеется gpg подпись того кто его послал на сборку. Просмотр тэга (находясь в git репозитории пакета):
   <span style="color:blue">linux$</span> GNUPGHOME=/usr/lib/alt-gpgkeys '''git verify-tag''' $(git tag --points-at HEAD)
 
   <span style="color:grey">gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
   $ git tag --points-at HEAD
  kernel-image-std-def-5.10.154-alt1
 
* Проверка, что тэг указывающий на HEAD подписан членом ''ALT Linux Team'' (ключом из пакета {{pkg|alt-gpgkeys}}):
 
  $ GNUPGHOME=/usr/lib/alt-gpgkeys git verify-tag `git tag --points-at HEAD`
  gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
  gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
  gpg:                using RSA key D03E0FF83BD31283
  gpg: Good signature from "Kernel Bot <kernelbot@altlinux.org>" [unknown]
 
Обратите внимание на наличие строки "'''Good signature'''".
 
* Так как разработчиков много, то лучше проверить, что тег подписан конкретным из них, для ядер это зачастую (но не всегда) Kernel Bot. Импортируйте его публичный ключ как описано выше и затем:
 
  $ git verify-tag `git tag --points-at HEAD`
   gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
   gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
   gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
   gpg:                using RSA key D03E0FF83BD31283
   gpg:                using RSA key D03E0FF83BD31283
   gpg: Good signature from "Kernel Bot <kernelbot@altlinux.org>" [unknown]
   gpg: Good signature from "Kernel Bot <kernelbot@altlinux.org>" [unknown]</span>


Убедитесь в наличии строки "'''Good signature'''".
Убедитесь в наличии строки "'''Good signature'''".

Текущая версия от 15:42, 11 декабря 2022

Проверка целостности исходного кода в git репозитории ядра

Получение GPG ключей

Актуальные GPG ключи ALT Linux Team находятся в пакете alt-gpgkeys.

 # apt-get update
 # apt-get install -y gnupg alt-gpgkeys

Проверка целостности исходного кода

На каждом git тэге из которого собран пакет имеется GPG подпись того кто послал его на сборку. Так как более новые git объекты ссылаются на предыдущие достаточно проверить подпись на последнем (заглавном) из них.

  • Просмотр заглавного (указывающего на HEAD) тэга — подпись на котором мы будем проверять. Находясь в git репозитории пакета:
 linux$ git tag --points-at HEAD
 kernel-image-std-def-5.10.154-alt1
  • Проверка, что заглавный тэг подписан любым из участников ALT Linux Team (ключом из пакета alt-gpgkeys) без импорта ключей в свой keyring:
 linux$ GNUPGHOME=/usr/lib/alt-gpgkeys git verify-tag $(git tag --points-at HEAD)
 gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
 gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
 gpg:                using RSA key D03E0FF83BD31283
 gpg: Good signature from "Kernel Bot <kernelbot@altlinux.org>" [unknown]

Убедитесь в наличии строки "Good signature".