Отправка пароля на Gmail из моего приложения javamail для Android - PullRequest
0 голосов
/ 19 декабря 2011

Я пишу почтовое клиентское приложение для Android, основанное на Javamail API. Я могу войти в учетные записи GMail с него, но я хочу убедиться, что процесс входа в систему действительно безопасен.

Поэтому я использую такой код:

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

Поскольку я не храню сами пароли в любой момент (они передаются непосредственно из текстовых полей и хранятся на серверах Google), я почти уверен, что мне не нужно беспокоиться о хешировании и шифровании, как будто я хранил пароли в своей собственной БД - но это ли вообще безопасно, или комбинация пользователь / пароль потенциально может быть перехвачена, когда пакеты, созданные моим приложением, отправляются на серверы Google?

Если я правильно понимаю, хранилище «imaps» гарантирует, что это SSL-соединение, и поэтому трафик должен быть зашифрован, но я хочу убедиться, что не ошибаюсь.

Спасибо!

1 Ответ

0 голосов
/ 12 июня 2012

Не волнуйся.Все данные в соединении IMAP через SSL зашифрованы.Однако для отправки электронной почты метод Transport.send будет использовать транспортный протокол по умолчанию, который остается «smtp».Чтобы включить SMTP-соединения по SSL, установите для свойства «mail.smtp.ssl.enable» значение «true».Обычно это самый простой подход.

В качестве альтернативы, чтобы изменить транспортный протокол по умолчанию, возвращаемый методом Session.getTransport (), на SMTP через SSL, задайте для свойства «mail.transport.protocol» значение «smtps».Чтобы изменить транспорт, используемый для интернет-адресов (который возвращается методом Session.getTransport (Address) и используется методом Transport.send), используйте session.setProtocolForAddress("rfc822", "smtps");

. Более подробную информацию можно найти в Примечания по использованию SSL с JavaMail .

...