apt-get
は、署名が無効であり、InRelease
ファイルが署名されていないことについて不平を言っています(背景については Centosを使用した.debパッケージへの署名 を参照)。サーバーでは、gpg
を使用してInRelease
が実際に署名されていることを確認しました。
Debian 9、APT、および「GPGエラー:... InRelease:次の署名は無効でした:」 に従って、次のことを行う必要があります。
$ HOME/.gnupg/gpg.confのpersonal-digest-preferencesおよびpersonal-digest-preferencesを調整して、GPA設定からSHA-1を削除します。これにより、新しいキーで問題が発生するのを防ぎます。
Reprepro設定を確認すると、Releaseファイル(およびInReleaseクリアサインの署名)と個々のPackagesファイルの両方にSHA1が表示されているため、これが成功することを願っています。
~/.gnupg/gpg.conf
は、default-preference-list
で説明されているハッシュアルゴリズムを使用することを示しているようです。次に、使用可能な場合は、最初に使用するアルゴリズムをリストします。
[michael@bigbox ~]$ cat ~/.gnupg/gpg.conf
# Prioritize stronger algorithms for new keys.
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 BZIP2 ZLIB Zip Uncompressed
# Use a stronger digest than the default SHA1 for certifications.
cert-digest-algo SHA512
man gpg
の状態:
--personal-digest-preferences stringパーソナルダイジェストプリファレンスのリストをstringに設定します。使用可能なアルゴリズムのリストを取得するにはgpg --versionを使用し、プリファレンスをまったく設定しない場合はnoneを使用します。 GPGはすべての受信者が使用できるアルゴリズムのみを選択するため、これにより、ユーザーは受信者のキー設定で選択されたアルゴリズムを安全にオーバーライドできます。このリストで最も高いランクのダイジェストアルゴリズムは、暗号化なしで署名するときにも使用されます(例:--clear-signまたは--sign)。
そして、実際にはgpg --version
にはSHA1が含まれていることが示されています。
michael@bigbox ~]$ gpg --version
gpg (GnuPG) 2.0.22
libgcrypt 1.5.3
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, ?, ?, ELG, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, Zip, ZLIB, BZIP2
キーは1つだけです。
[michael@bigbox ~]$ gpg --list-keys
/home/michael/.gnupg/pubring.gpg
--------------------------------
pub 2048R/542342AE 2018-02-08
uid Michael Jones <[email protected]>
sub 2048R/4D73CC3A 2018-02-08
そして、それを試してみてください...
[michael@bigbox ~]$ gpg --edit-key 542342AE
gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
pub 2048R/542342AE created: 2018-02-08 expires: never usage: SC
trust: ultimate validity: ultimate
sub 2048R/4D73CC3A created: 2018-02-08 expires: never usage: E
[ultimate] (1). Michael Jones <[email protected]>
gpg> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 Zip Uncompressed
Set preference list to:
Cipher: AES256, AES192, AES, CAST5, 3DES
Digest: SHA512, SHA384, SHA256, SHA224, SHA1
Compression: ZLIB, BZIP2, Zip, Uncompressed
Features: MDC, Keyserver no-modify
Really update the preferences? (y/N)
SHA1
はまだありますか?
上記の参照された投稿 Debian 9、APT、および「GPGエラー:... InRelease:次の署名は無効でした:」 は、personal-digest-preferences
内の$HOME/.gnupg/gpg.conf
を2回調整する必要があることを懸念しているため、心配です潜在的に変更が必要な他の何かがあること。
それは重要ではないと思いますが、私はCentos7を実行しています。
GpgにSHA1が含まれないようにするにはどうすればよいですか?
DEBパッケージとリポジトリに関しては、明示的に署名を作成することについて話している。これは、既知の受信者キーのメッセージを暗号化して署名することとは異なります。 その場合では、gpgは受信者のキー設定を独自のローカル設定と組み合わせて使用して、適切なアルゴリズムの選択を行います
残念ながら、現時点ではスタンドアロン署名に利用できるオプションはあまりありません。 GPG-2でも、暗号アルゴを禁止するオプションはありますが、ダイジェスト(署名)アルゴを禁止するオプションはありません。
したがって、実行できる唯一のことは、設定で固定ダイジェスト(署名)アルゴを明示的に定義することです。 thatが使用されるので、debianツールがローカルのGPGインストールを呼び出して署名を作成する場合。明らかに、これには署名アルゴリズムの自動選択を妨げる欠点があります。つまり、そのオプションを設定すると、SHA1のみが可能な受信者は署名を検証できなくなります。
とにかく、以下を~/.gnupg/gpg.conf
に設定します
digest-algo SHA256
おそらく、そこにも個人の設定リストを配置する必要があります。これは、新しいキーを作成するときのデフォルトに影響します(ただし、このような問題はすぐには解決されません。問題もありません)。
personal-digest-preferences SHA512,SHA384,SHA256,SHA224
default-preference-list SHA512,SHA384,SHA256,SHA224,AES256,AES192,AES,CAST5,3DES,BZIP2,Zip,ZLIB,Uncompressed
SHA1と3DESに関しては、これらはPGPプロトコルの最も一般的な分母であり、ソフトウェアに組み込まれています。これらは、プロトコルの他の(弱い)実装との相互運用性を確保するために、設定リストの最後に自動的に追加されます。
SHA1は必須のハッシュアルゴリズムであるため、リストに明示的に指定されていない場合、暗黙的に最後に配置されます。
さらに、SHA1は引き続きonlyアルゴリズムであり、V4フィンガープリントの生成に使用/許可されています( を参照)セクション12.2 )
さて、次に進む時間かもしれませんが、標準がアップグレードされない限り、私たち(ユーザー)ができることは多くありません。 。
GpgにSHA1が含まれないようにするには、--weak-digest SHA1
を設定して弱いダイジェストパラメータを使用するか、gpg.confにweak-digest SHA1
の行を含めます。