Ok, as I suspected there's a long standing (at least from 2006) bug in RPM that doesn't allow to validate RPM signature if a subkey has been used for signing.
I ended up generating a new key pair (just for this purpose) and resigning all binaries with it; then resyncing everything with s3. I also have updated KEYS file with the new one. I have quickly ran a test on centos7 by installing bigtop-utils on an empty container and everything worked, including automatic import of the keys and the validation/installation of the package. Looks like we are in the clear. Please shout if you see otherwise. Thanks everyone for your patience! Cos On Wed, Sep 02, 2015 at 02:27PM, Konstantin Boudnik wrote: > I think there's a difference between how you've signed the pkgs and how I did > it. I signed with sub-key (as I mentioned before) and yum doesn't recognize > it. Seemingly, it expects that the master key was used for signing. > > Also, in your repo file below > gpgkey=http://archive.apache.org/dist/bigtop/KEYS > points to the old keys. The location should be > gpgkey=https://dist.apache.org/repos/dist/release/bigtop/KEYS > > I am pretty sure I have exported my key with --armor option back in the day. > But I will repeat it and see if I can fix the situation, which I also observer > following your steps. If that's the only issue I will update the KEYS and we > should be completed by tonight ;) > > Thanks for your help! > Cos > > On Wed, Sep 02, 2015 at 03:11PM, Evans Ye wrote: > > This is the same issue we're trying to solve in the mailing thread > > "convenience artifacts are signed and uploaded". I've built a sample repo > > which works properly by using my own key "Evans Ye" to sign and to export > > GPG KEY. So I believe the following steps should be the right way to sign > > packages and export the gpgkey: > > > > $ find -name *.rpm | xargs rpm --define="%_gpg_name Evans Ye" --addsign > > > > $ gpg --armor --output KEYS --export 'Evans Ye' > > I've verified that the hash is matched now in our official repo. > > So I guess the main issue left is using non-armored gpg key, if we manually > > import the gpgkey in the repo file: > > > > [bigtop] > > name=Bigtop > > enabled=1 > > gpgcheck=1 > > type=NONE > > baseurl=http://bigtop.s3.amazonaws.com/releases/1.0.0/centos/6/x86_64 > > gpgkey=http://archive.apache.org/dist/bigtop/KEYS > > > > [root@48723d98dc1b ~]# rpm --import > > https://dist.apache.org/repos/dist/release/bigtop/KEYS > > error: https://dist.apache.org/repos/dist/release/bigtop/KEYS: key 2 not an > > armored public key. > > > > It gets error. > > However, my own exported armored key can be imported without an error. > > That's the different. > > > > Can you confirm that the gpgkey(http://archive.apache.org/dist/bigtop/KEYS) > > is exported with --armor flag? > > > > 2015-09-02 13:25 GMT+08:00 Konstantin Boudnik <[email protected]>: > > > > > Looks like I have figured out what's wrong with my key. And it is > > > _nothing_. > > > However, it seems that I can not sign RPMs with subkey as YUM can not find > > > the > > > key while importing. Can anyone confirm or disprove my train of thoughts? > > > > > > Thanks! > > > Cos > > > > > > On Wed, Sep 02, 2015 at 07:42AM, Konstantin Boudnik wrote: > > > > I've resynced the repodata once again and I don't see this issue on the > > > > centos7 anymore. However, yum still complains about the key being no > > > > available, but there's a workaround by setting gpgcheck=0 And I am going > > > to > > > > figure out what to do with it and why my key isn't working as expected. > > > > > > > > I also have discovered that the gpgkey file URL is using the old > > > incubation > > > > KEYS. Fixed that as well. > > > > > > > > Please let me know if you still see the issue with checksums mismatch. > > > > Thanks, > > > > Cos > > > > > > > > On Tue, Sep 01, 2015 at 12:44PM, Konstantin Boudnik wrote: > > > > > I think this is the consequences of me fighting with the package > > > signing... ;( > > > > > A couple of days ago I have re-ran 'createrepo' for all the RPM-based > > > distros > > > > > and uploaded new repo files to the release. Not sure why the checksums > > > differ > > > > > now... > > > > > > > > > > I will take a look into this again tonight. > > > > > Cos > > > > > > > > > > On Tue, Sep 01, 2015 at 09:39PM, Olaf Flebbe wrote: > > > > > > I can second it: > > > > > > > > > > > > I added to /etc/yum.repo.d/meins.repo > > > > > > > > > > > > [meins] > > > > > > name=Bigtop epo > > > > > > baseurl= > > > http://bigtop.s3.amazonaws.com/releases/1.0.0/centos/7/x86_64/ > > > > > > enabled=1 > > > > > > gpgcheck=0 > > > > > > priority=1 > > > > > > > > > > > > and got > > > > > > ............ > > > > > > Downloading packages: > > > > > > hbase-0.98.12-1.el7.centos.noa FAILED > > > =============================================-] 849 kB/s | 62 > > > MB 00:00:00 ETA > > > > > > > > > http://bigtop.s3.amazonaws.com/releases/1.0.0/centos/7/x86_64/hbase/noarch/hbase-0.98.12-1.el7.centos.noarch.rpm: > > > [Errno -1] Package does not match intended download. Suggestion: run yum > > > --enablerepo=meins clean metadata > > > > > > Trying other mirror. > > > > > > ............. > > > > > > > > > > > > Olaf > > > > > > > > > > > > > > > > > > > > > > > > >
