ueno/ruby-gpgme — Issue #4: problems with verify
Author: millsb
Created: 2012-02-08 02:24:50+00:00
State: open

Hi.

First, let me say thanks for your time and effort maintaining these Ruby bindings. Great work.

However, I'm having some trouble getting the correct output when verifying signatures. I always end up getting GPGME::Error::NoData. I've double checked the signature, and everything appears to be feeding into libgpgme okay.

I'm developing on OS X and deploying on Linux. I've been able to get a positive verification when running ruby-gpgme with the Mac GnuPG tools, but get this failure when running against the Homebrew gnupg package on OS X or the Ubuntu gnupg package.

Even ruby-gpgme seems to be be failing it's own tests, as well:

1) Error:
test_0005_can_also_sign_at_the_same_time(GPGME::Crypto::encrypt):
GPGME::Error::NoData: No data
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:392:in `verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:312:in `block in verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:67:in `new'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:311:in `verify'
/Users/bryan/www/forks/ruby-gpgme/test/crypto_test.rb:89:in `block (3 levels) in '
/Users/bryan/.rvm/gems/ruby-1.9.2-p290/gems/mocha-0.9.12/lib/mocha/integration/mini_test/version_201_to_202.rb:27:in `run'

2) Error:
test_0006_can_be_signed_by_more_than_one_person(GPGME::Crypto::encrypt):
GPGME::Error::NoData: No data
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:392:in `verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:312:in `block in verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:67:in `new'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:311:in `verify'
/Users/bryan/www/forks/ruby-gpgme/test/crypto_test.rb:102:in `block (3 levels) in '
/Users/bryan/.rvm/gems/ruby-1.9.2-p290/gems/mocha-0.9.12/lib/mocha/integration/mini_test/version_201_to_202.rb:27:in `run'

3) Error:
test_0002_selects_who_to_sign_for(GPGME::Crypto::sign):
GPGME::Error::NoData: No data
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:392:in `verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:312:in `block in verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:67:in `new'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:311:in `verify'
/Users/bryan/www/forks/ruby-gpgme/test/crypto_test.rb:232:in `block (3 levels) in '
/Users/bryan/.rvm/gems/ruby-1.9.2-p290/gems/mocha-0.9.12/lib/mocha/integration/mini_test/version_201_to_202.rb:27:in `run'

4) Error:
test_0001_signs_normal_strings(GPGME::Crypto::sign):
GPGME::Error::NoData: No data
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:392:in `verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:312:in `block in verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:67:in `new'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:311:in `verify'
/Users/bryan/www/forks/ruby-gpgme/test/crypto_test.rb:206:in `block (3 levels) in '
/Users/bryan/.rvm/gems/ruby-1.9.2-p290/gems/mocha-0.9.12/lib/mocha/integration/mini_test/version_201_to_202.rb:27:in `run'

5) Error:
test_0002__expired_key_is_true_when_the_key_has_expired(GPGME::Signature):
GPGME::Error::NoData: No data
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:392:in `verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:312:in `block in verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:67:in `new'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:311:in `verify'
/Users/bryan/www/forks/ruby-gpgme/test/signature_test.rb:28:in `block (3 levels) in '
/Users/bryan/www/forks/ruby-gpgme/test/test_helper.rb:61:in `with_key'
/Users/bryan/www/forks/ruby-gpgme/test/signature_test.rb:25:in `block (2 levels) in '
/Users/bryan/.rvm/gems/ruby-1.9.2-p290/gems/mocha-0.9.12/lib/mocha/integration/mini_test/version_201_to_202.rb:27:in `run'

6) Error:
test_0001__valid_is_true_when_the_signature_is_valid(GPGME::Signature):
GPGME::Error::NoData: No data
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:392:in `verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:312:in `block in verify'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/ctx.rb:67:in `new'
/Users/bryan/www/forks/ruby-gpgme/lib/gpgme/crypto.rb:311:in `verify'
/Users/bryan/www/forks/ruby-gpgme/test/signature_test.rb:10:in `block (2 levels) in '
/Users/bryan/.rvm/gems/ruby-1.9.2-p290/gems/mocha-0.9.12/lib/mocha/integration/mini_test/version_201_to_202.rb:27:in `run'

105 tests, 176 assertions, 0 failures, 6 errors, 0 skips
rake aborted!

I'm stumped. Any thoughts? Thanks.