Ошибка ввода-вывода GPGME при попытке расшифровать файл с помощью ключа gpg - PullRequest
0 голосов
/ 07 января 2019
class PassphraseCallback
  def initialize(passphrase)
    @passphrase = passphrase
  end

  def call(*args)
    fd = args.last
    io = IO.for_fd(fd, 'w')
    io.puts(@passphrase)
    io.flush
  end
end

    crypto = GPGME::Crypto.new
    options = {:recipients => 'dev@example.com.my', :passphrase_callback => PassphraseCallback.new('my_passphrase_string'), output: decrypted_file_path}

   cipthertext = GPGME::Data.new(File.open(file))

   crypto.decrypt cipthertext, options

Я использую gem gpgme, чтобы попытаться расшифровать файл. Я следовал за турбулентностью, найденной в этом https://github.com/ueno/ruby-gpgme, но продолжаю получать ошибку, когда он пытается выполнить этот метод PassphraseCallback.new('my_passphrase_key')

Я получаю ошибку TypeError: no implicit conversion from nil to integer, потому что там написано fd is nil, но не уверен, какое значение мне нужно передать при инициализации и при вызове моего метода.

Любая помощь будет оценена. Спасибо

...