2010-12-23 25 views
7

Estoy a punto de implementar una aplicación ClickOnce para uso interno. Personalmente entregaré la aplicación a un grupo confiable de usuarios. Entiendo que es posible firmar el manifiesto de ClickOnce, pero ¿existe la necesidad de que el usuario confíe en la fuente?ClickOnce: ¿Tengo que firmar el manifiesto y el ensamblado de ClickOnce?

¿Cuáles son los inconvenientes de no firmar el manifiesto o el ensamblado?

Respuesta

7

Deberá firmar el manifiesto, pero no es necesario firmar el ensamblaje. Debe firmar el manifiesto para que ClickOnce pueda identificar de forma única la instalación (puede instalar la aplicación dos veces firmando la aplicación con dos claves diferentes).

Si solo está haciendo una aplicación interna, su certificado puede ser simplemente un certificado que cree, no tiene que ser de confianza.

El único beneficio de firmar ensamblajes sería que ClickOnce puede optimizar la descarga y almacenar ensamblajes fuertemente firmados fuera del almacenamiento aislado de las aplicaciones y compartir el ensamblado en múltiples aplicaciones. Por ejemplo, si tiene dos aplicaciones que usan la misma versión de NHibernate, ClickOnce solo descargará los ensamblados una vez.

+0

Gracias por la información. Presumiblemente, ¿la opción de 'crear certificado de prueba' sería la opción de usar para crear la mía? – Sergio

+0

Eso debería hacer surfice. Una cosa a tener en cuenta si no está usando .net 4.0 es que si cada cambio de certificado no podrá actualizar las instalaciones existentes, ClickOnce lo verá como una nueva instalación. – Bronumski

+2

Eso no es estrictamente cierto. Puede cambiar el certificado impunemente si está usando .NET 3.5 o .NET 2.0 con SP-1, y está usando actualizaciones automáticas. La otra razón para firmar la implementación es que la firma se marca cuando se realizan las actualizaciones y en el momento de la instalación, y si no está bien, puede indicar que se han producido errores en los archivos. Por lo tanto, no instalará una actualización que haya sido secuestrada o reemplazada por alguien (como con el malware). – RobinDotNet

Cuestiones relacionadas