web-dev-qa-db-ja.com

プライベートリポジトリ:次の署名は無効でした

私のバイオニック「クライアント」で私は得る:

GPG error: http://repo.localpod/Dml/ldom-debs/ubuntu bionic InRelease: The following signatures were invalid: ADE541A20ACF8997C01BDCF7090678A30132048A

「無効」と表示されていることに注意してください。

これらは、レポで収集された私自身の.debパッケージです。 (これは信頼できる&ゼニアルにうまく機能します)

私は次のようなものでレポに署名しました:(reprepro経由で呼び出されます:conf/distributions)

gpg --batch --yes --keyring $KeyP --secret-keyring $KeyS -a --no-permission-warning   --detach-sign --default-key 'ldom install service' --output $3 $1
$1 = .../Release
$2 = .../InRelease

oK、だから私は試しました:

 wget  http://repo.localpod/Dml/ldom-debs/ubuntu/dists/bionic/InRelease
 and: 
 # gpgv --keyring /etc/apt/trusted.gpg "InRelease"
 gpgv: Signature made Thu 24 May 2018 12:20:29 PM CEST
 gpgv:                using DSA key 090678A30132048A
 gpgv: Good signature from "ldom install service <[email protected]>"

これは、多かれ少なかれ、apt-getが署名をチェックする方法ではありませんか?またはキーが古すぎますか?間違ったタイプ?

完全なエラー:

 apt-key list
 pub   rsa2048 2014-06-24 [SC]
      754A 1A7A E731 F165 D5E6  D4BD 0E08 A149 DE57 BFBE
uid           [ unknown] SaltStack Packaging Team <[email protected]>
sub   rsa2048 2014-06-24 [E]

pub   dsa1024 2013-06-10 [SCA]
      ADE5 41A2 0ACF 8997 C01B  DCF7 0906 78A3 0132 048A
uid           [ unknown] LDOM install service <[email protected]>
sub   elg1024 2013-06-10 [E]

root@ubu18:~# apt-get update
 Get:1 http://repo.localpod/Dml/ldom-debs/ubuntu bionic InRelease [1,154 B]
 Err:1 http://repo.localpod/Dml/ldom-debs/ubuntu bionic InRelease
   The following signatures were invalid:  ADE541A20ACF8997C01BDCF7090678A30132048A
 Reading package lists... Done
 W: GPG error: http://repo.localpod/Dml/ldom-debs/ubuntu bionic InRelease: The  following signatures were invalid: ADE541A20ACF8997C01BDCF7090678A30132048A
 E: The repository 'http://repo.localpod/Dml/ldom-debs/ubuntu bionic InRelease'  is not signed.
 N: Updating from such a repository can't be done securely, and is therefore disabled by default.
 N: See apt-secure(8) manpage for repository creation and user configuration details.

私が行方不明になっているという手がかりを歓迎します...ありがとう、

/ holger

回避策:

私はガイドに従って終了しました( https://www.digitalocean.com/community/tutorials/how-to-use-reprepro-for-a-secure-package-repository-on-ubuntu-14-04 )---->多かれ少なかれ。 --->まだ少し「進行中の作業」ですが、いくつかのヒントがあります:

(新鮮な)Dockerイメージを使用:

docker run -it -v /your/packages:/debs ubuntu:18.04
apt update
apt install -y vim inetutils-ping curl wget netcat telnet aptitude man manpages bash-completion rng-tools reprepro iproute2

rebuild your packages:

cd  /debs/src
ls -d */DEBIAN  | xargs -n1 dirname | xargs -n1 dpkg-deb -vD --build

重要なもののための時間。既存のキーを使用するには:

    gpg --import /debs/.../secring.gpg

新しいキーの場合:

gpg --full-generate-key
#rsa 4
#bits  4096
#your_key_name
#passphrase

#
gpg --edit-key your_key_name
#addkey
#(4) RSA (sign only)
#4096
#0
#yes
#yes
#save

gpg --list-secret
gpg --list-key


gpg --export .....your..key.....number............... > keyfile
apt-key add keyfile

oK、repreproのセットアップの時間:

mkdir /debs/u18repo
cd /debs/u18repo
cat <<END >conf/options
ask-passphrase
END

cat <<END >conf/distributions
Codename: bionic
Components: main
Architectures: AMD64
SignWith: .....your..key.....number...............
END
reprepro -b /debs/u18repo includedeb bionic /debs/src/*.deb

gpg --export .....your..key.....number............... > keyfile

テストする:

apt-key add keyfile
echo "deb file:////debs/u18repo/ bionic main" >> "/etc/apt/sources.list"
apt update

クライアントで/ debs/u18repo(httpd)を共有し、キーをインポートする場合:apt-key add http:/.../ keyfile apt update should work ...

3
Holger Morgen

同じ問題がありました。 InReleaseファイルにはPGP署名されたメッセージがあり、以下を含む必要があります。

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

つまり、署名にはSHA256が使用されます。 SHA1は弱いアルゴリズムであるため、使用しないでください。したがって、SHA1が存在する場合、gnupgの設定を更新してsha256を使用する必要があります

私の場合:

echo "personal-digest-preferences SHA256 SHA384 SHA512 SHA224 RIPEMD160" >> ~/.gnupg/gpg.conf

その後、通常どおりgpgを使用してInReleaseファイルを再署名します。

4
Rasul Osmanov

私はまったく同じ問題に直面していました。

使用するすべてのキーが、ASCII armored形式ではなく、バイナリ形式であることを確認してください。いずれかのキーがASCII装甲形式の場合、-を使用してそれらをバイナリに変換します

gpg --dearmor

this -による

... ASCII装甲ファイルを使用しない理由は、SecureAptで直接使用できないためです。

また、〜/ .gnupg/gpg.confファイルで次の行または同様のものを確認してください-

cert-digest-algo SHA256
digest-algo SHA256
0