Ich kann kein einziges Beispiel finden, wie dies zu tun ist. Ich habe eine PGP-verschlüsselte XLS-Datei und einen PGP-Schlüssel. Hier ist mein Code, der eine leere Zeichenfolge zurückgibt:Wie entschlüsselt PGP verschlüsselte Datei mit Ruby gpgme
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
Ich kann diese Datei in einem Programm entschlüsseln namens GNU Privacy Assistant unter Windows mit dem gleichen Schlüssel. Jede Hilfe wird geschätzt.
Vielen Dank für dieses Problem zu lösen scheint. Manchmal habe ich das Gefühl, dass das 'E' von GPGME für 'Enigmatic' steht. – aidan
@Vincent was sind obj, uid_hint, passphrase_info, prev_was_bad, fd Parameter. In meinem Fall Client hat öffentlichen Schlüssel-privaten Schlüssel und nur verschlüsselte Datei – VKatz
@Vincent geteilt, Bitte geben Sie Ihre Hilfe, die ich irgendwie stuck! zwischen. – VKatz