Неограниченная сила Jce и Android - PullRequest
3 голосов
/ 31 августа 2011

Я использую SpongyCastle (полная реализация криптографических функций BouncyCastle для Android), и у меня есть bks, который содержит ключ размером 384. Я пытаюсь извлечь этот ключ, используя метод KeyStore.getKey (псевдоним, пароль)как и любой другой ключ в хранилище ключей.Но я сталкиваюсь с ошибкой

java.security.UnrecoverableKeyException: no match.

Проведение небольшого исследования показывает, что это может быть связано с тем, что размер ключа слишком велик для обработки Android, что имеет смысл, поскольку моя программа без проблем получает другие ключи размеров 128 и 256.Обычно в Java это можно решить путем импорта JCE «Unlimited Strength» в папку безопасности Java, но как насчет Android?Могу ли я импортировать JCE неограниченной силы в Android (у меня инстинкт инстинкта нет). Если нет, есть ли какие-либо предложения относительно того, как извлечь ключ?SpongyCastle решил многие другие мои проблемы, я надеюсь, что и здесь есть решение SpongyCastle.

Спасибо!

1 Ответ

8 голосов
/ 06 сентября 2011

Итак, после долгих попыток решить проблему, я выяснил.

Я не указал поставщика, поэтому моя программа по умолчанию установила Android BouncyCastle по умолчанию.В ту минуту, когда я сделал

KeyStore ks = new KeyStore("BKS","SC");

, в отличие от

KeyStore ks = new KeyStore("BKS");

, все заработало и не жаловалось.

...