¿Error de certificado? Firma tus aplicaciones Symbian

¿Alguna vez has estado buscando una aguja en un pajar? ¿De veras? ¿Y qué tal? A no ser que quieras cazar este dicho popular, no vas a quemar el granero para averiguarlo. Pasa algo parecido con las aplicaciones Symbian. No vas a vagar largas horas por la red buscando esa aplicación tan deseada, entras directamente a Softonic y por un puñado de clics encuentras la flor y nata.

Pero entre la flor y nata encuentras también aplicaciones con espinas o que no están a punto chantilly. Hablo de esas aplicaciones Symbian que no están firmadas por sus desarrolladores y, por consiguiente, sólo arrojan mensajes de error cuando tratas de instalarlas en tu móvil con Symbian. Va todo sobre ruedas y de repente, ¡zas!,… un mensaje de error da al traste con tu anhelo de probar la aplicación en tu móvil. No se instala. Te dice que no está firmada,… ¿Qué está pasando?

Respira hondo, a todos nos ha pasado, no sirve de nada despachurrar tu móvil o usarlo como proyectil. Todo percance tiene su explicación, por muy puñetero que sea. Lo que pasa es que a partir de la versión 9 de Symbian se ha introducido un mecanismo de seguridad llamado Symbian Signed. Este mecanismo sólo afecta a las aplicaciones que requieren tener acceso a las capacidades no autorizadas del sistema. Por razones de seguridad obvias, Symbian exige que esas aplicaciones superen sus criterios de seguridad, entendiéndose como una garantía para el usuario final.

O sea, una garantía de seguridad para mí, para ti y para todos los que usamos un móvil con el sistema Symbian S60 de tercera generación. Lo que significa que no es necesario tener una aplicación firmada para las versiones del sistema anteriores a la 9.x, tampoco para las aplicaciones J2ME ni tampoco en el 100% de las aplicaciones diseñadas para S60 3rd o UIQ 3.x; esto depende del uso que la aplicación hace de la API de Symbian. En cualquier caso, si al instalar una aplicación en tu móvil te arroja un error de certificado, es que la aplicación no está firmada por su autor,… y sin firma no hay recreo. Dicho en otras palabras: no se instalará ni con una palanqueta de bolsillo.

¿Pero por qué no está firmada? Has hecho la pregunta correcta, pequeño saltamontes. Vamos a recapitular: no todas las aplicaciones deben estar firmadas, sólo para S60 3rd, siempre y cuando la aplicación requiere para funcionar acceso a las capacidades no autorizadas de la API de Symbian. Vale… ¿y quién debe firmarlas? Symbian, pero el proceso lo tiene que iniciar el programador de la aplicación. ¿Entonces? Si bien el desarrollador puede asociarla al IMEI de su móvil (un número de identificación único a cada dispositivo móvil) para hacer pruebas durante la fase de desarrollo, necesita una firma pública para poder iniciar su distribución e instalación en cualquier móvil.

Para ello necesita un Publisher ID que cuesta 200$ al año, gratis si la aplicación es de libre distribución, y una buena dosis de paciencia ya que el proceso suele tardar unos seis meses o más; incluye el envío de la aplicación a un centro autorizado de testeo para comprobar que supera todos los criterios de seguridad de Symbian. Total, que le toca al programador firmar sus aplicaciones, pero… hasta hace poco existía un método que permitía firmar un programa con ayuda de un certificado extendido por Symbian. ¿Cuál es el problema? Pues, Symbian ya no concede ningún certificado hasta nuevo aviso. Así que, si no tienes un certificado asociado al IMEI de tu móvil, simplemente no podrás firmarla, a no ser que el autor haya creado una versión OpenSigned.

Más adelante, me extenderé largo y tendido sobre esto de las versiones OpenSigned. La otra opción es esperar sentado porque lo más probable es que el autor del programa que quieres firmar esté abismado en un largo, costoso y tedioso proceso de solicitud de certificado/firma al todopoderoso Symbian. Desgraciadamente, como éste no espabile y ponga el meollo a trabajar ofreciendo nuevamente su servicio de concesión de certificados online, seguiremos en las mismas… sin nuestras aplicaciones firmadas.

Pero no te vayas, aún así existe una brecha en el sistema de firmas… Si bien la mayoría de las aplicaciones no firmadas están en pañales, suelen ser las más interesantes y ahí están para que las probemos… ¿o no? Otra vez resumimos: como no tengas un certificado asociado al IMEI de tu móvil o una Publisher ID, tendrás que recurrir a otros métodos menos ortodoxos para firmar la aplicación. Y con suerte, será rápido e indoloro. Así pues… ¿qué puedes hacer si quieres instalar en tu móvil Symbian S60 3rd un programa que no está firmado,… llamas al servicio de atención al cliente del agarrado Symbian, o vas a encargar un trabajito a algún que otro hacker chino? Pues, la desesperación te llevará probablemente a considerar ambas opciones.

Existen varios métodos de autofirmado. Si no te funciona uno siempre puedes probar otro, y si no funciona… paciencia que saldrá algo. Puedes firmar una aplicación que inicialmente no lo está de fábrica, pero que sepas que es para tu uso personal, es decir, que correrá sólo en tu móvil ya que va asociado a su IMEI que, recordémoslo, es único. El primer método nos lo ofrece el mismísimo Symbian a través de su servicio Open Signed Online. No requiere ningún tipo de certificado asociado al IMEI del móvil pero está pensado para que los autores puedan probar sus aplicaciones en fase de desarrollo. De ahí que no siempre funciona. Una vez más, si el desarrollador firma su aplicación, ésta estará vinculada a un UID protegido, es decir a un número de identificación.

Así pues, el método se tuerce una vez más porque sólo se pueden firmar aplicaciones que no tengan un UID protegido. De lo contrario, a no ser que sea el desarrollador de la aplicación quien te la firme, no habrá manera de usarla en tu móvil. Menos mal, este giro inesperado tiene un arreglo. Algunos programadores están resolviendo este problema echando mano de un editor hexadecimal, dando luz a versiones OpenSigned de sus aplicaciones, como en el caso de RotateMe, por ejemplo. Es decir, editando el fichero de la aplicación se solventa el tema del UID protegido. Tengo un móvil N95 con sensor de movimiento, así que si os parece vamos a probar el método Open Signed Online con la versión OpenSigned de RotateMe, una aplicación que rota la pantalla al girar el móvil. Descárgate la versión OpenSigned de RotateMe.

Open Signed Online

  • Ve a Open Signed Online para firmar gratuitamente online el programa sin necesidad de registrarte.
  • Obtén el código IMEI del móvil, se obtiene pulsando *#06#, apunta e introdúcelo en el formulario.
  • Introduce una dirección de correo electrónico (que no sea Hotmail, yahoo o gmail ya que no las acepta).
  • Selecciona el fichero de la aplicación para subirla; tiene que ser una versión sin UID protegida.
  • En el apartado “Capability information”, tienes que marcarlas todas (capacidades no autorizadas del sistema).
  • Introduce el código de seguridad.
  • Recibirás un mensaje de correo electrónico de confirmación y otro con el enlace de descarga de la aplicación firmada.

Si has seguido a rajatabla este método, conecta tu terminal al tu PC e instala RotateMe en tu móvil. Para disfrutar de esta aplicación necesitas un móvil con un sensor de movimiento activado, como es el caso del Nokia N95, N931 o el N82. Nuestra prueba ha sido un éxito, pero sólo funciona con la última versión de RotateMe, es decir la versión OpenSigned. Si has probado con otra aplicación que tiene una UID protegida, obtendrás el siguiente error en pantalla:

FAILURE: Submitted .sis file uses a UID that is not allocated to the account holder matching this email address (0x200087b5).

Recopilando datos, y después de haber hecho una serie de pruebas, os puedo decir que el método Open Signed Online es eficaz con las aplicaciones ShakeMe, Shakelock, Gnubox, InsFAST, Landscape, RocknScroll, Flipsilent, Pen +C o BTSwitch. En los demás casos, necesitarás un certificado de desarrollador asociado al IMEI de tu móvil, o echarle valor probando otros de los métodos más arriesgados y complejos que pasaré a detallarte en la siguiente entrega sobre errores de certificado con aplicaciones Symbian S60 3rd. No te impacientes, está la vuelta de la esquina. 😉

Cargando comentarios