#include "rpmio/digest.h"
#include "lib/manifest.h"
#include "lib/misc.h"
+#include "lib/signature.h"
#include "debug.h"
if (rpmtdType(td) != RPM_BIN_TYPE) {
val = xstrdup(_("(not a blob)"));
} else {
- pgpDig dig = pgpNewDig();
- pgpDigParams sigp = &dig->signature;
+ pgpDig dig = NULL;
+ pgpDigParams sigp = parsePGPSig(td, NULL, NULL, &dig);
- if (pgpPrtPkts(td->data, td->count, dig, 0) || sigp->version == 0) {
+ if (sigp == NULL) {
val = xstrdup(_("(not an OpenPGP signature)"));
} else {
char dbuf[BUFSIZ];
dbuf, keyid);
free(keyid);
+ pgpFreeDig(dig);
}
- pgpFreeDig(dig);
}
return val;
if ((pgpPrtPkts(sigtd->data, sigtd->count, dig, debug) == 0)) {
*digp = dig;
} else {
- if (fn) {
+ if (type && fn) {
rpmlog(RPMLOG_ERR,
_("skipping %s %s with unverifiable signature\n"), type, fn);
- } else {
+ } else if (type) {
rpmlog(RPMLOG_ERR,
_("skipping %s with unverifiable signature\n"), type);
}