Search code examples
securityshaaptpgp

Tell from PGP signature which algorithms served in its creation


I am dealing with a Debian repository that apparently contains an InRelease file that may have been signed in a way that is no longer appropriate. The symptom is that clients receive the warning The repository '... InRelease is not signed when they run apt-get update.

InRelease contains sections starting with -----BEGIN PGP SIGNED MESSAGE----- and -----BEGIN PGP SIGNATURE-----, so it is signed, and I've already adjusted my PGP personal-digest-preferences and personal-cipher-preferences settings to exclude SHA-1 from use. But something is still lacking.

My question is this: When I inspect the actual signature (the ASCII armor between ----BEGIN PGP SIGNATURE----- and -----END PGP SIGNATURE-----) is there a way to tell which algorithms served in its creation, and specifically whether SHA-1 served in its creation? I guess the answer is no, but I'd like to hear an expert's opinion.

UPDATE The first line after -----BEGIN PGP SIGNATURE----- reads Hash: SHA256 so that looks good (since I've chosen SHA256 first in the preferences settings), but the problem still persists.

UPDATE I've now excluded SHA-1 also from indices by calling apt-ftparchive packages and apt-ftparchive release (for creating files Packages and Releases respectively) with additional parameters --no-sha1, but the problem still persists.


Solution

  • So now it looks as if the signature was already valid (after removing SHA-1 digests as described), but the signing key was not yet known.

    So adding the signing key to clients with add-key add key.pub made the problem disappear.