Vin*_*ent 7 ruby encryption gnupg pgp gpgme
我找不到一个如何做到这一点的例子.我有一个PGP加密的XLS文件和一个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
Run Code Online (Sandbox Code Playgroud)
我可以使用相同的密钥在Windows上的一个名为GNU Privacy Assistant的程序中解密此文件.任何帮助表示赞赏.
Ruby gpgme的开发者Daiki Ueno在GitHub上与我联系:
decrypted.seek(0)线后添加decrypted = ctx.decrypt encrypted_data似乎解决了问题
| 归档时间: |
|
| 查看次数: |
2973 次 |
| 最近记录: |