def encrypt(content)
crypto = GPGME::Ctx.new(
pinentry_mode: GPGME::PINENTRY_MODE_LOOPBACK,
passphrase_callback: method(:passfunc)
)
crypto.encrypt(content, :symmetric => true )
end
def passfunc(hook, uid_hint, passphrase_info, prev_was_bad, fd)
system('stty -echo')
io = IO.for_fd(fd, 'w')
io.puts('abcdefg') # a random passphrase
io.flush
end
Я пытаюсь обойти запрос пароля при использовании Gpgme. Я прочитал do c, что GnuPG 2.1 имеет функцию обратной связи, которая, кажется, может быть отключена путем передачи обратного вызова парольной фразы. Тем не менее, я получаю ошибку сегмента в gpgme-2.0.20/lib/gpgme/ctx.rb:486
при запуске приведенного выше кода. Любое предложение приветствуется!
gpg --version
gpg (GnuPG) 2.2.4
libgcrypt 1.8.1