Récupérer ses Clés
Pour interagir avec un appareil Boks via ce SDK, vous avez besoin d'identifiants spécifiques. Alors que les opérations de base (ouverture de porte) ne nécessitent que le Code permanent (PIN), les opérations administratives (gestion des codes, changement de paramètres) requièrent la Clé de Configuration (ConfigKey) ou la Clé Maîtresse (Master Key).
Concepts Clés
- ConfigKey : Une chaîne hexadécimale de 8 caractères (ex:
A1B2C3D4) utilisée pour authentifier les commandes BLE sensibles. - Master Key : Une clé racine de 32 octets (64 caractères hex). La ConfigKey est dérivée de ses 4 derniers octets. Fournir la Master Key au SDK permet la génération de PIN hors-ligne.
Méthode 1 : API Cloud (Recommandé)
Le moyen le plus simple de récupérer vos clés est d'interroger l'API Cloud officielle de Boks. Vos clés y sont stockées car votre compte Boks a été synchronisé avec leurs serveurs lors de l'installation initiale.
Prérequis : Compte "Migré"
Notez que Boks exige que les comptes soient "migrés" vers leur nouveau système. Si votre compte n'est pas migré ou est bloqué dans l'application officielle, l'API peut retourner des clés vides.
Utiliser un script de récupération
Vous pouvez utiliser un script simple pour récupérer vos clés. L'outil recommandé est le script get_config_key.py de l'intégration Home Assistant. Il va :
- Se connecter à votre compte Boks via Google Identity.
- Lister tous les appareils associés.
- Afficher leur ConfigKey et leur adresse MAC respectives.
Méthode 2 : Extraction Manuelle (Android)
Si vous ne pouvez pas utiliser l'API Cloud, vous pouvez extraire les clés de la base de données locale de l'application Android.
1. Localiser la base de données
L'application stocke ses données dans une base IndexedDB située à : /data/user/0/com.boks.app/app_webview/Default/IndexedDB/
Note : L'accès à ce chemin nécessite un appareil rooté ou l'utilisation d'outils de sauvegarde spécifiques au fabricant qui contournent la restriction allowBackup=false.
2. Extraire la Clé
Comme les données sont souvent compressées par LevelDB, utilisez un outil comme dfindexeddb pour analyser les fichiers :
pip install dfindexeddb
dfindexeddb db -s /chemin/vers/dossier/IndexedDB/ --format chrome --use_manifestRecherchez "configurationKey" ou "masterKey" dans la sortie JSON résultante.
Méthode 3 : Extraction Manuelle (iOS)
Sur iOS, vous pouvez extraire les clés d'une sauvegarde locale non chiffrée de votre iPhone.
- Créez une sauvegarde non chiffrée via iMazing ou iTunes.
- Utilisez un explorateur de sauvegarde (comme iBackupBot) pour naviguer vers :
User App Files>com.boks.app>Library>WebKit>WebsiteData>Default>IndexedDB. - Localisez le fichier
IndexedDB.sqlite3et exportez-le. - Utilisez dfindexeddb pour l'analyser :bash
dfindexeddb db -s IndexedDB.sqlite3 --format safari
Pourquoi faire cet effort ?
Une fois que vous avez récupéré votre Master Key ou votre ConfigKey, vous gagnez une indépendance totale vis-à-vis de l'infrastructure Boks. Vous pouvez contrôler votre matériel directement via Bluetooth, générer vos propres codes de livraison, et garantir que votre boîte à colis reste fonctionnelle même si les services cloud officiels sont indisponibles.