GPGME: Signature summary
    Matthias Fuchs 
    mat69 at gmx.net
       
    Thu Oct 15 17:32:20 CEST 2009
    
    
  
Hi,
I do a verification of a file and what baffles me is the summary of the 
signature. If I use a wrong file it correctly outputs GPGME_SIGSUM_RED, yet if 
the file is correct it outputs 0 instead of GPGME_SIGSUM_VALID (==1). I wonder 
if that is a bug somewhere in GPGME.
Just to be sure that it is not an error in my code I post it here (removed 
error handling/cleaning up to make it more readable):
    std::cout << "Version: " << gpgme_check_version(0) << std::endl;
    gpgme_ctx_t ctx = 0;
    gpgme_error_t err = gpgme_new(&ctx);
    err = gpgme_engine_check_version(GPGME_PROTOCOL_OpenPGP);
    if (gpgme_set_protocol(ctx, GPGME_PROTOCOL_OpenPGP)) {
        std::cerr << "ERROR: Setting protocol failed." << std::endl;
        return;
    }
    gpgme_data_t data;
    std::FILE *dataFile;
    dataFile = std::fopen("/home/kde-devel/test-meta/pgp/patch-2.6.31.gz", 
"r");
    err = gpgme_data_new_from_stream(&data, dataFile);
    gpgme_data_t sig;
    std::FILE *sigFile;
    sigFile = std::fopen("/home/kde-devel/test-meta/pgp/patch-2.6.31.gz.sign", 
"r");
    err = gpgme_data_new_from_stream(&sig, sigFile);
    err = gpgme_op_verify(ctx, sig, data, 0);
    const gpgme_verify_result_t result = gpgme_op_verify_result(ctx);
    gpgme_signature_t signature = result->signatures;
    while (signature) {
        std::cout << "Status: " << gpgme_err_code(signature->status) << " 
summary:  " << signature->summary << std::endl;
        signature = signature->next;
    }
It reports "Status: 0 summary: 0", while it should imo be "Status: 0 summary: 
1"
Cheers,
matthias
    
    
More information about the Gnupg-devel
mailing list