Facebook Android générer un hachage de clé


119

En essayant de créer une application Android avec l'intégration Facebook, je suis arrivé à la partie de la documentation où vous devez générer un fichier de hachage de clé, il spécifie d'exécuter le code suivant

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore 
| openssl sha1 -binary
| openssl base64

Lorsque je l'exécute dans mon terminal, j'obtiens une erreur pour Keystore falsifié ou le mot de passe était incorrect,

Je veux juste générer mon hachage de clé

Est-ce que quelqu'un peut-il me montrer la bonne direction?


2
Utilisez-vous le bon mot de passe?
President James K. Polk

Lorsque vous entrez la commande dans le terminal, cela ne me donne pas la possibilité de saisir un mot de passe
Scott

Essayez de n'entrer que la commande keytool sans les deux derniers tubes.
President James K. Polk

6
Je l'ai, je suis tellement fou parfois, entrez la commande sur une ligne entière, ne copiez pas et ne collez pas
Scott

Réponses:


20

Supprimez votre certificat de débogage sous ~ / .android / debug.keystore (sous Linux et Mac OS X); le répertoire est quelque chose comme% USERHOME% /. android sous Windows.

Le plugin Eclipse devrait alors générer un nouveau certificat lors de la prochaine tentative de création d'un package de débogage.

Faites-moi savoir si cela fonctionne.


n'a pas fonctionné. supprimé le fichier debug.keystore, création de débogage, le fichier n'est jamais revenu. notant d'autre dans ce dossier mis à jour.
CthulhuJon

3
Je ne sais vraiment pas comment c'est la réponse acceptée?
Enoobong

Générez HashKey pour le débogage et le mode de libération à l'aide de this. stackoverflow.com/questions/7506392/…
Naeem Ibrahim

281

Afin de générer un hachage de clé, vous devez suivre quelques étapes simples.

1) Téléchargez Openssl à partir de: ici.

2) Créez un dossier openssl en C lecteur

3) Extrayez les fichiers Zip dans ce dossier openssl créé en C Drive.

4) Copiez le fichier debug.keystore à partir de .android dossier dans mon cas (C: \ Users \ SYSTEM.android) et collez-le dans le dossier JDK bin dans mon cas (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)

5) Ouvrez l'invite de commande et indiquez le chemin du dossier JDK Bin dans mon cas (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin).

6) Copiez le code suivant et appuyez sur Entrée

keytool -exportcert -alias androiddebugkey -keystore debug.keystore> c: \ openssl \ bin \ debug.txt

7) Maintenant, vous devez entrer le mot de passe , Password = android.

8) Si vous voyez dans le dossier Bin openssl , vous obtiendrez un fichier avec le nom de debug.txt

9) Vous pouvez maintenant redémarrer l'invite de commande ou travailler avec l'invite de commande existante

10) Revenez au lecteur C et donnez le chemin du dossier OpenSl Bin

11) Copiez le code suivant et collez

openssl sha1 -binary debug.txt> debug_sha.txt

12) vous obtiendrez debug_sha.txt dans le dossier bin openssl

13) Copiez à nouveau le code suivant et collez

openssl base64 -in debug_sha.txt> debug_base64.txt

14) vous obtiendrez debug_base64.txt dans le dossier bin openssl

15) ouvrir le fichier debug_base64.txt Voici votre hachage de clé.


4
belle réponse +1 pour vous j'ai suivi ceci et j'obtiens le résultat souhaité :)
BBdev

J'obtiens ceci: Erreur keytool: java.io.IOException: Keystore a été falsifié, ou le mot de passe était incorrect.Comment puis-je trouver mon mot de passe correct?
DuyguK

Cela a fonctionné pour moi après 2 jours de confusion sur ce qui se passait. Excellent travail!
rennoDeniro

4
@Vizzz: Belle façon d'expliquer pour générer un hachage de clé. Merci pour cet article, j'espère que cet article fera gagner beaucoup de temps à quelqu'un.
Emran Hamza

1
J'ai essayé tous les codes mais je n'ai jamais obtenu le résultat souhaité. J'ai essayé le code de Facebook, c'est aussi la même chose que les trois commandes en une seule commande, mais exécuter trois commandes séparément a donné le bon code et a fonctionné, l'heure de recherche ou peut-être des jours de recherche. Merci. Avant cela, seul le code de l'application Android donnait le bon résultat, l'invite de commande donnait des clés invalides, maintenant tout va bien. Merci encore
Diljeet

149

RÉPONSE MISE À JOUR (Génération par code) Méthode plus simple:

D'après mon expérience, openssl étant toujours gênant, j'ai essayé la deuxième méthode suggérée par facebook. Et c'est merveilleux. C'est la meilleure méthode pour obtenir la clé de hachage.

La deuxième option consiste à imprimer le hachage de clé envoyé à Facebook et à utiliser cette valeur. Apportez les modifications suivantes à la méthode onCreate () dans votre activité principale:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "com.facebook.samples.loginhowto", 
                    PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                }
        } catch (NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }
        ...other operations

}//end of onCreate

Remplacez com.facebook.samples.loginhowto par votre propre nom de package (nom de package dans Manifest.xml).

Lien officiel - https://developers.facebook.com/docs/android/login-with-facebook/ (Voir le bas de la page)

ANSWER (Génération de Keyhash en utilisant openssl)

  1. pour générer une signature, vous devez installer openssl sur votre ordinateur. Si vous n'avez pas un téléchargement openssl à partir d'ici
  2. Dans C openssl:, Créer un dossier
  3. extraire le contenu du fichier zip openssl téléchargé dans le openssldossier du C:lecteur
  4. ouvrir l'invite de commande
  5. déplacer vers binof openssl ie C:\openssl\bindans l'invite de commande
  6. exécutez la commande suivante pour générer votre keyhash. Lors de la génération de hashkey, il devrait vous demander un mot de passe.

    keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ Anhsirk.android \ debug.keystore" | openssl sha1 -binaire | openssl base64

REMARQUE : dans le code ci-dessus, notez que vous devez donner votre chemin à l'utilisateur (c'est-à-dire que dans mon cas, c'est C: \ Users \ Anhsirk, il vous suffit de changer cela pour votre compte d'utilisateur.

Donnez le mot de passe comme Android

. S'il ne demande pas de mot de passe, le chemin du keystore est incorrect.

Si tout fonctionne correctement, il devrait vous donner le hashkey ci-dessous.

entrez la description de l'image ici


J'obtiens ceci: Erreur keytool: java.io.IOException: Keystore a été falsifié, ou le mot de passe était incorrect.Comment puis-je trouver mon mot de passe correct?
DuyguK

@DuyguK - signifie probablement que votre magasin de clés existe déjà. Essayez de supprimer cela et recommencez. Ou un mauvais chemin que vous avez peut-être spécifié
AnhSirk Dasarp

Dieu, cela m'a pris des heures. Merci beaucoup!
Yenthe

Je veux demander si la nouvelle méthode (obtenir des keyhashes par code) ralentit en quelque sorte le processus onCreate. Parce que d'après ce que je sais, lorsque l'APK signé est créé, les keyhashes sont différents. Merci pour le code quand même! :)
marson

la méthode la plus simple fonctionnera-t-elle sans émulateur mais sur le vrai appareil Android?

24

Le moyen le plus simple de générer une clé de hachage.

Exigence: clé SHA1

Vous pouvez obtenir la clé SHA1 à partir de votre fichier de clés de deux manières

1) Localisez votre fichier de keystore, ouvrez l'invite de commande à cet emplacement, puis utilisez la commande mentionnée ci-dessous

keytool -list -v -keystore {keystore_name} -alias {alias_name}

puis entrez votre mot de passe puis il renverra la clé md5, sha1 et sha256.

OU

2) En exécutant signatureReport

Reportez-vous à l'image ci-dessous.

entrez la description de l'image ici

après avoir exécuté le fichier, votre sortie sera générée contenant la clé sha1 requise.

entrez la description de l'image ici

Après avoir obtenu la clé SHA1 requise

Ensuite aller à

http://tomeko.net/online_tools/hex_to_base64.php

et collez votre clé sha1

entrez la description de l'image ici

et enfin, vous obtiendrez Required HashKey que vous pourrez utiliser pour appliquer sur Facebook.


2
Cette réponse est beaucoup plus simple que les autres car elle ne se soucie que du résultat final. Toujours correct. Dans d'autres cas, si le processus de signature est mal configuré, nous ne saurons pas comment y remédier.
hakuna1811

1
Awesome Work like charm Thank buddy
Dheeraj Jaiswal

14

La bonne clé peut être obtenue à partir de l'application elle-même en ajoutant le code suivant pour toast le hachage de clé approprié (dans le cas de Facebook SDK 3.0, cela fonctionne)

try {
            PackageInfo info = getPackageManager().getPackageInfo("com.package.mypackage",         PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
                Log.e("MY KEY HASH:", sign);
                Toast.makeText(getApplicationContext(),sign,         Toast.LENGTH_LONG).show();
            }
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

Remplacez com.package.mypackage par le nom de votre package


Générez HashKey pour le débogage et le mode de libération à l'aide de this. stackoverflow.com/questions/7506392/…
Naeem Ibrahim

12

I. Créer un débogage de hachage de clé pour Facebook

Ajouter un code pour imprimer le hachage de clé pour Facebook

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.google.shoppingvn", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.i("KeyHash:",
                    Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

II. Créer une version de hachage clé pour Facebook

  1. Télécharger openssl-0.9.8e_X64

  2. Créer un dossier openssl dans le lecteur C

  3. Extraire les fichiers Zip dans le dossier openssl

  4. Démarrer -> Exécuter: cmd (appuyez sur Entrée)

  5. (appuyez sur) cd C: \ Program Files \ Java \ jdk1.6.0_45 \ bin. Remarque: C: \ Program Files \ Java \ jdk1.6.0_45 \ bin: est le chemin d'accès au dossier jdk de votre ordinateur

  6. (appuyez sur) keytool -exportcert -alias gci -keystore D: \ dossier \ keystorerelease | C: \ openssl \ bin \ openssl sha1 -binary | C: \ openssl \ bin \ openssl base64. Remarque: D: \ dossier \ keystorerelease: est le chemin de votre keystorerelease

  7. Entrez le mot de passe du fichier de clés: il s'agit du mot de passe lorsque votre fichier de clés est libéré.

    Ensuite, vous aurez un hachage de clé: jDehABCDIQEDWAYz5Ow4sjsxLSw =

  8. Se connecter à Facebook. Accès à la gestion des applications. Collez le hachage de la clé dans votre application sur developer.facebook.com


Générez HashKey pour le débogage et le mode de libération à l'aide de this. stackoverflow.com/questions/7506392/…
Naeem Ibrahim

9

LA SOLUTION LA PLUS SIMPLE POUR CE PROBLÈME:

J'ai ce problème depuis deux mois maintenant. Mes hachages de clés ont été pyling jusqu'à 9. Aujourd'hui, j'ai enfin trouvé la solution simple:

ÉTAPE 1:

Installez le sdk facebook que vous avez téléchargé à partir de la page des développeurs Facebook sur votre téléphone. N'installez pas l'application facebook normale. Assurez-vous de pouvoir vous connecter à Facebook. Puis déconnectez-vous.

ÉTAPE 2:

Exportez votre application avec votre clé de version finale sous forme d'apk, comme vous le feriez lorsque vous la téléchargez sur le Playstore.

ÉTAPE 3:

Mettez le fichier Apk sur votre téléphone via un câble USB ou une clé USB.

ÉTAPE 4:

Installez votre application à l'aide d'un gestionnaire de fichiers: exemple

ÉTAPE 5:

Lancez votre application et essayez de vous connecter avec Facebook. Une boîte de dialogue s'ouvrira et vous indiquera: "la clé YOURHASHKEY n'a pas été trouvée dans la console développeur facebook"

ÉTAPE 6:

Notez la clé.

ÉTAPE 7:

Mettez-le dans votre console de développeur Facebook et enregistrez-le. Maintenant vous avez terminé. Quiconque télécharge votre application, publiée avec un keystore précédemment utilisé, peut se connecter à Facebook.

Prendre plaisir


juste une note: vous devez mettre '=' après la clé copiée du journal
akshay7692

7

Si vous publiez, utilisez le fichier de clés avec lequel vous avez exporté votre application et non le fichier debug.keystore.


1
Bonjour, j'ai essayé d'utiliser mon keystore d'application pour générer le keyhash, mais chaque fois que j'essaie de partager quoi que ce soit de mon application, cela me donne une erreur indiquant que l'application est mal configurée pour la connexion Facebook. mais quand j'essaye keyhash généré par debug.keystore cela fonctionne. pouvez-vous s'il vous plaît m'aider à ce sujet.?
KunalK


6

Enfin :)

Voici mon histoire:

  1. Ajoutez ce code à votre activité principale, après avoir défini la mise en page.

    try { 
      PackageInfo info = getPackageManager().getPackageInfo("PROJECTNAME", PackageManager.GET_SIGNATURES);
      for (Signature signature : info.signatures) {
          MessageDigest md = MessageDigest.getInstance("SHA");
          md.update(signature.toByteArray());
          String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
          Log.e("MY KEY HASH:", sign);
          //textInstructionsOrLink = (TextView)findViewById(R.id.textstring);
          //textInstructionsOrLink.setText(sign);
          Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show();
      }
    } catch (NameNotFoundException e) {
        Log.d("nope","nope");
    } catch (NoSuchAlgorithmException e) {
    }
  2. Remplacez PROJECTNAME par le nom de votre package!

  3. Signez votre application (Android Tools-> Export Signed Application)
  4. Dans votre activité principale où vous collez le code de l'option 2, dans votre mise en page, créez TextView avec id textstring
  5. décommentez deux lignes, que votre code de signe serait défini sur TextView 6 Wuolia, vous avez votre HASH, installez l'application sur votre téléphone !!! et vérifiez votre clé de hachage!
  6. Maintenant, lorsqu'elle est visible, accédez à l'application Facebook que vous avez créée et ajoutez-la à [Key Hashes]
  7. Notez que le nom de votre package doit être le même que sur facebook [Package Name] sous [Key Hashes]
  8. Bonne journée :)

5

Solution en une ligne à générer pour Facebook

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

4

Afin de générer un hachage de clé de version, vous devez suivre quelques étapes simples.

1) Télécharger OpenSl

2) Créez un dossier openssl dans le lecteur C

3) Extrayez les fichiers Zip dans ce dossier openssl créé dans C Drive.

4) Copiez le fichier debug.keystore du dossier .android dans mon cas (C: \ Users \ SYSTEM.android) et collez-le dans le dossier JDK bin dans mon cas (C: \ Program Files \ Java \ jdk1.6.0_05 \ bin)

5) Ouvrez l'invite de commande et indiquez le chemin du dossier JDK Bin dans mon cas (C: \ Program Files \ Java \ jdk1.7.0_40 \ bin).

6) Copiez le code suivant et appuyez sur Entrée

keytool -exportcert -alias abcd-keystore D: \ Projects \ MyAppFolder \ keystore.txt | C: \ openssl \ bin \ openssl sha1 - binaire | C: \ openssl \ bin \ openssl base64 ex - keytool -exportcert -alias (votre nom d'alias apk chanter entrez ici comme mon signe apk alian nom est abcd) -keystore "keystore généré par apk signé apth entrez ici" | "chemin du dossier bin openssl entrez ici" sha1 - binaire | "chemin du dossier openssl bin entrez ici" base64

7) Maintenant, vous devez entrer le mot de passe, Mot de passe = (entrez votre mot de passe de keystore de signature ici)

8) vous avez un keystore qui est utilisé pour le hachage de la clé de l'application


3

Même si ce fil est ancien, je voudrais pourtant partager mon expérience (récemment commencé à travailler avec facebook), qui me semble simple:

  1. Téléchargez openssl à partir du lien ci-dessous: https://code.google.com/p/openssl-for-windows/downloads/list
  2. Décompressez-le sur un lecteur local (par exemple, C: \ openssl)
  3. Pour obtenir la clé de développement pour l'intégration Facebook, utilisez la commande suivante à partir de la ligne de commande dans Windows:

    keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | "C: \ openssl \ bin \ openssl.exe" sha1 -binary | "C: \ openssl \ bin \ openssl.exe" base64

REMARQUE!: Veuillez remplacer le chemin de openssl.exe (dans cet exemple, il s'agit de "C: \ openssl \ bin \ openssl.exe") par votre propre chemin d'installation.

  1. Il vous demandera le mot de passe, par exemple,

Entrez le mot de passe du keystore: android

Tapez android comme mot de passe comme indiqué ci-dessus.

C'est tout! Vous recevrez une clé de 28 caractères. À votre santé!

Utilisez la même procédure pour obtenir la clé Release. Remplacez simplement la commande par ce qui suit et utilisez votre alias de clé de libération.

keytool -exportcert -alias VOTRE_RELEASE_KEY_ALIAS -keystore VOTRE_RELEASE_KEY_PATH | "CHEMIN POUR openssl.exe" sha1 -binaire | openssl base64


mais il montre le mot de passe demandant je donne également le mot de passe du keystore signé, puis montre chines laungauge
Harsha

assurez-vous que le chemin est correctement défini pour openssl \ bin et java ... \ bin
KawaiKx

3

Générer la clé de hachage de débogage

  public String hashkey(Context context) {
        String keyhash = "";
        try {
            PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                keyhash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
            }
        } catch (PackageManager.NameNotFoundException e) {

        } catch (NoSuchAlgorithmException e) {

        }
        return keyhash;
    }

Générer la clé de hachage Release

 keytool -exportcert -alias specialbridge -keystore /home/shilpi/newproject/specialBridge/SpecialBridgeAndroid/keystore/specialbridge.jks | openssl sha1 -binary | openssl base64

2

Excellent article de blog sur le sujet

Extraction du hachage de clé à partir de la clé .p12

  1. Ouvrez le terminal ou la ligne de commande et accédez à l'emplacement de votre clé .p12.
  2. Tapez: "keytool -v -list -keystore mycert.p12 -storetype pkcs12" où mycert.p12 est le nom de fichier de votre clé .p12.
  3. Entrez le mot de passe du fichier de clés (celui que vous avez utilisé lors de l'exportation de la clé .p12). 4. Copiez le texte d'octets de signature d'empreinte digitale sha1.
  4. Les octets de la signature d'empreinte digitale sha1 sont nécessaires pour écrire le fichier «sha1.bin». Vous pouvez utiliser un éditeur hexadécimal pour coller les octets que vous avez copiés. Ensuite, enregistrez le fichier sous «sha1.bin».
  5. Ouvrez à nouveau le terminal et tapez: «openssl base64 -in sha1.bin -out base64.txt».
  6. Le «base64.txt» résultant contiendra le hachage de clé nécessaire pour Facebook.

Éditeur hexadécimal génial et simple pour Mac: HexFiend

OpenSSL doit être préinstallé sur mac, et voici le lien pour la version Windows.

Lien


Ce sont d'excellentes informations pour les développeurs d'applications Adobe AIR (Flash ou Apache Flex). Et le "nom de classe" pour Facebook SSO devrait êtreAppEntry
Alexander Farber

2

Essayez de transmettre le mot de passe de la clé et enregistrez-le dans le cadre de la commande

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -keypass android -storepass android \
| openssl sha1 -binary \
| openssl base64

1

J'ai pu effectuer la tâche demandée avec certaines des solutions ici, mais je me suis dit, garçon c'est stupide ... pourquoi ne pas écrire un petit code Java qui le fait et le mettre dans un Jar, alors je l'ai fait. ..

Un lien à télécharger le Jar

Fonctionne sur Windows 8 ... n'a essayé aucun autre système d'exploitation.


1
Ce que je ne comprends pas, c'est que s'il m'a fallu quelques heures pour tout apprendre et esquisser cela, pourquoi aucune des grandes entreprises ne l'a déjà fait pour nous fournir un moyen facile d'obtenir les informations qu'elles nous demandent. ???
TacB0sS

1

Salut à tous, c'est mon histoire comment je suis signé a une clé pour Facebook

tout d'abord il vous suffit de copier ces 2 méthodes dans votre première classe

    private void getAppKeyHash() {
    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                getPackageName(), PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md;

            md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String something = new String(Base64.encode(md.digest(), 0));
            System.out.println("HASH  " + something);
            showSignedHashKey(something);

        }
    } catch (NameNotFoundException e1) {
        // TODO Auto-generated catch block
        Log.e("name not found", e1.toString());
    } catch (NoSuchAlgorithmException e) {

        Log.e("no such an algorithm", e.toString());
    } catch (Exception e) {
        Log.e("exception", e.toString());
    }
}
public void showSignedHashKey(String hashKey) {

    AlertDialog.Builder adb = new AlertDialog.Builder(this);
    adb.setTitle("Note Signed Hash Key");
    adb.setMessage(hashKey);
    adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {

        }
    });

    adb.show();
}

** Appelez la fonction getAppKeyHash () à partir de votre méthode oncreate si vous voulez un hachage signé, puis effectuez l'installation de la construction signée et exécutez la construction signée.Vous obtiendrez la clé de hachage dans la boîte de dialogue, puis notez-la et mettez-la à jour sur le compte de développement facebook et commentez cette fonction et créez-en une autre APK signé **


1

Si votre mot de passe = Android est faux, mettez le mot de passe de votre ordinateur sur le fait qu'il fonctionne pour moi.

Et pour générer keyHash, essayez ce lien ici


0

La seule chose qui fonctionne pour moi est d'utiliser le mot de passe android. Pourquoi cela n'est-il mentionné dans aucun guide?


0

utilisez ceci dans kotlin pour le hachage de la clé d'impression dans le journal

try {
        val info = context.getPackageManager().getPackageInfo(context.packageName,
                PackageManager.GET_SIGNATURES);
        for (signature in info.signatures) {
            val md = MessageDigest.getInstance("SHA")
            md.update(signature.toByteArray())
            Log.d("Key hash ", android.util.Base64.encodeToString(md.digest(), android.util.Base64.DEFAULT))
        }
    }catch (e:Exception){

    }
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.