2011-12-19 3 views
0

Javamail APIに基づいてAndroidのメールクライアントアプリを作成しています。私はそこからGMailアカウントにログインできますが、ログインプロセスが実際に安全であることを確認したいと思います。AndroidのjavamailアプリからGmailにパスワードを送信

だから私はこのようなコードを使用します。

Session session = Session.getDefaultInstance(props, null); 
Store store = session.getStore("imaps"); 
store.connect("imap.gmail.com", "usernameEditText.getText().toString()", 
       "passwordEditText.getText().toString()"); 

私は(彼らはテキストボックスから直接渡され、Googleのサーバーに保存されている)任意の時点で、パスワードそのものを格納しておりませんので、私はかなり確信しています自分のDBにパスワードを保存しているかのようにハッシングや暗号化を心配する必要はありませんが、これはまったく安全です。あるいは、アプリケーションによって作成されたパケットが潜在的に傍受される可能性があります。 Googleのサーバーに送信されますか?

私が正しく理解している場合、「imaps」ストアはこれがSSL接続であることを保証し、トラフィックを暗号化する必要がありますが、私は物事を誤解していないことを確認したいと思います。

ありがとうございます!

答えて

0

心配はいりません。 SSL接続によるIMAPのすべてのデータは暗号化されています。ただし、電子メールを送信する場合、Transport.sendメソッドは、デフォルトのトランスポートプロトコル「 」を使用して、「smtp」のままです。 SSL経由でSMTP接続を有効にするには、 "mail.smtp.ssl.enable"プロパティを "true"に設定します。これは通常、最も簡単な アプローチです。 SSLを介してSMTPにSession.getTransport()メソッドによって返されたデフォルトのトランスポートプロトコル を変更する代わりに

は、「SMTPS」に プロパティ「mail.transport.protocol」に設定しました。 ( Session.getTransport(アドレス)メソッドによって返され、Transport.send 方法で使用されるような)のインターネットアドレスに使用 トランスポートを変更するには、あなたがNotes for use of SSL with JavaMailでより多くの情報を見つけることができます session.setProtocolForAddress("rfc822", "smtps");

を使用しています。

関連する問題