Domanda

Come posso fare in modo solo il mio iphone app è consentito utilizzare la mia applicazione App Engine per l'invio e la ricezione di dati? Probabilmente ho di usare una chiave segreta, ma io non so come. Posso utilizzare postale / GET per inviare la mia chiave statica su HTTPS? O ho bisogno di usare un po 'di dinamica algoritmo a chiave segreta?

Qualsiasi aiuto sarebbe apprezzato! Bjorn

È stato utile?

Soluzione

Supponendo che si pensa di poter mantenere il segreto sul app iPhone di essere scoperto, quello che ti serve è un HMAC . Per ogni richiesta effettuata, passare il testo della richiesta in una funzione come HMAC-SHA1, con la vostra chiave segreta come la chiave, e aggiungere il risultato alla richiesta effettuata. Quando il server riceve la richiesta, effettuare la stessa operazione, e verificare che la partita HMAC.

Altri suggerimenti

Non sono del tutto sicuro di quello che anni stanno cercando di realizzare.

Ma, avendo segreti condivisi o chiavi API all'interno del vostro iPhone app è generalmente una cattiva idea.

Si sta parlando la propria applicazione AppEngine. Perché non creare un semplice (basato JSON) servizio Web sul lato AppEngine che il vostro colloqui App per? Dubito che ci sia alcun bisogno di utilizzare direttamente le credenziali AppEngine dal vostro iPhone app.

Se questo non risponde alla tua domanda, si prega di fornire ulteriori dettagli.

Usa un certificato SSL sul vostro servizio web, come tutti i dati passati a questo sono crittografati.

  

Una connessione SSL crittografato richiede   tutte le informazioni inviate tra un client   e un server per essere criptato da parte del   l'invio di software e decriptato dal   software di ricezione, proteggendo privato   informazioni da intercettazioni sul   Internet.

Anche su ogni chiamata al servizio di inviare un singolo GUID che è stato definito insieme con i vostri dati. Questo guid deve essere convalidato prima che il servizio Web esegue alcuna azione. Per bloccare giù ancora di più è possibile creare un servizio che genera un GUID che deve essere passato back up per qualsiasi servizio di chiamate successive.

Inoltre assicuratevi di non permettere a nessuno di vedere il tuo WSDL sul server altro possono intuire i parametri.

Un ceritifcate SSL da RapidSSL costa $ 17 a anno quindi il costo è nulla di cui preoccuparsi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top