TGTGInsighttelegram intelligenceLIVE / telegram public index
← Android Broadcast
Android Broadcast avatar

TGINSIGHT POST

Post #8709

@android_broadcast

Android Broadcast

Vues6,870Nombre de vues
Publié19 févr.19/02/2025 07:46
Contenu

Contenu du post

🤖 Шаринг ключей из Android Keystore с другими приложениями В Android 16 KeyStoreManager получил возможность поделиться ключами с другими приложениями на устройстве пользователя fun generateAndShareKey(targetUid: Int) { // Генерация нового ключа в Android Keystore val keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore") val keyGenSpec = KeyGenParameterSpec.Builder( KEY_ALIAS, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT ) .setBlockModes(KeyProperties.BLOCK_MODE_GCM) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) .build() keyGenerator.init(keyGenSpec) val secretKey: SecretKey = keyGenerator.generateKey() // Предоставление доступа к ключу приложению с заданным UID val keyStoreManager = KeyStoreManager.getInstance() val granted = keyStoreManager.grant(KEY_ALIAS, targetUid) if (granted) { Log.d(TAG, "Доступ предоставлен UID: $targetUid") } else { Log.e(TAG, "Не удалось предоставить доступ UID: $targetUid") } } Пример отзыва доступа к ключу fun revokeKeyAccess(targetUid: Int) { // Отзыв доступа к ключу для приложения с заданным UID val keyStoreManager = KeyStoreManager.getInstance() val revoked = keyStoreManager.revoke(KEY_ALIAS, targetUid) if (revoked) { Log.d(TAG, "Доступ отозван для UID: $targetUid") } else { Log.e(TAG, "Не удалось отозвать доступ для UID: $targetUid") } } #android#android16#безопасность