plugmate-secure-file-io.ino
Demuestra cómo usar el almacenamiento interno cifrado de Android 14 para guardar datos sensibles sin exponer las claves de cifrado al host.
PlugMate utiliza almacenamiento eMMC cifrado por hardware. Este código usa la API estándar de Kotlin/Android getFilesDir(). La aplicación debe estar firmada e instalada en el PlugMate vía ADB o la tienda interna. Los datos solo son accesibles por la propia aplicación debido al estricto aislamiento del sistema. No se necesita configuración de red para esta operación local.
plugmate-secure-file-io.ino
package com.trustkernel.plugmate.demo
import android.content.Context
import java.io.File
import java.io.FileOutputStream
import java.io.FileInputStream
import java.nio.charset.StandardCharsets
object SecureStorageDemo {
/**
* Écrit des données dans le répertoire privé de l'application.
* Le stockage eMMC est chiffré au repos par PlugOS.
*/
fun writeSecret(context: Context, filename: String, data: String) {
try {
// getFilesDir() pointe vers le sandbox chiffré de l'app
val file = File(context.filesDir, filename)
FileOutputStream(file).use { fos ->
fos.write(data.toByteArray(StandardCharsets.UTF_8))
}
println("Données écrites avec succès dans le stockage chiffré.")
} catch (e: Exception) {
e.printStackTrace()
}
}
/**
* Lit les données depuis le stockage chiffré.
*/
fun readSecret(context: Context, filename: String): String? {
val file = File(context.filesDir, filename)
if (!file.exists()) return null
return try {
FileInputStream(file).bufferedReader().use { it.readText() }
} catch (e: Exception) {
e.printStackTrace()
null
}
}
}