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.
La firma de paquetes de aplicación es un paso necesario en el proceso de creación de un paquete de aplicación de Windows 10 que se puede implementar. Windows 10 requiere que todas las aplicaciones se firmen con un certificado de firma de código válido.
Para instalar correctamente una aplicación de Windows 10, el paquete no solo debe 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 certificados de la mayoría de las entidades de certificación que proporcionan certificados de firma de código.
Además, si va a crear un paquete MSIX, no es necesario firmar todos los paquetes del lote individualmente. Solo el paquete necesita ser firmado, y todos los paquetes dentro 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 aplicación de Windows 10. |
Uso de SignTool | En esta sección se describe cómo usar SignTool desde el SDK de Windows 10 para firmar el paquete de la aplicación. |
Firmar un paquete MSIX con la 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 el sellado de tiempo para 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. En el momento de la inspección del paquete, la marca de tiempo permite validar la firma del paquete con respecto al momento en que se firmó. Esto permite que los paquetes se acepten incluso después de que el certificado ya no sea válido. Los paquetes que no tienen marcas de tiempo se evaluarán con la hora actual y, si el certificado ya no es válido, Windows no aceptará el paquete.
A continuación se muestran los distintos escenarios en torno a la firma de aplicaciones con o sin sellado de tiempo:
Escenario | La aplicación está firmada sin marcas de tiempo | La aplicación está firmada con marcas de tiempo |
---|---|---|
El certificado es válido | La aplicación se instalará | La aplicación se instalará |
El certificado no es válido (expirado) | La aplicación no se instalará | 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, seguirá ejecutándose incluso después de que expire el certificado, independientemente de su marca de tiempo o no.
Cumplimiento de la integridad del paquete
Además de garantizar que solo se instalan 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 a la 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 los exámenes de Windows Defender. Si se considera que un paquete está manipulado, Windows bloqueará el inicio de la aplicación e iniciará un flujo de trabajo de corrección para que el paquete se repare o vuelva a instalar. En el caso de los paquetes no distribuidos a través de Microsoft Store, la integridad del paquete se aplica si el paquete declara el elemento uap10:PackageIntegrity y se implementa en Windows 2004 y compilaciones posteriores. A continuación se muestra un ejemplo de declaración de cumplimiento de la integridad del paquete 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 de dispositivo
Windows 10 permite a los usuarios seleccionar el modo en el que ejecutar su dispositivo en la aplicación Configuración. Los modos son aplicaciones de Microsoft Store, aplicaciones de instalación local y modo de desarrollador.
Las aplicaciones de Microsoft Store son las más seguras, ya que solo permite la instalación de aplicaciones desde Microsoft Store. Las aplicaciones de Microsoft Store pasan por el proceso de certificación para asegurarse de que las aplicaciones son seguras para su uso.
Cargar aplicaciones de manera externa y el modo de desarrollador son más permisivos con aplicaciones firmadas por otros certificados, siempre que dichos certificados sean de confianza y encadenen a una de las raíces de confianza del dispositivo. Solo seleccione Modo de desarrollador si es desarrollador y compila o depura aplicaciones de Windows 10. Aquí puede encontrar más información sobre el modo de desarrollador y lo que proporciona.
Nota:
A partir de la versión 2004 de Windows 10, la opción Carga lateral está activada de forma predeterminada. Como resultado, el modo de desarrollador ahora es un interruptor. Las empresas todavía pueden desactivar la instalación de prueba a través de la directiva.