ueno / ruby-gpgme

a ruby interface to GnuPG Made Easy (GPGME).
GNU Lesser General Public License v2.1
232 stars 99 forks source link

Unsupported protocol during import_keys #70

Open igalbk opened 9 years ago

igalbk commented 9 years ago

Here is the error that I get: C:/app/Ruby22-x64/lib/ruby/gems/2.2.0/gems/gpgme-2.0.10/lib/gpgme/ctx.rb:385:in `import_keys': Unsupported protocol (GPGME::Error) The code I used:

require 'rubygems' require 'gpgme' def passfunc(obj, uid_hint, passphrase_info, prev_was_bad, fd) io = IO.for_fd(fd, 'w') io.puts "hello" io.flush end encrypted_data = GPGME::Data.new(File.open("C:/app/pgp/src/test/encryptedText.txt")) key = GPGME::Data.new(File.open("C:/app/pgp/src/test/privateKey.skr")) ctx = GPGME::Ctx.new :passphrase_callback => method(:passfunc) ctx.import_keys key decrypted = ctx.decrypt encrypted_data decrypted.seek(0) puts decrypted.read

This code works fine on mac but as mention throwing an error on windows (win7x64 and also Win 10), GnuPg for windows is installed and the %PATH% is configured.

I tried to set this GPGME::Engine.set_info(GPGME::PROTOCOL_OpenPGP, nil, nil) But then the error is: C:/app/Ruby22-x64/lib/ruby/gems/2.2.0/gems/gpgme-2.0.10/lib/gpgme/engine.rb:60:in `set_info': Invalid crypto engine (GPGME::Error::InvalidEngine) What is the problem? Thanks!