Firmar aplicaciones para Windows 8 Metro
Posted: Sat Mar 24, 2012 12:37 pm
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:
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"
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:
"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)
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"
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)