Verify PGP key packet sizes and number of MPIs match expectations
- A key packet must be larger than the "intro" structure to have
room for the trailing MPIs, ie in order to be valid. This also
ensures we can safely access the pubkey algorithm data.
- Verify the number of trailing MPI's and their total size matches
the expectations and packet size exactly before bothering with
digest calculations.
- Also use sizeof(keyid) instead of "magic eight" and memcpy()
instead of memmove(), the argument keyid and memory returned
from rpmDigestFinal() cannot overlap.