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

Android Discussion :

Utiliser l'api Dropbox : gestion de la clé privée dans le code ?


Sujet :

Android

  1. #1
    Membre émérite
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Billets dans le blog
    15
    Par défaut Utiliser l'api Dropbox : gestion de la clé privée dans le code ?
    Je compte utiliser l'api de Dropbox dans mon application android, mais je suis un peu embêté, en effet :
    • Il faut fournir la clé privée de mon application dans le code
    • de plus, j'ai fait le choix de rendre mon code open-source, et de le publier sur github


    Ma question est donc la suivante :
    est-ce catastrophique si la clé privée de mon application est visible ? (Il me semble que l'api s'appuit sur OAuth 2).

    Merci d'avance

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Salut,

    Oui ça peut être problématique en effet. Car au final tous les devs qui font utiliser ta clé dans leurs projet auront potentiellement accès aux comptes des utilisateurs d'autres devs. La zone d'administration Dropbox sera elle aussi commune entre tous les devs qui utilise la même clé (donc possibilité de révoquer des comptes utilisateurs qui ne sont pas les leurs par exemple). Bref c'est pas vraiment une bonne idée..

    Le mieux c'est que tu externalises la clé dans un fichier par exemple. Comme ça les devs auront juste à renseigner leurs clé privé dans ce fichier. Le reste étant géré par ton appli.

    Cdt.

  3. #3
    Membre émérite
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Billets dans le blog
    15
    Par défaut
    Bonjour

    Merci pour ta réponse.

    Donc, si j'ai bien compris, même si je suis le seul développeur de l'application, mon compte risque d'être révoqué si je laisse la clé privée en dur dans le code ?

    Cordialement

  4. #4
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Non c'est pas ça, mais ton compte fait office de compte administrateur pour ton application. Mais le but de l'API Dropbox c'est de pouvoir piloter des comptes utilisateurs. Or pour accéder à ces comptes, tu dois fournir ta clé privé + le token que tu as reçus via OAuth lorsque l'utilisateur à donné l'autorisation à ton appli de pouvoir la piloter.

    Mais si ton application est forké sur Git, le dev qui récupérera ta clé privé pourra potentiellement l'utiliser pour piloter les comptes utilisateurs dont toi tu es responsable dans ton appli (ou révoquer ton accès si ça lui chante, il peut tout faire).

    Autant laisser ça dans un fichier externe. Comme ça si une personne veut utiliser ton appli pour ses propres besoins, il devra se créer un compte administrateur sur Dropbox et renseigner sa clé privé dans ce fichier pour ensuite pouvoir gérer ses propres comptes utilisateur. Ce qui de toute façon me parait bien plus logique

  5. #5
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Et juste ajout alakon : ce fichier en question n'est soit pas commit et dûment renseigné dans le readme.md, soit commit avec une valeur par défaut débile (avec potentiellement une p'tite prise en compte dans le code pour vérifier si ça a bien été modifié ).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  6. #6
    Membre émérite
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Billets dans le blog
    15
    Par défaut J'ai compris
    Merci à vous

    Donc un moyen simple d'éviter que d'autres dev aient accès à mon compte administrateurs DropBox et révoquent des comptes dont j'ai la responsabilité via mon application :
    • Lire la clé privée via un fichier texte externe
    • Ne pas commiter ce fichier ou bien en commiter une version factice


    Merci

  7. #7
    Membre émérite
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Billets dans le blog
    15
    Par défaut
    Je me demande par contre si les utilisateurs déterminés ne peuvent pas retrouver la clé privée en décompilant l'apk produit.
    Je me demande aussi si, en utilisant malgré tout Proguard, que je ne connais pas vraiment, cela suffirait pour masquer les valeurs de mes clés publique et privée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Windows] Utilisation d'une API Microsoft (gestion du WiFi)
    Par ram-0000 dans le forum Plateformes
    Réponses: 2
    Dernier message: 19/07/2015, 17h15
  2. Utilisation de l'API Dropbox
    Par Nico02 dans le forum Général Java
    Réponses: 2
    Dernier message: 05/03/2014, 18h30
  3. [DropBox] Utilisation de l'API Dropbox
    Par Nico02 dans le forum Stockage
    Réponses: 0
    Dernier message: 18/02/2014, 16h14
  4. Réponses: 0
    Dernier message: 01/12/2010, 16h02
  5. Réponses: 19
    Dernier message: 04/10/2006, 16h53

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