On Tue, Jan 08, 2013 at 10:11:04AM +0100, Adrian Schröter wrote:
Am Montag, 7. Januar 2013, 17:22:06 schrieb Stanislav Brabec:
I wrote a simple service, which can automatically check PGP signatures of files using gpg-offline .keyring file: https://build.opensuse.org/package/show?package=obs-service-gpg-offline&project=home%3Asbrabec
It could be an alternative to %prep checks during the build process using %gpg-offline macro.
This is a simple version and does not take any arguments. It checks online for updates, but it does not fail if the signature is not found in the public servers. Only failure of checks against embedded keyring will fail. It would need further discussion, what to return if:
- Key server did not respond. - The key is not found upstream. - The key was revoked.
Hm, what does a key on a gpg server tell us anyway for the trust of it? Everybody can upload it and this person does not have necessarly a connection to the upstream project.
Hi Adrian, atm we expect the .keyring will be manually validated in a Factory review phase by review team. Our assumption is that keyrings won't change too often and if so, then some big red button in webui for reviewers will be needed.
IMHO we should collect validated gpg keys, where we know they are from upstream and put them either into some generic collection (for large projects like kernel, KDE, apache ...)
Initially we wanted to have one package collecting all keyrings. This approach complicates the package submission. Of course, that in some cases, the keyring should be packaged in a separate package.
We should also support to put the gpg key beside the sources. In this way we see if the key changes on a version update.
Sorry for my incompetence, but I live under assumption, that BuildService is the tool tracks the file changes, so the best place where to have .keyring file is together with other sources.
Doesn't it also make sense to extend the verify_source service for this task instead of adding another one?
But to close with something positive, thanks a lot for spending some work here. IMHO the lacking validation of our sources is one of biggest problem trust wise :)
To me it seems that the biggest issue in current implementation is how we can ensure the .keyring validity if package can put and submit what he wants to. So what about to create some dedicated (open)SUSE GPG key and put all verified GPG ids into it's web of trust? Then all we need is to verify if package is signed by this key and if so, then it's a trusted keyring. Thanks for a feedback - hope we will be able to finish it soon Regards Michal Vyskocil