Android.security.KeyStoreException: неподдерживаемая цель при хешировании – использование PURPOSE_SIGNAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android.security.KeyStoreException: неподдерживаемая цель при хешировании – использование PURPOSE_SIGN

Сообщение Anonymous »

Я использую Android KeyStore на Kotlin. Прямо сейчас у меня возникла проблема: я загружаю ключи, а позже, когда я их получаю, я использую их для шифрования, дешифрования и генерации хеша. Шифрование/дешифрование работает нормально, а хеширование — нет. Мой код хранилища ключей выглядит следующим образом:

Код: Выделить всё

private fun loadKey(fullAlias: String, key: SecretKey) {
val keyEntry = KeyStore.SecretKeyEntry(SecretKeySpec(key.encoded, AES_ALG))
val prot: ProtectionParameter = KeyProtection.Builder(
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT or KeyProperties.PURPOSE_SIGN)
.setBlockModes(KeyProperties.BLOCK_MODE_GCM)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
.setDigests(KeyProperties.DIGEST_SHA256, KeyProperties.DIGEST_SHA1)
.setUserAuthenticationRequired(false)
.setRandomizedEncryptionRequired(false)
.build();
keyStore.setEntry(fullAlias, keyEntry, prot)
}
Я хеширую следующим образом:

Код: Выделить всё

private const val HMAC_ALGORITHM = "HmacSHA256"

fun pibaseToken(key: Key, label: ByteString): ByteString {
//        val secretKeySpec = SecretKeySpec(key.encoded, HMAC_ALGORITHM)
val mac = Mac.getInstance(HMAC_ALGORITHM)
mac.init(key)
val token = mac.doFinal(label.toByteArray())
return ByteString.copyFrom(token)
}
Я постоянно получаю сообщение о том, что цель не поддерживается. 2: Ошибка::Km(r#UNSUPPORTED_PURPOSE)) (общедоступный код ошибки: 13, внутренний код хранилища ключей: -2). Любые мысли будут оценены по достоинству. (примечание: я знаю, что некоторые методы обеспечения безопасности здесь не идеальны, но я проверяю концепцию).

Подробнее здесь: https://stackoverflow.com/questions/783 ... -using-pur
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Цель выборки при хешировании [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Android.security.KeyStoreException: Проверка подписи/Mac не удалась
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Android.security.KeyStoreException: Проверка подписи/Mac не удалась
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Не уверен, почему квадратичное зондирование не поможет разрешить коллизии при хешировании.
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Использование Ionic/Vue с AWS Amplify Gen 2. Как заставить Google и Apple Sign in работать в собственном приложении iOS?
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»