Проблемы Android SecretKeyFactory. Реализация не найдена? - PullRequest
6 голосов
/ 13 февраля 2010

Я пытаюсь создать приложение для Android, которое использует шифрование для сохранения информации о пользователе, и я не могу понять, что я делаю неправильно. Я пытаюсь создать экземпляр SecretKeyFactory, используя алгоритм «PBKDF2WithHmacSHA1», но приложение продолжает генерировать исключения в этой точке программы (не имеет значения, находится ли он в эмуляторе или на реальном оборудовании).

Код:

SecretKeyFactory secretFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");

Исключение:

java.security.NoSuchAlgorithmException: SecretKeyFactory PBKDF2WithHmacSHA1 реализация не найдена ...

Вот странная вещь ... если я возьму этот код и скомпилирую его как обычное приложение Java, он будет работать ... исключений не будет, и я смогу создавать зашифрованные файлы (и расшифровывать их) без ошибок.

Я также попытался ввести другие алгоритмы (например, AES, PBEWithHmacSHA1AndDESede, PBEWithMD5AndDES и т. Д.), И все они выдают ту же ошибку / исключение в этой строке кода (при компиляции для Android).

У меня установлена ​​последняя версия Java (JDK 1.6.0.18), все обновления применены к Eclipse и подключаемым модулям, а также последняя версия Android SDK. Я также использую 64-разрядную версию Windows 7.

Пожалуйста, помогите, я не нашел ответа на этот вопрос в течение двух дней поиска в Интернете. Благодаря.

Ответы [ 3 ]

4 голосов
/ 13 февраля 2010

Это означает, что Android SDK не имеет реализации для этого алгоритма. У вас есть два варианта:

  • переключиться на другой поддерживаемый алгоритм (я не могу найти ссылку, поэтому попробуйте их вручную)
  • предоставить собственную реализацию алгоритма
4 голосов
/ 13 февраля 2010

Это может быть не поддерживаемый алгоритм или его наименование на Android.

Вы смотрели вокруг классов javax.crypto? https://developer.android.com/reference/javax/crypto/EncryptedPrivateKeyInfo.html

Вот пример использования другого алгоритма, если это помогает. http://www.anddev.org/viewtopic.php?p=11737

Кстати, добавьте тег "from-irc" к этому сообщению, чтобы получить ответ от Google. http://android -developers.blogspot.com / 2010/01 / ИРЦ-offce-ч-update.html

2 голосов
/ 18 ноября 2010

Есть ли реализация третьей части, которую можно использовать на Android? Firefox Sync, например, использует PBKDF2WithHmacSHA1, поэтому для меня переключение к другому алгоритму нет выбора, поскольку именно это я и пытаюсь расшифровать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...