Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Si desea publicar una aplicación mediante la implementación de ClickOnce, los manifiestos de aplicación e implementación deben firmarse con un par de claves pública o privada y firmarse mediante la tecnología Authenticode. Puedes firmar los manifiestos mediante un certificado del almacén de certificados de Windows o un archivo de clave.
La información de este artículo solo se aplica si usa .NET Framework 4.8.1 o versiones anteriores. Si usa .NET 5 o posterior, siga los pasos descritos en Implementación de una aplicación de escritorio de Windows de .NET mediante ClickOnce.
La firma de los manifiestos ClickOnce es opcional para las aplicaciones basadas en .exe. Para obtener más información, vea la sección "Generar manifiestos sin firmar" de este documento.
Para obtener información sobre cómo crear archivos de clave, vea How to: Create a public-private key pair (Cómo: Crear un par de claves pública y privada).
Para obtener información sobre cómo firmar ensamblados y manifiestos de aplicación, consulte Administración de la firma de ensamblados y manifiestos.
Nota:
Visual Studio solo admite archivos de claves de Intercambio de información personal (PFX) que tienen la extensión .pfx . Sin embargo, puedes seleccionar otros tipos de certificados en el almacén de certificados de Windows del usuario actual haciendo clic en Seleccionar en Almacén en la página Firma de propiedades del proyecto.
Firmar con un certificado
Para usar este método, debe tener un certificado firmado por una entidad de certificación (CA). Los certificados son emitidos por proveedores de servicios de certificación de terceros o por organizaciones autorizadas dentro de una empresa.
Vaya a la ventana propiedades del proyecto (haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones y seleccione Propiedades). En la pestaña Firma , active la casilla Firmar los manifiestos ClickOnce .
Haga clic en el botón Seleccionar de la tienda de aplicaciones.
Aparece el cuadro de diálogo Seleccionar un certificado y muestra el contenido del almacén de certificados de Windows.
Sugerencia
Si hace clic en Haga clic aquí para ver las propiedades del certificado, aparecerá el cuadro de diálogo Detalles del certificado. Este cuadro de diálogo incluye información detallada sobre el certificado y opciones adicionales. Haga clic en Certificados para ver información adicional de ayuda.
Seleccione el certificado que desea usar para firmar los manifiestos.
Sugerencia
Si no hay ningún certificado en el almacén, puede seguir firmando con un certificado de prueba.
Además, puede especificar la dirección de un servidor de marca de tiempo en el cuadro de texto URL del servidor de marca de tiempo. Se trata de un servidor que proporciona una marca de tiempo que especifica cuándo se firmó el manifiesto. Normalmente lo proporciona el mismo tercero que ofrece certificados firmados por una ENTIDAD de certificación.
Firmar con un archivo de clave existente
En la página Firma , active la casilla Firmar los manifiestos ClickOnce .
Haga clic en el botón Seleccionar en archivo.
Aparece el cuadro de diálogo Seleccionar archivo .
En el cuadro de diálogo Seleccionar archivo , vaya a la ubicación del archivo de clave (.pfx) que desea usar y, a continuación, haga clic en Abrir.
Nota:
Esta opción solo admite archivos que tienen la extensión .pfx . Si tiene un archivo de clave o un certificado en otro formato, almacénelo en el almacén de certificados de Windows y seleccione el certificado se describe en el procedimiento anterior. El propósito del certificado seleccionado debe incluir la firma de código.
Aparece el cuadro de diálogo Escribir contraseña para abrir el archivo . (Si el archivo .pfx ya está almacenado en el almacén de certificados de Windows o no está protegido con contraseña, no se le pedirá que escriba una contraseña).
Escriba la contraseña para acceder al archivo de clave y, a continuación, seleccione Entrar.
Seleccione Más detalles... para ver las propiedades del certificado. ClickOnce muestra el valor del campo Asunto como publicador cuando muestra el certificado cuando un usuario instala la aplicación. Este es un ejemplo de lo que ve el usuario cuando se instala la aplicación ClickOnce:
Nota:
El archivo .pfx no puede incluir información de encadenamiento de certificados. Si lo hace, se producirá el siguiente error de importación: No se encuentra el certificado y la clave privada para el descifrado. Para quitar la información de encadenamiento de certificados, puede usar Certmgr.msc y deshabilitar la opciónIncluir todos los certificados al exportar el archivo *.pfx.
Firmar mediante un certificado de prueba
Los certificados de prueba no están firmados por una entidad de certificación (CA) y solo se deben usar con fines de prueba. Para obtener más información sobre los certificados de prueba, consulte Uso de entidades de certificación que ayudan a los usuarios.
En la página Firma , active la casilla Firmar los manifiestos ClickOnce .
Para crear un nuevo certificado para pruebas, haga clic en el botón Crear certificado de prueba .
En el cuadro de diálogo Crear certificado de prueba , escriba una contraseña para ayudar a proteger el certificado de prueba.
Nota:
Asegúrese de elegir sha256RSA como algoritmo de firma, a menos que tenga como destino .NET 2.0.
Generación de manifiestos sin firmar
La firma de los manifiestos ClickOnce es opcional para aplicaciones basadas en .exe
. Los procedimientos siguientes muestran cómo generar manifiestos ClickOnce sin firmar.
Importante
Los manifiestos sin firmar pueden simplificar el desarrollo y las pruebas de la aplicación. Sin embargo, los manifiestos sin firmar presentan riesgos de seguridad sustanciales en un entorno de producción. Considere la posibilidad de usar manifiestos sin firmar si la aplicación ClickOnce se ejecuta en equipos dentro de una intranet que está completamente aislada de Internet u otros orígenes de código malintencionado.
De forma predeterminada, ClickOnce genera automáticamente manifiestos firmados a menos que uno o varios archivos se excluyan específicamente del hash generado. En otras palabras, la publicación de la aplicación da como resultado manifiestos firmados si todos los archivos se incluyen en el hash, incluso cuando la casilla Firmar los manifiestos ClickOnce está desactivada.
Para generar manifiestos sin firmar e incluir todos los archivos en el hash generado
Para generar manifiestos sin firmar que incluyan todos los archivos en el hash, primero debe publicar la aplicación junto con manifiestos firmados. Por lo tanto, primero firme los manifiestos ClickOnce siguiendo uno de los procedimientos anteriores y, a continuación, publique la aplicación.
En la pestaña Firma , desactive la casilla Firmar los manifiestos ClickOnce .
En la pestaña Publicar , restablezca la versión de publicación para que solo haya disponible una versión de la aplicación. Desactive la casilla para Incrementar automáticamente la versión con cada publicación. De forma predeterminada, Visual Studio incrementa automáticamente el número de revisión de la versión de publicación cada vez que publica una aplicación. Para obtener más información, vea Cómo: Establecer la versión de publicación de ClickOnce.
Publique la aplicación. Visual Studio le indica que la aplicación se firmó con una clave diferente a la existente en el servidor y le pregunta si desea sobrescribirla. Elija sí.
Para generar manifiestos sin firmar y excluir uno o varios archivos del hash generado
En la página Firma, desactive la casilla de verificación de Firmar los manifiestos de ClickOnce.
En la pestaña Publicar , elija el botón Archivos de aplicación para abrir el cuadro de diálogo Archivos de aplicación y establezca hash enExcluir para los archivos que desea excluir del hash generado.
Nota:
Al excluir un archivo del hash se configura ClickOnce para deshabilitar la firma automática de los manifiestos, por lo que no es necesario publicar primero con manifiestos firmados, como se muestra en el procedimiento anterior.
Publique la aplicación.