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

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


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


   # '''apt-get update'''
   <span style="color:blue">#</span> '''apt-get update'''
   # '''apt-get install''' -y gnupg alt-gpgkeys
   <span style="color:blue">#</span> '''apt-get install''' -y gnupg alt-gpgkeys


Просмотр ключа <code>kernelbot@altlinux.org</code>:
== Проверка целостности исходного кода ==


<pre>$ gpg --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org
На каждом git тэге из которого собран пакет имеется GPG подпись того кто послал его на сборку. Так как более новые git объекты ссылаются на предыдущие достаточно проверить подпись на последнем (заглавном) из них.
-----BEGIN PGP PUBLIC KEY BLOCK-----


mQINBGIeFoIBEADmQd7S8XOmycX09w2KQGQhv3YLPUxvHbt6EKxnSHWwMnJc/m4D
* Просмотр заглавного (указывающего на HEAD) тэга — подпись на котором мы будем проверять. Находясь в 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>, под своим пользователем запустите:
  <span style="color:blue">linux$</span> '''git tag''' --points-at HEAD
  <span style="color:gray">kernel-image-std-def-5.10.154-alt1</span>


  $ '''gpg''' --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org | '''gpg''' --import
* Проверка, что заглавный тэг подписан любым из участников ''ALT Linux Team'' (ключом из пакета {{pkg|alt-gpgkeys}}) без импорта ключей в свой keyring:


= Проверка целостности исходного кода =
  <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 теге из которого собран пакет имеется gpg подпись того кто послал его на сборку. Так как более новые git объекты ссылаются на предыдущие достаточно проверить подпись на последнем (заглавном) из них.
 
* Просмотр заглавного (указывающего на HEAD) тэга. Находясь в git репозитории пакета:
 
  linux$ '''git tag''' --points-at HEAD
  kernel-image-std-def-5.10.154-alt1
 
* Проверка, что заглавный тэг подписан разработчиком ''Kernel Bot''. Импортируйте его публичный ключ себе, как описано выше, и затем:
 
  linux$ '''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'''".

Текущая версия от 18: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".