Firma de un paquete de la aplicación de Windows 10

La firma del paquete de la aplicación es un paso necesario en el proceso de creación de un paquete de la aplicación de Windows 10 que se puede implementar. Windows 10 requiere que todas las aplicaciones estén firmadas con un certificado de firma de código válido.

Para instalar correctamente una aplicación de Windows 10, el paquete no solo tiene que estar firmado, sino también ser de confianza en el dispositivo. Esto significa que el certificado tiene que encadenarse a una de las raíces de confianza en el dispositivo. De forma predeterminada, Windows 10 confía en los certificados de la mayoría de las entidades de certificación que proporcionan los certificados de firma de código.

Además, si va a crear una agrupación MSIX, no es necesario firmar todos los paquetes del lote individualmente. Solo es necesario firmar la agrupación y todos los paquetes dentro de se firman de forma recursiva.

Tema Descripción
Requisitos previos para la firma En esta sección se describen los requisitos previos necesarios para firmar el paquete de la aplicación de Windows 10.
Uso de SignTool En esta sección se describe cómo usar SignTool, del SDK de Windows 10, para firmar el paquete de la aplicación.
Firma de un paquete MSIX con firma de Device Guard En esta sección se describe cómo firmar la aplicación con la firma de Device Guard.
Creación de paquetes sin firmar para pruebas En esta sección se describe cómo crear un paquete msix sin firmar.

Marca de tiempo

Se recomienda encarecidamente usar la marca de tiempo al firmar la aplicación con un certificado. La marca de tiempo conserva la firma que permite que la plataforma de implementación de aplicaciones acepte el paquete de la aplicación incluso después de que el certificado haya expirado. Al inspeccionar el paquete, la marca de tiempo permite que se valide la firma del paquete en relación a la hora en que se firmó. Esto permite que los paquetes se acepten incluso después de que el certificado deje de ser válido. Los paquetes que no tienen ninguna marca de tiempo se evaluarán con la hora actual y si el certificado ya no es válido, Windows no los aceptará.

Estos son los diferentes escenarios de la firma de la aplicación con o sin marca de tiempo:

Escenario Aplicación firmada sin marca de tiempo Aplicación firmada con marca de tiempo
El certificado es válido. La aplicación se instalará. La aplicación se instalará.
El certificado no es válido (ha expirado). Se producirá un error al instalar la aplicación. La aplicación se instalará, ya que la autenticidad del certificado se verificó cuando la autoridad de marca de tiempo realizó la firma.

Nota

Si la aplicación se instala correctamente en un dispositivo, continuará ejecutándose incluso después de la expiración del certificado, independientemente de que tenga una marca de tiempo o no.

Cumplimiento de la integridad de los paquetes

Además de garantizar que solo se instalen aplicaciones de confianza en un dispositivo, una ventaja adicional de firmar un paquete MSIX es que permite a Windows aplicar la integridad del paquete y su contenido después de implementarlo en un dispositivo. Al encadenar al AppxBlockMap.xml y AppxSignature.p7x en un paquete firmado, Windows puede realizar comprobaciones de validación en la integridad de un paquete y su contenido en tiempo de ejecución y durante Windows Defender exámenes. Si se considera que un paquete está alterado, Windows bloqueará el inicio de la aplicación y iniciará un flujo de trabajo de corrección para que el paquete se repare o vuelva a instalar. En el caso de los paquetes que no se distribuyen a través de Microsoft Store, se aplica la integridad del paquete si el paquete declara el elemento uap10:PackageIntegrity y se implementa en Windows 2004 y versiones posteriores. A continuación se muestra una declaración de ejemplo de aplicación de integridad de paquetes en el AppxManifest.xml:

<Package ...
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"  
IgnorableNamespaces="uap10">
...
  <Properties>
    <uap10:PackageIntegrity>
      <uap10:Content Enforcement="on" />
    </uap10:PackageIntegrity>
  </Properties>
...
</Package>

Modo del dispositivo

Windows 10 permite a los usuarios seleccionar el modo en que se ejecuta su dispositivo en la aplicación de configuración. Los modos son Aplicaciones de Microsoft Store, Transferir localmente aplicaciones y Desarrollador.

Aplicaciones de Microsoft Store es la forma más segura, ya que solo permite la instalación de aplicaciones de Microsoft Store. Las aplicaciones de Microsoft Store pasan por un proceso de certificación para asegurarse de que el uso de las aplicaciones sea seguro.

Las aplicaciones de transferencia local y el modo desarrollador son más permisivas de las aplicaciones firmadas por otros certificados, siempre que esos certificados sean de confianza y se encadene a una de las raíces de confianza del dispositivo. Selecciona el modo Desarrollador solo si eres un desarrollador y compilas o depuras aplicaciones de Windows 10. Puedes encontrar más información sobre el modo Desarrollador y lo que proporciona aquí.

Nota

A partir de Windows 10 versión 2004, la opción Sideload está activada de forma predeterminada. Como resultado, el modo de desarrollador es ahora un botón de alternancia. Las empresas todavía pueden desactivar la instalación de prueba a través de la directiva.