Linux

GPG 正確簽名的儲存庫未按預期工作

  • May 28, 2017

我們將一些我們自己的軟體包作為 debs 託管在我們自己的儲存庫中。出於原型設計的目的,我們一直在“未經身份驗證”執行。現在我們正在嘗試更正確地做事情並完成整個 GPG 事情。我試過的,只是為了測試執行如下:

1)用gpg-gen

~$ gpg --list-keys
/home/me/.gnupg/pubring.gpg
--------------------------------
pub   4096R/BBBBB39F 2017-03-09
uid                  Someone Somebody <someone@somewhere.com>
sub   4096R/129E9336 2017-03-09

(順便說一句,那裡有 SUB 的東西嗎?)

  1. aptly publish…這提示我輸入我所說的密鑰的密碼,所以它必須在那個時候用密鑰做一些事情。

3)使用導出密鑰gpg —export —armor > somefile.pubkey

  1. 將一些 file.pubkey 複製到測試機器上

  2. 執行sudo apt-key add somefile.pubkey

sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2017-03-09 [SC]
    E51B E216 4658 FB8B 6E42  8A09 F9BC EF4C BBBB B39F
uid           [ unknown] Someone Somebody <someone@somewhere.com>
sub   rsa4096 2017-03-09 [E]
…
…
…

所以,它似乎已經進入了那裡。sub的東西現在顯示不一樣了?

6)最後,sudo apt-get update

~$ sudo apt-get update
Hit:1 http://ftp.us.debian.org/debian stretch InRelease
Hit:2 http://ftp.us.debian.org/debian stretch-updates InRelease     
Hit:3 http://security.debian.org stretch/updates InRelease          
Get:4 http://our.aptly.repo stretch InRelease [2317 B]
Ign:4 http://our.aptly.repo stretch InRelease            
Fetched 2317 B in 9s (256 B/s)                                                 
Reading package lists... Done
W: GPG error: http://our.aptly.repo stretch InRelease: The following signatures were invalid: E51BE2164658FB8B6E428A09F9BCEF4CBBBBB39F
W: The repository 'http://our.aptly.repo stretch InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

我不明白這裡發生了什麼。冒犯似乎是沒有簽名的東西?我錯過了哪一步?

最新的 Debian 延伸安裝不再接受 SHA1 簽名。但是,在 v0.9.7 之前 Aptly 使用 SHA1(相關 PR,請注意它也被反向移植到 v0.9.6.1)。我懷疑您使用的 Aptly 版本比那個版本舊。如果是這樣,請考慮將他們的 repo添加到您的 sources.list。

引用自:https://serverfault.com/questions/837532