Нативное защищенное хранилище ключей React: как проверить поддержку React-Native StrongBox и хранить (аппаратно поддержиAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Нативное защищенное хранилище ключей React: как проверить поддержку React-Native StrongBox и хранить (аппаратно поддержи

Сообщение Anonymous »

Я создаю приложение React Native, и мне нужно безопасно хранить конфиденциальные данные на Android.
В iOS я использую Keychain для аппаратного хранения. На Android я хочу использовать StrongBox, который является наиболее безопасным вариантом аппаратного хранилища ключей.
Однако я не нашел кода, с помощью которого я мог бы добавить это для React Native в своем приложении, мне нужно:
  • Определить, поддерживается ли StrongBox на устройстве
  • Сгенерируйте и сохраните ключ с помощью StrongBox
  • Используйте это безопасно из React Native
У меня мало опыта работы с Android.
Я попробовал использовать собственный код через мост, следуя устаревшей технологии подход:

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

// Check StrongBox support
fun isStrongBoxSupported(context: Context): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
context.packageManager.hasSystemFeature(PackageManager.FEATURE_STRONGBOX_KEYSTORE)
} else false
}

// Generate StrongBox-backed key
@TargetApi(Build.VERSION_CODES.P)
fun generateStrongBoxKey(alias: String) {
val keyPairGenerator = KeyPairGenerator.getInstance(
KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore"
)
val parameterSpec = KeyGenParameterSpec.Builder(
alias,
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
)
.setDigests(KeyProperties.DIGEST_SHA256)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1)
.setIsStrongBoxBacked(true)
.build()

keyPairGenerator.initialize(parameterSpec)
keyPairGenerator.generateKeyPair()
}
Я получаю ложное сообщение каждый раз, когда проверяю, есть ли у устройства надежная поддержка коробки или нет. Что-то я что-то упускаю.


Подробнее здесь: https://stackoverflow.com/questions/797 ... ort-and-st
Ответить

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

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

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

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

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