Pregunta

Cómo puedo asegurarme de que sólo mi aplicación para el iphone se permitirá el uso de mi app engine aplicación para enviar y recibir datos?Probablemente tengo uso de una clave secreta, pero no sé cómo.Puedo usar post/get para enviar mi clave estática a través de https?O tengo que usar algunas dinámicas secreto algoritmo de clave?

Cualquier ayuda se agradece!Bjorn

¿Fue útil?

Solución

Suponiendo que usted piensa que puede mantener el secreto de la aplicación para el iPhone de ser descubierto, lo que necesita es una HMAC . Para cada petición que hagas, pase el texto de la solicitud en una función como HMAC-SHA1, con su clave secreta como la clave, y añadir el resultado a la solicitud que realice. Cuando el servidor recibe la solicitud, realizar la misma operación, y verificar que el partido HMAC.

Otros consejos

No estoy totalmente seguro de lo que yo está tratando de lograr.

Sin embargo, tener secretos compartidos o claves de la API dentro de su aplicación para el iPhone es generalmente una mala idea.

Usted está hablando de su propia aplicación de App Engine. ¿Por qué no crear un simple (basado JSON) servicio web en el lado AppEngine que sus conversaciones aplicación? Dudo que haya ninguna necesidad de utilizar directamente sus credenciales de AppEngine de su aplicación para el iPhone.

Si esto no responde a su pregunta, por favor proporcionar más detalles.

El uso de un certificado SSL en su web de servicio de datos transferidos a esta cifrada.

Una conexión SSL encriptada requiere toda la información enviada entre el cliente y un servidor cifrado de la software para el envío y descifrados por el la recepción de software, la protección privada información de intercepción sobre el Internet.

También en cada llamada al servicio de envío de un único guid que se han definido junto con sus datos.Este guid tiene que ser validada antes de que el servicio web realiza ninguna acción.Para bloquear aún más lejos, se puede crear un servicio que genera un guid que debe ser aprobada de nuevo para posteriores llamadas de servicio.

También asegúrese de que usted no permite a nadie a ver a su wsdl en el servidor de los demás pueden adivinar sus parámetros.

Un SSL ceritifcate de RapidSSL cuesta $17 al año por lo que el costo no es nada para preocuparse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top