Size: a a a

2019 September 17

K2

KR 2142 in Android Guards
Всё прошёл, иду на посадку
источник

NK

Nikita Kuklin in Android Guards
Возможно ли залезть в память работающего приложения без рута? Способы не интересуют - интересует лишь сам факт возможно ли это.
источник

М

Михаил in Android Guards
Vadim
В общем, не понятно зачем рефреш токен, кроме как для реализации "быстрого" логина. Кто нибудь объясните:)
Если речь об oauth, то рефреш токен для того чтобы не снабжать третью сторону бесконечным доступом к ресурсу, третья сторона знает только access токен
источник

V

Vadim in Android Guards
Михаил
Если речь об oauth, то рефреш токен для того чтобы не снабжать третью сторону бесконечным доступом к ресурсу, третья сторона знает только access токен
да об oauth. Просто непонятно зачем рефреш, если при генерации нового токена можно удалять все предыдущие связанные с акком
источник

М

Михаил in Android Guards
Vadim
да об oauth. Просто непонятно зачем рефреш, если при генерации нового токена можно удалять все предыдущие связанные с акком
При генерации новой пары или при повторной аутентификации?
источник

V

Vadim in Android Guards
Михаил
При генерации новой пары или при повторной аутентификации?
при генерации нового accessToken
источник

V

Vadim in Android Guards
а при рефреше токена или логине - не важно
источник

М

Михаил in Android Guards
Не надо ничего удалять пока не протух рефреш
источник

М

Михаил in Android Guards
Access короткоживущий
источник

V

Vadim in Android Guards
почему?
источник

V

Vadim in Android Guards
Михаил
Access короткоживущий
согласен
источник

М

Михаил in Android Guards
Конец сессии = протухание refresh токена
источник

V

Vadim in Android Guards
можно же сделать и 5 токенов, только какую задачу оно решает - непонятно
источник

V

Vadim in Android Guards
Ладно, как я понял это холиварный вопрос, не будем время тратить:)
источник

NK

Nikita Kuklin in Android Guards
Nikita Kuklin
Возможно ли залезть в память работающего приложения без рута? Способы не интересуют - интересует лишь сам факт возможно ли это.
а по моему вопросу может кто ни будь подсказать?)
источник

IT

Igor Talankin in Android Guards
Nikita Kuklin
а по моему вопросу может кто ни будь подсказать?)
Нужно всегда готовиться к худшему)
источник

IK

Igor Komarov in Android Guards
В итоге я таки добрался до MODIFY_PHONE_STATE. Словил следующую проблему: телефон судя по всему не видит мой SAM. На все попытку пульнуть в базовый канал сообщение идёт ответ 6F 00, что есть не принадлежащая стандарту ошибка
источник

IK

Igor Komarov in Android Guards
Вопрос: может ли быть такое, что SAM тупо не читается телефоном в слоте SIM, и если да - то как это однозначно определить?
источник
2019 September 18

NK

Nikita Kuklin in Android Guards
// generate key
keyStore.load(null)
if (!keyStore.containsAlias(KEY_ALIAS)) {
 var keyGenerator: KeyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, AndroidKeyStore)
 keyGenerator.init(KeyGenParameterSpec.Builder(KEY_ALIAS, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT).setBlockModes(KeyProperties.BLOCK_MODE_GCM).setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE).setRandomizedEncryptionRequired(false).build())
 keyGenerator.generateKey()
}

// encrypt
var c: Cipher = Cipher.getInstance(AES_MODE)
c.init(Cipher.ENCRYPT_MODE, keyStore.getKey(KEY_ALIAS, null), GCMParameterSpec(128, FIXED_IV))
var encodedBytes: ByteArray = c.doFinal("CLEAN STRING".toByteArray(charset("UTF-8")))
return Base64.encodeToString(encodedBytes, Base64.DEFAULT)
 
// decrypt
var encrypted = Base64.decode("ENC STR", Base64.DEFAULT)
var c: Cipher = Cipher.getInstance(AES_MODE)
c.init(Cipher.DECRYPT_MODE, keyStore.getKey(KEY_ALIAS, null), GCMParameterSpec(128, FIXED_IV))
return String(c.doFinal(encrypted))
источник

NK

Nikita Kuklin in Android Guards
При расшифровке на c.doFinal падает javax.crypto.AEADBadTagException (причем не всегда и не везде). Подскажите пожалуйста - в чем может быть дело и как с этим бороться?
источник