- if (gpgme_get_protocol(ctx) == GPGME_PROTOCOL_OpenPGP) {
- micalg = g_strdup_printf("PGP-%s", gpgme_hash_algo_name(
- result->signatures->hash_algo));
- } else {
- micalg = g_strdup(gpgme_hash_algo_name(
- result->signatures->hash_algo));
- }
+ gpgme_new_signature_t sig = result->signatures;
+ if (gpgme_get_protocol(ctx) == GPGME_PROTOCOL_OpenPGP) {
+ micalg = g_strdup_printf("pgp-%s", g_ascii_strdown(gpgme_hash_algo_name(
+ result->signatures->hash_algo),-1));
+ } else {
+ micalg = g_strdup(gpgme_hash_algo_name(
+ result->signatures->hash_algo));
+ }
+ while (sig) {
+ debug_print("valid signature: %s\n", sig->fpr);
+ sig = sig->next;
+ }
+ } else if (result && result->invalid_signers) {
+ gpgme_invalid_key_t invalid = result->invalid_signers;
+ while (invalid) {
+ g_warning("invalid signer: %s (%s)", invalid->fpr,
+ gpgme_strerror(invalid->reason));
+ privacy_set_error(_("Data signing failed due to invalid signer: %s"),
+ gpgme_strerror(invalid->reason));
+ invalid = invalid->next;
+ }
+ gpgme_release(ctx);
+ return FALSE;