Pergunta

Como posso ter certeza de que só o meu iphone app é permitido usar o meu aplicativo do google app engine para envio e recebimento de dados?Provavelmente vou ter que usar uma chave secreta, mas não sei como.Posso apenas usar post/get para enviar a minha chave estática através de https?Ou preciso usar algumas dinâmicas segredo algoritmo de chave?

Qualquer ajuda seria apreciada!Bjorn

Foi útil?

Solução

Supondo que você pense que pode impedir o segredo do aplicativo para iPhone de ser descoberto, o que você precisa é um Hmac. Para cada solicitação que você fizer, passe o texto da solicitação em uma função como o HMAC-SHA1, com sua chave secreta como chave e adicione o resultado à solicitação que você faz. Quando o servidor receber a solicitação, execute a mesma operação e verifique se o HMACS corresponde.

Outras dicas

Não sei ao certo o que você está tentando realizar.

Mas, ter compartilhado segredos ou teclas de API dentro do aplicativo para iPhone geralmente é uma má ideia.

Você está falando sobre seu próprio aplicativo de appingne. Por que você não cria um serviço Web simples (baseado em JSON) no lado do AppEngine com o qual seu aplicativo fala? Duvido que haja necessidade de usar diretamente as credenciais do AppEngine do aplicativo para iPhone.

Se isso não responder à sua pergunta, forneça mais detalhes.

Usar um certificado SSL em seu serviço da web de como os dados transmitidos para isso é criptografado.

Um criptografado SSL de ligação exige todas as informações enviadas entre o cliente e um servidor ser criptografada pelo software de envio de e descriptografados pelo recebimento do software, protegendo privado informações de interceptação sobre o A Internet.

Também em cada chamada para o serviço de envio de um único guid que você tenha definido, juntamente com os seus dados.Este guid deve ser validado antes de o serviço web de executar qualquer ação.Para bloquear ainda mais para baixo você pode criar um serviço que gera um guid que precisa ser passado de volta, por qualquer subsequente chamando o serviço.

Também certifique-se de que você não permitir que alguém veja o wsdl no servidor o mais que pode imaginar sua parâmetros.

Um SSL ceritifcate de RapidSSL custa r $17 um ano, de modo que o custo não é nada para se preocupar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top