これはとても単純なはずのように感じますが、私には運がありません。
シナリオは次のとおりです。公開*.ascキーファイルがあります。このファイル(個人のキーリングではない)を使用してサーバー上のデータを暗号化し、秘密鍵を使用してローカルでデータを復号化できるようにします。
コマンドラインからは、を使用してこれを実現できgpg
ますが、CLIの単なるラッパーではないRubyライブラリ(つまり、おそらくCライブラリへのバインディングを提供するライブラリ)を使用したいと思います。私はGPGMEとOpenPGPの宝石を見てきましたが、それらの使用方法を理解できませんでした。ドキュメント(特にOpenPGPの場合)は非常にまばらです。
たとえば、これは私がGPGMEを使用して試したものですが、運がありません。
key = GPGME::Data.new(File.open(path_to_file))
data = GPGME::Data.new("I want to encrypt this string.")
# Raises GPGME::Error::InvalidValue
GPGME::Ctx.new do |ctx|
e = ctx.encrypt(key, data)
end
誰かがこれをすでに経験しましたか?確かにこれはそれほど複雑ではありませんか?