Share via


Configuración de integraciones de firma para usar la Firma de confianza

La firma de confianza admite actualmente las siguientes integraciones de firma:

  • SignTool
  • Acciones de GitHub
  • Tareas de Azure DevOps
  • PowerShell para Authenticode
  • Azure PowerShell (directiva de CI de App control para empresas)
  • SDK de firma de confianza

Trabajamos constantemente para admitir más integraciones de firma. Actualizamos la lista de integración admitida cuando hay más integraciones disponibles.

En este artículo se explica cómo configurar cada integración de firma compatible con Firma de confianza.

Configuración de SignTool para usar la Firma de confianza

En esta sección se explica cómo configurar SignTool para usarlo con la firma de confianza.

Requisitos previos

Para completar los pasos de este artículo, necesitará lo siguiente:

  • Una cuenta de firma de confianza, validación de identidades y perfil de certificado.
  • Asignación individual o de grupo del rol Firmante de perfil de certificado de firma de confianza.

Resumen de pasos

  1. Descargue e instale SignTool.
  2. Descarga e instalación del runtime de .NET 8.
  3. Descargar e instalar el paquete de Firma de confianza dlib.
  4. Crear un archivo JSON para proporcionar la cuenta de firma de confianza y un perfil de certificado.
  5. Invocar SignTool para firmar un archivo.

Descargar e instalar SignTool

La firma de confianza requiere el uso de SignTool para firmar archivos en Windows, específicamente la versión de SignTool.exe que se encuentra en Windows 10 SDK 10.0.19041 o posterior. Puede instalar el SDK completo de Windows 10 a través del Instalador de Visual Studio o descargar e instalarlo por separado.

Para descargar e instalar SignTool:

  1. Descargue la versión más reciente de SignTool y Windows Build Tools NuGet en Microsoft.Windows.SDK.BuildTools.

  2. Instale SignTool desde Windows SDK (versión mínima: 10.0.2261.755).

Otra opción es usar el archivo nuget.exe más reciente para descargar y extraer el paquete de herramientas de compilación de SDK NuGet más reciente mediante PowerShell:

  1. Descargue nuget.exe ejecutando el siguiente comando de descarga:

    Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe  
    
  2. Instale nuget.exe ejecutando el siguiente comando de instalación:

    .\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.20348.19 
    

Descarga e instalación del runtime de NET 8.0

Los componentes que SignTool usa para interactuar con la firma de confianza requieren la instalación de Runtime de .NET 8.0 Solo necesita el entorno de ejecución principal de .NET 8.0. Asegúrese de instalar el entorno de ejecución de plataforma correcto en función de la versión de SignTool que quiera ejecutar. O bien, puede simplemente instalar ambos

Por ejemplo:

Descarga e instalación del paquete dlib de Firma de confianza

Para descargar e instalar el paquete dlib firma de confianza (un archivo de .zip):

  1. Descargue el Paquete Dlib de firma de confianza.

  2. Extraiga el contenido comprimido de la biblioteca de Firma de confianza e instálelo en el nodo de firma que prefiera. El nodo debe ser el nodo donde usará SignTool para firmar archivos.

Cree un archivo JSON

Para firmar mediante la firma de confianza, debe proporcionar los detalles de la cuenta de firma de confianza y el perfil de certificado que se crearon como parte de los requisitos previos. Para proporcionar esta información sobre un archivo JSON, complete estos pasos:

  1. Cree un archivo JSON (por ejemplo, metadata.json).

  2. Agregue los valores específicos de la cuenta de Firma de confianza y el perfil de certificado al archivo JSON. La cuenta de firma de confianza se denomina indistintamente cuenta de firma de código. Para obtener más información, consulte el archivo metadata.sample.json que se incluye en el paquete Trusted Signing dlib o use el ejemplo siguiente:

    {
      "Endpoint": "<Trusted Signing account endpoint>",
      "TrustedSigningAccountName": "<Trusted Signing account name>",
      "CertificateProfileName": "<certificate profile name>",
      "CorrelationId": "<Optional CorrelationId value>"
    }
    

    El valor del URI de "Endpoint" debe ser un identificador URI que se alinee con la región donde ha creado la cuenta de firma de confianza y el perfil de certificado al configurar estos recursos. En la tabla se muestran las regiones y sus URI correspondientes.

    Region Campos de clase de región Valor del URI del punto de conexión
    Este de EE. UU. EastUS https://eus.codesigning.azure.net
    Oeste de EE. UU. 3 [1] WestUS3 https://wus3.codesigning.azure.net
    Centro-Oeste de EE. UU. WestCentralUS https://wcus.codesigning.azure.net
    Oeste de EE. UU. 2 WestUS2 https://wus2.codesigning.azure.net
    Norte de Europa Norte de Europa https://neu.codesigning.azure.net
    Oeste de Europa Oeste de Europa https://weu.codesigning.azure.net

    1 El campo opcional "CorrelationId" es un valor de cadena opaco que puede proporcionar para correlacionar las solicitudes de signo con sus propios flujos de trabajo, como identificadores de compilación o nombres de máquina.

Usar SignTool para firmar un archivo

Para invocar SignTool para firmar un archivo:

  1. Tome nota de dónde se encuentran las herramientas de compilación del SDK, el Azure.CodeSigning.Dlib, y el archivo de metadata.json (de las secciones anteriores).

  2. Reemplace los marcadores de posición de la ruta de acceso siguiente por los valores específicos que anotó en el paso 1:

    & "<Path to SDK bin folder>\x64\signtool.exe" sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "<Path to Trusted Signing dlib bin folder>\x64\Azure.CodeSigning.Dlib.dll" /dmdf "<Path to metadata file>\metadata.json" <File to sign> 
    
  • Tanto la versión x86 como la x64 de SignTool se incluyen en Windows SDK. Asegúrese de hacer referencia a la versión correspondiente de Azure.CodeSigning.Dlib.dll. El ejemplo anterior es para la versión x64 de SignTool.
  • Asegúrese de usar la versión recomendada de Windows SDK en las dependencias que aparecen al principio de este artículo o el archivo dlib no funcionará.

Los certificados de firma de confianza tienen una validez de tres días, por lo que la marca de tiempo es fundamental para la validación correcta continua de una firma más allá de ese período de validez de tres días. La firma de confianza recomienda el uso de la entidad de marca de tiempo RSA pública de Microsoft de firma de confianza: http://timestamp.acs.microsoft.com/.

Uso de otras integraciones de firma con firma de confianza

También puede usar las siguientes herramientas o plataformas para configurar integraciones de registro con firma de confianza.

  • Acciones de GitHub: para obtener información sobre cómo usar una acción de GitHub para la firma de confianza, consulte Firma de confianza: acciones en Marketplace de GitHub. Complete las instrucciones para configurar y usar una acción de GitHub.

  • Tarea de Azure DevOps: para usar la tarea Firma de confianza de Azure DevOps, consulte Firma de confianza en Visual Studio Marketplace. Complete las instrucciones para la instalación.

  • PowerShell para Authenticode: para usar PowerShell para la firma de confianza, consulte Firma de confianza 0.3.8 en la Galería de PowerShell para instalar el módulo de PowerShell.

  • Azure PowerShell: directiva de CI de Control de aplicaciones para empresas: para usar la firma de directivas de Firma de confianza para la integridad de código (CI), siga las instrucciones de Firmar una nueva directiva de CI y consulte Módulo Az.CodeSigning de PowerShell.

  • SDK de firma de confianza: para crear su propia integración de firma, puede usar nuestro SDK de Firma de confianza de código abierto.