6

いくつかの古いシェル/UNIX スクリプトを Ruby に変換しようとしています。

Unix の gpg ツールを介して達成されるファイルの次の暗号化があります。受信者キー、暗号化するファイル、および出力ファイルを pgp 暗号化に渡すことができます。

gpg --recipient "$my_recipient_key" \
    --encrypt "$my_file" \
    --output "$my_outfile" \
    --always-trust \
    --compress-algo zip

上記の単純な暗号化を実行するのに相当する Ruby は何ですか?

掘り下げた後、次のように表示されます。

  1. OpenPGPは人気がありますが、RubyGems サイトにはドキュメントがなく、他の場所には適切な例が散在しています。
  2. gpgmeは人気があり、有望なようです。しかし、正直なところ、私は Ruby を初めて使用するので、ドキュメント (リンクを参照) をクリックすると、どこから始めればよいか少し混乱します (つまり、良い例があればいいでしょう)。
  3. ユーザーが設計した他の小さな gem やライブラリも見ますが、これは公式の業務用であるため、rubyGems データベースから認定された gem の使用に制限されています。

ありがとう!

4

1 に答える 1

9

最近 gpgme を使っています。ファイルを暗号化するコードは次のようになります

GPGME::Key.import(File.open(path_to_key)) #only needed if the key has not been imported previously
crypto = GPGME::Crypto.new :always_trust => true
File.open(path_to_encrypt) do |in_file|
  File.open(output_path, 'wb') do |out_file|
    crypto.encrypt in_file, :output => out_file, :recipients => "foo@example.com"
  end
end

rubygems にあるものについて「認定」されたものは何もないことを知りたいかもしれません - 誰でもそこに gem を投稿できます (投稿には 3 分かかります)。

于 2013-06-17T07:29:24.780 に答える