2009-03-25 34 views
6

私は、特定のイベントで電子メールをトリガするレールアプリケーションを持っています。これらの電子メールは別の会社に送信され、返信時に追加のデータを電子メールに追加します。これはすべて理解され、動作しています。私は応答を解析して、データを抽出し、正常に動作します。Ruby on Railsで暗号化メールを送受信するにはどうすればよいですか?

私は電子メールの暗号化を依頼されました。

これを行うための最善の方法についての経験やアイデアはありますか?

サードパーティが使用する電子メールクライアントを保証できないため、多くの電子メールクライアントで一般的に使用できるソリューションが必要です。電子メールを送信するときには自分のアプリケーションで暗号化し、返信するときはクライアントアプリケーション(Outlook、Thunderbird、Entourageなど)で暗号化を行う必要があります。私は暗号化された電子メールを受信し、解読し、必要な新しい情報を抽出するために解析する必要があります。

誰でも私がこれを達成するのに役立つプラグイン/ドキュメントで私を指摘できますか?

答えて

3

相手がアプリケーションを使用しない場合は、S/MIMEまたはPGPを使用する必要があります。

ほとんどのデスクトップ電子メールクライアントは、そのままS/MIMEをサポートしています.PGPは通常プラグインとして利用できます(Thunderbirdの場合はEnigmail、Appleメールの場合はGPGMailなど)。

また、S/MIMEには、必要に応じて自分で作成したり、認証局(VerisignThawteなど)から購入できる証明書が必要です。

Ruby用のS/MIMEとPGPライブラリがあると確信していますが、クイック検索では「真の1つのライブラリ」がわかりませんでした。ただし、OpenSSL(S/MIMEの場合)またはGPGにはいつも重労働をさせることができます。

+1

http://github.com/bendiken/openpgp –

1

私はGüderの答えは優れていますが、GPGがインストールされていて、関連するキーが利用可能であることをユーザーが既に必要としていることを覚えておいてください。この厳しいセットアッププロセスは、電子メールの暗号化をさらに広げる上での障害の約95%です。

このプロジェクトを依頼した人は、暗号化された電子メールを送信するコードのスイッチを反転するほど簡単ではないことを理解していることは確かですか?

1つのオプションは、プログラムのインストールプロセスにGPGに依存する(および含まれる)キー管理ルーチンを組み込むことです。次に、ユーザーは非常に難しいパスフレーズを選択することができます(チェックを実行して英数字などが最低になるようにしてください)、公開鍵を生成して一般的な鍵サーバーにアップロードすることができます。

生成された鍵は、プログラムが生成する電子メールに使用できます。最も重要なのは、鍵が各ユーザに固有のものであることです。その後、ユーザーのOS上のデフォルトの電子メールクライアントに対して通常の外部呼び出しを行い、電子メールを開くことができます。

電子メールが暗号化されて開封されるようにするには、環境をチェックしてデフォルトの電子メールクライアントを取得し、プログラムから生成された電子メールを暗号化するために必要なフラグを含む電子メールを送信します。つまり、ThunderbirdのEnigmailの場合は、AppleのMailの場合とは異なります。

でも、OpenSSLについては忘れないでくださいね。

関連する問題