plugmate-secure-file-io.ino
Démontre comment utiliser le stockage interne chiffré d'Android 14 pour sauvegarder des données sensibles sans exposer les clés de chiffrement à l'hôte.
Le PlugMate utilise un stockage eMMC chiffré matériellement. Ce code utilise l'API standard getFilesDir() de Kotlin/Android. L'application doit être signée et installée sur le PlugMate via ADB ou le store interne. Les données ne sont accessibles que par l'application elle-même grâce à l'isolation stricte du système. Aucune configuration réseau n'est nécessaire pour cette opération locale.
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
}
}
}