Autore Topic: [GUIDA]Creare Key Hash da Keystore in Windows (es per usarla nelle Facebook APP)  (Letto 5577 volte)

Offline lucab

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +10
    • Mostra profilo
    • Lucabportal
  • Dispositivo Android:
    Nexus 5 - Nexus One
  • Play Store ID:
    Luca Biasotto
  • Sistema operativo:
    Mac OS X
Ciao a tutti,

dopo un po' di peripezie sono riuscito ad ottenere il key hash dal mio keystore personale e quello di debug per usarlo nella Facebook API per Android.

Di seguito vi scrivo i passi da fare in ambiante Windows (Ho seguito le indicazioni presi da forum in inglese e le ho tradotte)


1. Scaricare Openssl da: http://code.google.com/p/openssl-for-windows/downloads/list

2. Creare la cartella  "openssl" in C:

3. Estrarre il contenuto del file scaricato nel punto 1 all'interno della cartella appena creata

4. Copiare il  file "debug.keystore" dalla cartella  ".android" (nel mio caso C:\Users\UTENTE\.android) e copiatelo nella cartella "bin" del JDK (nel mio caso è "C:\Program Files\Java\jdk1.7......\bin")
(4.1 se invece del keystore di debug volete usare il vostro keystore copiare il vostro keystore nella cartella bin del JDK)

5. Aprire un prompt dei comandi e posizionarsi nella cartella Bin del  JDK (nel mio caso è sempre "C:\Program Files\Java\jdk1.7...\bin").

6. Copiare il comando seguente nel prompt e premere invio: "keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt"
(6.1 se state usando il vostro keystore personale invece di quello di debug dovrete sostituire "androiddebugkey" con il vostro alias e "debug.keystore" con il nome del vostro keystore salvato nella cartella bin del JDK)

7. Se state usando il keystore di debug inserire la password = android , se invece state usando il vostro keystore dovrete inserire la vostra password

8. nella cartella Bin in openssl è stato creato il file "debug.txt", ora la parte più complicata è stata fatta, manca poco  ;-)

9. Sempre dal prompt dei comandi spostatevi in  C:/openssl/Bin (la cartella contenente il file debug.txt)

10. copiate e eseguite il comando  "openssl sha1 -binary debug.txt > debug_sha.txt"

11. è stato creato il file "debug_sha.txt" nella cartella Bin

12. copiate e eseguite il comando  "openssl base64 -in debug_sha.txt > debug_base64.txt"

13 è stato ora creato il fil "debug_base64.txt" in openssl/bin

14. finalmente ecco la vostra Key Hash, è contenuta all'interno del file "debug_base64.txt"

Ora la vostra chiave è pronta e potete usarla ad esempio per autorizzare le vostre Applicazioni a fare il login in Facebook.

 :-)
« Ultima modifica: 24 Novembre 2012, 11:59:12 CET da lucab »
Le occasioni arrivano una volta sola, se non le afferri al volo passeranno altri alla storia.

Offline MisterHide

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
0
Ciao, sono nuovo quindi perdonatemi se dico cavolate  :-)
Io non riesco ancora a capire questo discorso del keystore
cioè ho ottenuto la key hash copiando il file debug.keystore (o meglio indicando il percorso del file) in pratica ho scritto

keytool -exportcert -alias androiddebugkey -keystore "c:\documents and settings\admin\.android\debug.keystore" | C:\OpenSSL-Win32\bin\openssl sha1 -binary | C:\OpenSSL-Win32\bin\openssl base64

Così ho ottenuto solo la chiave di Debug?
e quindi come ottengo la chiave personale? non mi è chiaro il discorso del keystore personale, cioè dove lo prendo e qual'è il mio alias?
Vi prego aiutatemi a capire

Offline lucab

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +10
    • Mostra profilo
    • Lucabportal
  • Dispositivo Android:
    Nexus 5 - Nexus One
  • Play Store ID:
    Luca Biasotto
  • Sistema operativo:
    Mac OS X
+1
Ciao, sono nuovo quindi perdonatemi se dico cavolate  :-)
Io non riesco ancora a capire questo discorso del keystore
cioè ho ottenuto la key hash copiando il file debug.keystore (o meglio indicando il percorso del file) in pratica ho scritto

keytool -exportcert -alias androiddebugkey -keystore "c:\documents and settings\admin\.android\debug.keystore" | C:\OpenSSL-Win32\bin\openssl sha1 -binary | C:\OpenSSL-Win32\bin\openssl base64

Così ho ottenuto solo la chiave di Debug?
e quindi come ottengo la chiave personale? non mi è chiaro il discorso del keystore personale, cioè dove lo prendo e qual'è il mio alias?
Vi prego aiutatemi a capire

Ciao,
di preciso cosa devi fare? usare le API di facebook o semplicemente creare un APK?

Quando sviluppi un applicazione, per distribuirla (ad esempio ad altre persone o su google play) devi creare un pacchetto ".apk", per creare questo pacchetto è necessario firmarlo usando un keystore personale. Questo keystore serve a identificare chi ha sviluppato l'applicazione.
Se devi fare solo delle app di prova questo keystore ha poca importanza, diventa invece fondamentale quando distribuisci le tue app (ad esempio su google play). Infatti una volta rilasciata un app tutti i successivi aggiornamenti dovranno essere firmati con lo stesso keystore, se non è così l'aggiornamento non viene riconosciuto.

Il keystore di debug è invece un keystore che eclipse genera quando installi una app direttamente da eclipse (facendo "run" per capirsi), senza creare il pacchetto APK. Questo è un keystore di debug che si crea eclipse, non è associato a te.

Questa guida invece spiega come creare un key Hash a partire da un key store, il key hash è un codice che può servirti per diversi motivi, ad esempio per usare le API di facebook in una tua applicazione.

Erano questi i tuoi dubbi?
Le occasioni arrivano una volta sola, se non le afferri al volo passeranno altri alla storia.

Offline MisterHide

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
0
Innanzitutto ti volevo ringraziare per avermi risposto.
Si in effetti sto "cercando" di realizzare un app che sfrutta le api di Facebook (Con molte difficoltà ... ma qualcosa sto risolvendo)
Quindi per il momento mi va bene la keystore di debug giusto?
Ma quando poi dovrò (speriamo presto) distribuire la mia applicazione, come farò ad ottenere la mia keystore?
E una volta ottenuta la keystore personale, dovrò generare un' altra key hash?
Scusa le tante domande, ma con Android non ci vado ancora molto daccordo. :-)

grazie ancora.

Offline lucab

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +10
    • Mostra profilo
    • Lucabportal
  • Dispositivo Android:
    Nexus 5 - Nexus One
  • Play Store ID:
    Luca Biasotto
  • Sistema operativo:
    Mac OS X
0
Innanzitutto ti volevo ringraziare per avermi risposto.
Si in effetti sto "cercando" di realizzare un app che sfrutta le api di Facebook (Con molte difficoltà ... ma qualcosa sto risolvendo)
Quindi per il momento mi va bene la keystore di debug giusto?
Ma quando poi dovrò (speriamo presto) distribuire la mia applicazione, come farò ad ottenere la mia keystore?
E una volta ottenuta la keystore personale, dovrò generare un' altra key hash?
Scusa le tante domande, ma con Android non ci vado ancora molto daccordo. :-)

grazie ancora.

Figurati  ;-)
Il tuo keystore è molto semplice da creare, quando da eclipse fai "File - esporta" c'è un wizard che ti guida nella creazione dell'apk, se non hai un keystore te ne fa creare uno nuovo (basta che scegli una mail, un nome e una password e una data di scadenza). Ricordati di salvartelo bene!!
Qui trovi la documentazione ufficiale: http://developer.android.com/tools/publishing/publishing_overview.html se hai problemi cercando come si pubblica un app, in google o qui nel forum, trovi sicuramente qualche guida semplice da seguire.

E una volta ottenuta la keystore personale, dovrò generare un' altra key hash?
Esatto, la key hash che usano le api di facebook (per verificare l'identità di chi le usa) è legata al keystore....quindi nel momento in cui crei un tuo keystore devi usare il  key hash del tuo keystore.

APK pubblicato in google play: tuo keystore + key hash del tuo keystore
APK caricata nello smartphone/emulatore da eclipse: keystore di debug (creato da eclipse) + key hash del keystore di debug

Spero di essere spiegato abb bene!
Le occasioni arrivano una volta sola, se non le afferri al volo passeranno altri alla storia.

Offline MisterHide

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
0
Grazie mille, a buon rendere. :-)

Offline warko

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    galaxy S2
  • Sistema operativo:
    windows 7
0
minchia che fatica!

ma una roba più complicata non potevano inventarla?!

grazie 1000   +1 =)

Offline Anto_Nio

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG OPTIMUS 9
  • Sistema operativo:
    Windows 7
0
Ciao a tutti!
riapro la discussione perché credo di avere qualche problemuccio,
allora ho creato la mia key personale, ho inserito l'hash base64 ricavato nella mia applicazione facebook, ma quando vado a generare l'apk effettuando il login, questo non riesce, o meglio mi chiede i permessi dell'applicazione ma poi mi considera come se non fosse loggato, quindi non riesco a ricevere nessun dato da parte di fb ( sto usando il progetto di esempio Hackbook che era negli esempi del pacchetto phonegap-facebook-plugin-master, naturalmente modificando l'app_id).
Ciò che mi domando a questo punto è... non è che devo inserire la mia chiave all'inerno di qualche cartella nel mio progetto eclipse?
Sta roba mi sta davvero facendo impazzire..

Post unito: 08 Luglio 2013, 13:27:09 CEST
ok ce l'ho fatta,
dovevo esportare l'apk (attraverso la funzione export di eclispe) associando la chiave e caricare il file nel telefono, adesso funziona!
scusate la stupidata che ho detto.

Antonio
« Ultima modifica: 08 Luglio 2013, 13:27:09 CEST da Anto_Nio, Reason: Merged DoublePost »

Offline Pia12

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
0
scusa potresti spiegarmi meglio come hai risolto il problema in quanto anche a me capita la stessa cosa... anche se mi faccio il login non mi interagisce con facebook. grazie