Page 1 of 1

Firmar aplicaciones para Windows 8 Metro

PostPosted: Sat Mar 24, 2012 12:37 pm
by Antonio Linares
Para quienes hayan comenzado a estudiar el desarrollo de aplicaciones para iPhone/iPad recordareis lo complejo que es (pues no estamos acostumbrados) el firmar las aplicaciones y todo el tema de los certificados. Bueno, la noticia es que en Windows 8 Metro es obligatorio el firmar las aplicaciones tambien.

He estado varios dias aprendiendo el proceso para Windows 8 Metro. Para desarrollo, Windows nos permite generar un certificado de autoridad falso (nosotros no somos ninguna entidad oficial de certificación) y usando este certificado, generar un certificado personal para firmar nuestras aplicaciones (esto solo sirve para nuestro ordenador de desarrollo. Para nuestros clientes habrá que usar un certificado de autoridad real).

1. Crear un falso "Trusted root Certification authority"

2. Crear un certificado personal "autorizado" por el previo certificado

Usando un batch gocert.bat:
Code: Select all  Expand view
c:\"Program Files (x86)\Windows Kits"\8.0\bin\x86\makecert -n "CN=fivetechauthority" -sr currentuser -ss root -a sha1 -cy authority -r -sk fivetechauthority.cer
c:\"Program Files (x86)\Windows Kits"\8.0\bin\x86\makecert -n "CN=fivetech" -sr currentuser -ss my -cy end -sky exchange -a sha1 -is root -ir currentuser -in fivetechauthority -sk fivetech.cer

Hay varias formas de comprobar que ha funcionado bien. Desde Internet Explorer podemos revisar "Opciones de Internet", "Contenido", "Certificados". Aqui "fivetechauthority" aparece como una autoridad de certificación, y tambien tenemos un certificado personal "autorizado" por "fivetechauthority" :-)

Image

Image

El paso final es comprobar el "thumbprint" de nuestro certificado personal, pues se necesita para firmar las aplicaciones. Usamos Windows "powershell" para inspeccionar nuestros certificados:
Code: Select all  Expand view
c:\>powershell
Windows PowerShell
Copyright (C) 2011 Microsoft Corporation. All rights reserved.

PS C:\> dir cert:\currentuser\my

    Directory: Certificate::currentuser\my

Thumbprint                                Subject
----------                                -------
1CAE9F6CEA30F8EBB2A78FBDC720F90770FB79B4  CN=fivetech

PS C:\> exit

c:\>


"C:\program files (x86)\Windows Kits\8.0\bin\x64\signtool.exe" sign /fd sha256 /sha1 1CAE9F6CEA30F8EBB2A78FBDC720F90770FB79B4 MyApp.appx
(si, nombre nuevo para nuestras aplicaciones tambien. Más en próximos posts) :-)

Re: Firmar aplicaciones para Windows 8 Metro

PostPosted: Sat Mar 24, 2012 12:56 pm
by manuelcalerosolis
Antonio, interesante investigación.

Esos certificados reales seguro q hay q pagar algo a Microsoft, mucho animo para ir haciéndonos accesible en nuevo api de Windows8.

Saludos

Re: Firmar aplicaciones para Windows 8 Metro

PostPosted: Sat Mar 24, 2012 1:31 pm
by lucasdebeltran
Antonio,

Muchas gracias.

Antonio, ¿váis a desarrollar Fivewin para Windows 8 que cree aplicaciones nativas con Metro?.

Aprovecho también para preguntarte sobre el estado de Fiveweb.

Como siempre, abriendo las ventanas al futuro ;).

Un saludo

Re: Firmar aplicaciones para Windows 8 Metro

PostPosted: Wed Mar 28, 2012 3:56 am
by AIDA
Hola Antonio

Las aplicaciones viejitas en fivewin ya no funcionaran en ese Windows 8 :evil: sin esos sertificados :?: :?:


Saluditos :wink:

Re: Firmar aplicaciones para Windows 8 Metro

PostPosted: Wed Mar 28, 2012 8:36 am
by Antonio Linares
Aida,

Si funcionan, lo que ocurre es que todos los sistemas operativos se van volviendo más y más restrictivos para aumentar la seguridad.

Por ejemplo, en la reciente versión de Mountain Lion de Apple, el usuario ya puede elegir desde las opciones del sistema (lo que sería el panel de control de Windows) si quiere bloquear las aplicaciones que no esten firmadas.

Esto es algo a lo que vamos a tener que ir acostumbrándonos... :-)