Я использую 4.1 брелок для Android и следующий код работает отлично под 4.0, но теперь дает мне исключение NullPointer (Cipher не может прочитать какой-то внутренний атрибут)Использование Android 4.1 Keychain
privateKey = KeyChain.getPrivateKey(context,mAlias);
byte[] data = // some biary data
Cipher rsasinger = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1PADDING");
rsasinger.init(Cipher.ENCRYPT_MODE, privkey);
byte[] signed_bytes = rsasinger.doFinal(data);
Я обработки закрытый ключ от KeyChain как непрозрачный и просто использовать его с помощью java-безопасности Api. Нужно ли мне использовать API KeyChain по-другому?
Где происходит исключение NullpointerException (строка исходного кода)? BTW: Почему вы используете шифр для подписывания? В RSA это возможно, если вы шифруете дайджест сообщения блока данных, но вместо этого я использую подпись. – Robert