IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

[Insecure Bluetooth] Besoin de précisions / utilisation avec Android < 2.3.3


Sujet :

API standards et tierces Android

  1. #1
    Membre confirmé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 50
    Par défaut [Insecure Bluetooth] Besoin de précisions / utilisation avec Android < 2.3.3
    Bonjour,
    Tout d'abord désolé si certains ont l'impression de lire ce post deux fois, en fait j'avais initialement posté cette question dans le thread suivant : http://www.developpez.net/forums/d10...-sous-android/
    Mais étant donné que ma question concerne le mode insecure de bluetooth et non pas le NFC, je me permets de la reposter ici
    ----
    Parce que je dispose de deux terminaux sous 2.2.1, mais aussi parce que je souhaite développer une application compatible avec des versions Android un peu plus anciennes que la derniere ajoutant le support Bluetooth Insecure, j'ai appliqué la méthode décrite dans l'article ci-dessous à mon cas. En fait les méthodes bluetooth Insecure étaient bien là dans les versions précédentes d'android, mais masquées.

    Un peu d'utilisation de la reflection et hop, il est théoriquement posssible d'y accéder :

    http://mobisocial.stanford.edu/news/...nd-legacy-nfc/

    Basiquement, mon objectif est de pouvoir effectuer un échange bluetooth entre deux terminaux qui ne se connaissent pas et qui ne sont pas pairés, en utilisant les méthode Bluetooth Insecure. Mon objectif est que cela soit totalement transparent pour l'utilisateur, et qu'il n'ait pas à confirmer le pairing du tout.

    Pour des raisons internes dues au fonctionnement de mon application, cela ne pose pas de souci de sécurité (je ne souhaite d'ailleurs pas que mon post se transforme en thread concernant le fait que ce soit safe ou non de faire ça - je souhaite juste le faire :O)

    Je parviens donc à priori a utiliser le mode non sécurisé via la reflection malgré le fait que mon terminal soit en 2.2.1,

    MAIS

    lorsque je connecte le client au serveur, un popup apparait sur les deux terminaux demandant de confirmer le pairing (ID de 6 digits généré identique sur les deux terminaux).

    J'avais cru comprendre qu'utiliser le mode Insecure permettait de s'affranchir complètement de toute interaction avec l'utilisateur : ais-je mal compris ? est-ce du au fait que j'utilise la reflection pour accéder à ces méthodes insecure dont l'implémentation à changé depuis ?

    PS : je n'ai pas pu tester mon code sur Android 2.3.3

    Toute aide sera la bienvenue

    D'avance merci, bonne continuation et bon code à tous
    Antoine

  2. #2
    Membre confirmé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 50
    Par défaut
    Hello,

    Pour information je n'ai pour l'instant pas réussi à résoudre mon problème...
    J'ai essayé d'utiliser l'encryption, de ne pas l'utiliser,
    d'utiliser au niveau client (grace à la classe InsecureBluetooth.java) trouvée dans l'article cité plus haut:

    InsecureBluetooth#createRfcommSocketToServiceRecord
    et
    InsecureBluetooth#createRfcommSocket

    et au niveau serveur
    InsecureBluetooth#listenUsingRfcommWithServiceRecord
    et
    InsecureBluetooth#listenUsingRfcomm

    A noter que j'ai corrigé un petit bug concernant l'encryption (paramètre passé dans la signature de la méthode
    private static BluetoothSocket createRfcommSocketToServiceRecord
    mais qui n'était pas pris en compte : bref mon souci ne vient pas de là...)

    je dois avouer que je sèche Quoi que je fasse, j'ai toujours un popup de confirmation de pairing qui apparait sur les deux terminaux (confirmation de 6 digits générés automatiquement).
    Desfois que ça ait une importance, les deux terminaux sont des Samsung, un Galaxy S, et un Teos. Tous les deux tournant sur la même version d'android (2.2.1).

    Y a t-il quelqu'un qui a déjà fait fonctionner le mode insecure bluetooth sur un android 2.2.1 (en utilisant la reflection), ou alors sur un android 2.3.3, sans aucune intervention Humaine pour le pairing ?

    D'avance merci comme précédemment, toute aide, idée, piste ou quoi que ce soit sera la bienvenue

    bonne journée et bon code à tous

  3. #3
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,
    Je ne sais pas si cela peux t'aider mais on dirait qu'un constructor est sortie sur l'API 10 sur le bluetooth insecure.

    http://developer.android.com/referen...ava.util.UUID)

  4. #4
    Membre confirmé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 50
    Par défaut
    Hello, merci pour ta réponse,

    Citation Envoyé par Feanorin Voir le message
    Bonjour,
    Je ne sais pas si cela peux t'aider mais on dirait qu'un constructor est sortie sur l'API 10 sur le bluetooth insecure.

    http://developer.android.com/referen...ava.util.UUID)
    Effectivement, mais je souhaite réussir à utiliser le mode Bluetooth insecure sur mon droid 2.2.1 (API 8), étant donné que grâce à la reflection il semble possible d'y parvenir, d'après http://mobisocial.stanford.edu/news/...nd-legacy-nfc/

    ...Bref...
    Maintenant, après avoir cherché un peu à gauche et à droite, je commence à me demander si le souci que j'aie avec mes deux terminaux samsung ne viendrait pas du fait que Samsunng utilise sa propre stack bluetooth au lieu de la stack standard Android...
    Je n'ai malheursuement pas d'autre terminaux sous la main pour tester...
    Quelqu'un aurait-il des détails ? une idée de si mon souci pourrait venir de là ?

    D'avance merci
    Antoine

Discussions similaires

  1. Utiliser des drivers linux avec Android
    Par matleb dans le forum Android
    Réponses: 4
    Dernier message: 01/02/2011, 17h12
  2. Utiliser des drivers linux avec android
    Par matleb dans le forum Android
    Réponses: 3
    Dernier message: 23/11/2010, 11h29
  3. Besoin de précision avec les relations entre Tables
    Par johnvox dans le forum Outils
    Réponses: 10
    Dernier message: 17/12/2008, 17h45
  4. Réponses: 1
    Dernier message: 20/04/2008, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo