Skip to content
Christian Gastrell edited this page Jul 21, 2015 · 5 revisions

Generacion de una private key

La private key, o llave privada, es un archivo encriptado que representa la entidad responsable por la aplicacion, como una persona o una empresa. Se genera en base a algoritmos de encriptacion y no puede volver generarse una igual, si se pierde habra que firmar la aplicacion con otra llave.

La llave se guarda en un archivo keystore

Keystore

El archivo keystore es un archivo binario que almacena una serie de keys, puede estar protegido por una clave y no debe perderse ya que, como mencionamos antes, si se pierde una key no puede generarse una igual.

Keytool

Necesitamos utilizar la aplicacion keytool. keytool viene con el paquete de Java Runtime Environment (JRE) que instalamos como parte de los requerimientos para poder desarrollar este curso.

El uso de keytool es:

keytool -genkey -v -keystore mi.keystore -alias alias_llave -keyalg RSA -keysize 2048 -validity 10000

Descripcion de parametros

  • -genkey: keytool tiene varias aplicaciones, con este parametro indicamos que queremos generar una key
  • -v: verbose
  • -keystore nombre de archivo.keystore: usando este parametro podemos indicar el nombre del archivo keystore que se generara
  • -alias nombre de alias: cada llave almacenada en el keystore puede tener un alias, una manera de referirnos a esa llave
  • -keyalg algoritmo: el algoritmo que se usara para generar la key, en este caso usamos RSA que es lo indicado por las guias de Google
  • -keysize tamaño: es el tamaño en bits de la key
  • -validity dias: cantidad de dias por los cuales sera valida la key

Ahora bien, como vimos, la aplicacion keytool se encuentra en el paquete JDK/JRE, para ejecutarla necesitaremos tipear la ruta completa hasta el archivo keytool.exe. Para hacer las cosas mas faciles vamos generarnos un archivo .bat que ejecute toda la ruta por nosotros.

Generen un archivo keytool.bat en el directorio raiz del proyecto (donde se encuentra www) y peguen esto dentro:

"%JAVA_HOME%"\jre\bin\keytool %*

Basicamente lo que hace es ejecutar el archivo keytool y pasarle todos los parametros que indiquemos. De esta manera podemos ejecutar la linea que mencionabamos antes para poder obtener nuestra key. Ahora podemos ejecutar keytool.exe directamente desde nuestro proyecto.

En nuestro caso el comando sera algo como:

keytool -genkey -v -keystore irec.keystore -alias irec -keyalg RSA -keysize 2048 -validity 10000

Si ejecutamos este comando la aplicacion nos preguntara una serie de datos que debemos contestar lo mas preciso y prolijo posible. Algunos de estos datos son los que apareceran como detalles en el store.

A traves de las preguntas hay 2 ocasiones en las cuales nos pedira un password. Uno sera para el key alias que estamos generando dentro del keystore, y la otra sera para el key alias. Deben recordar estos passwords y para que estemos de acuerdo, usaremos ireccurso en ambas ocasiones.

Una vez creado el archivo, pueden ver la informacion que contiene el keystore:

keytool -list -rfc -keystore [NOMBRE_DEL_ARCHIVO_KEYSTORE]

Terminado este paso podemos ver como firmar la aplicacion manualmente o a traves de Phonegap

  1. Repaso y conceptos basicos
  2. Ejercicios para repasar
  3. Problematica de desarrollo mobile
  4. Phonegap
  5. Requerimientos e instalacion
  6. Phonegap CLI
  7. [Primeros ejercicios con Phonegap](Ejercicio Phonegap)
  8. Plugins
  9. Hello world
  10. Estructura de un proyecto Phonegap
  11. Plugin Device
  12. Debugging
  13. Incorporando un framework CSS
  14. Plugin Vibration
  15. Sumando partes
  16. Plugin Battery Status
  17. Un poco de jQuery
  18. jQuery Mobile
  19. Navegacion
  20. Plugin Dashboard
  21. Revision de Plugin Dashboard
  22. Paginas extra
  23. ToDo
  24. Persistencia
  25. ToDo Persistente
  26. Plugin Camera
  27. Opciones de camara
  28. App Mi Galeria
  29. Revision de Galeria
  30. Plugin File
  31. Escribir y leer texto
  32. Escribir archivos binarios
  33. Guardando fotos
  34. Debugger: weinre
  35. Inspeccionar con weinre
  36. Phonegap Developer App
  37. Refactor de apps
  38. Plugin Media
  39. Pruebas con audio
  40. Control y monitoreo de audio
  41. Encapsular play/pausa
  42. Hacks
  43. Formato de tiempos
  44. Grabar y reproducir
  45. Proyecto Integrador
  46. Revision de interfaz
  47. Interfaz basica
  48. Entrevista: modelo
  49. Funcionalidad: revision
  50. Seleccion de framework
  51. iRec: navegacion
  52. iRec: fileApi
  53. iRec: guias
  54. iRec: entrevistas
  55. iRec: recordApi
  56. iRec: helpers
  57. iRec: mediaApi
  58. iRec: inicializar paginas
  59. iRec: refactor
  60. iRec: mediaApi refactor
  61. iRec: recordApi refactor
  62. iRec: helpers
  63. iRec: guias.js
  64. iRec: entrevistas.js
  65. iRec: crear guias
  66. iRec: re-inicializando
  67. iRec: re-ordenando
  68. iRec: pendientes
  69. iRec: reporte ux
  70. iRec:revision: volver
  71. iRec:entrevista: volver
  72. iRec:revision: cambios
  73. iRec:revision: stop
  74. iRec:revision: Rew 10"
  75. iRec:revision: tag Go
  76. iRec: limpieza
  77. Firma de apps
  78. Android
  79. Generacion de key
  80. Firma de apk
  81. Alineacion de zip
  82. Firmar con Phonegap
  83. iOS
  84. Detalles finales
  85. Config.xml
  86. Iconos
  87. Splash
Clone this wiki locally