Как расшифровать зашифрованный файл PGP с помощью Ruby gpgme

Я не могу найти ни одного примера того, как это сделать. У меня есть файл XLS, зашифрованный PGP, и ключ PGP. Вот мой код, который возвращает пустую строку :

require 'rubygems'
require 'gpgme'

def passfunc(obj, uid_hint, passphrase_info, prev_was_bad, fd)
  io = IO.for_fd(fd, 'w')
  io.puts "PASSPHRASE"
  io.flush
end

encrypted_data = GPGME::Data.new(File.open("file.xls.pgp"))
key = GPGME::Data.new(File.open("key.txt"))

ctx = GPGME::Ctx.new :passphrase_callback => method(:passfunc)
ctx.import_keys key

decrypted = ctx.decrypt encrypted_data

puts decrypted.read

Я могу расшифровать этот файл в программе под названием GNU Privacy Assistant для Windows, используя тот же ключ. Любая помощь приветствуется.

7
задан Vincent 10 April 2012 в 15:58
поделиться