plugmate-secure-http-client.ino
Ilustra el acceso de red saliente seguro desde el entorno aislado de PlugMate, utilizando la conectividad del host a través del canal USB-C.
PlugMate no tiene módem interno; usa la red del host. Este código usa HttpsURLConnection estándar. Asegúrese de que el cliente host esté autorizado a compartir la conexión. El firewall de PlugOS bloquea los puertos no autorizados por defecto. Los certificados raíz son gestionados por el sistema operativo Android 14 endurecido.
plugmate-secure-http-client.ino
package com.trustkernel.plugmate.demo
import java.net.HttpURLConnection
import java.net.URL
import javax.net.ssl.HttpsURLConnection
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManagerFactory
import java.security.KeyStore
import java.io.BufferedReader
import java.io.InputStreamReader
object SecureNetworkDemo {
/**
* Effectue une GET HTTPS vers une API sécurisée.
* Le trafic est chiffré TLS et passe par le tunnel USB-C vers l'hôte.
*/
fun fetchSecureData(apiUrl: String): String? {
var connection: HttpURLConnection? = null
return try {
val url = URL(apiUrl)
connection = url.openConnection() as HttpsURLConnection
// Configuration TLS standard (Android 14 gère les CA système)
connection.requestMethod = "GET"
connection.connectTimeout = 5000
connection.readTimeout = 5000
val responseCode = connection.responseCode
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader(InputStreamReader(connection.inputStream)).use { reader ->
val response = StringBuilder()
var line: String?
while (reader.readLine().also { line = it } != null) {
response.append(line)
}
response.toString()
}
} else {
null
}
} catch (e: Exception) {
e.printStackTrace()
null
} finally {
connection?.disconnect()
}
}
}