Guía de integración de Jenkins

La integración de Jenkins con la solución CodeSign Secure de Encryption Consulting implica configurar el entorno de Jenkins y los trabajos de compilación. Es altamente extensible gracias a un amplio ecosistema de plugins, lo que la hace adaptable a diversos entornos de desarrollo.

Configurar CodeSign Secure KSP

El Proveedor de Almacenamiento de Claves de Consultoría de Cifrado (KSP) para Windows es un componente de software que amplía el marco de la API de Criptografía de Microsoft: Próxima Generación (CNG). Su objetivo principal es permitir que las aplicaciones de Windows, como signtool.exe, interactúen fluidamente con las claves criptográficas y los certificados almacenados en un HSM.

Pasos:

  1. Descargar el EC KSP

    • Inicie sesión en el portal CodeSign Secure y navegue a la sección Herramientas de firma para descargar “EC KSP para Windows”.

      Ruta de herramientas de firma
    • Extraiga el archivo zip para obtener el archivo “Setup.msi”.
  2. Instalar el EC KSP
    • Ejecute el instalador “Setup.msi” con privilegios de administrador.

      Configurar el instalador
    • Siga las instrucciones en pantalla del asistente de instalación.

      1. Acepte el Acuerdo de licencia de usuario final.
      2. Seleccione el directorio de instalación (el predeterminado es C:\Archivos de programa\Encryption Consulting\SigningKSP).
      3. Elija si desea instalar el KSP para todos o solo para el usuario actual
      Carpeta de instalación
    • Ingrese los detalles solicitados, como:

      1. Nombre de usuario:El nombre de usuario/correo electrónico que utiliza para iniciar sesión en el portal CodeSign Secure.
      2. Código:El código secreto que usted configuró al momento de configurar la solución CodeSign Secure.
      3. Tipo de identidad:Mantenga este campo como predeterminado (2)
      4. URL segura de CodeSign:La URL para acceder al portal (Recuerde agregar “/api/” al final de la URL)
      Información de autenticación de usuario de API
    • Haga clic en Siguiente y confirme la instalación.

      Instalación de KSP
  3. Configurar los ajustes del Editor del Registro
    • Abra el Editor del Registro y navegue al directorio HKEY_CURRENT_USER>Software>Encryption Consulting>SigningKSP.

      Editor del registro
    • Ahora abra el portal CodeSign Secure y vaya a Configuración del sistema > Usuario. Seleccione "Generar clave API" en el menú desplegable de la derecha.

      Generar clave API
    • Crea un token para tu cuenta indicando un nombre y el periodo de validez. Recuerda copiar el token, ya que solo se mostrará una vez.

      Generar clave API
    • Agregue este token al campo “ectoken” en el Editor del Registro.

      ectoken

Configurar el certificado de autenticación P12

La configuración de un certificado P12 implica configurar las variables de su entorno para autenticar su máquina cliente con CodeSign Secure de Encryption Consulting.

Pasos:

  1. Configurar las variables de entorno
    • Abra las variables de entorno desde su menú Inicio

      Propiedades del sistema
    • Agregue nuevas variables del sistema haciendo clic en el botón "Nuevo". Indique el nombre de la variable y sus detalles correspondientes.

      1. Autenticación de cliente EC:Corresponde a la ruta de su certificado de autenticación SSL, que se puede crear desde CodeSignSecure
      2. Contraseña de cliente EC:Corresponde a la contraseña de su certificado, la cual se proporciona en el momento de la creación del certificado.
      3. EC_SSL_VERBOSE:Corresponde a la configuración para habilitar (1) o deshabilitar (0) la salida de depuración para EC KSP.
      Variables ambientales

Configurar Signtool para firmar

Para configurar signtool para la firma de código es necesario asegurarse de que la utilidad Signtool.exe esté disponible en su máquina y configurada para interactuar correctamente con el proveedor criptográfico de Encryption Consulting que proporciona acceso a la clave privada de su certificado de firma de código.

Pasos:

  1. Descargar e instalar el SDK de Windows
    • Utilizando el siguiente enlace de descarga, descargue el Kit de desarrollo de software de Windows con las siguientes herramientas seleccionadas: desarrollador.microsoft.com/es-es/windows/downloads/windows-10-sdk/

      Windows SDK
    • Abra el instalador una vez descargado y seleccione “Siguiente” en la primera pantalla para mantener la configuración predeterminada.

      Instalador del SDK de Windows
    • Siga las instrucciones en pantalla del asistente de instalación.

      1. Acepte la privacidad del kit de Windows.
      2. Acepte el Acuerdo de licencia de usuario final.
    • Anule la selección de todo excepto “Herramientas de firma del SDK de Windows para aplicaciones de escritorio” y seleccione “Instalar”.

      Característica del SDK de Windows
    • Vaya a la siguiente ruta donde deberían haberse descargado las herramientas: “C:\Archivos de programa (x86)\Windows Kits\10\bin”. Seleccione el directorio de la versión deseada y compruebe si el archivo “signtool.exe” está presente.

      Ruta de la herramienta de señal
    • Asegúrese de estar en el directorio x64 y copie esta ruta de directorio.
  2. Agregar ruta a Signtool.exe en las variables de entorno
    • Abra las variables de entorno desde el menú Inicio.

      Ruta de la herramienta de firma en la variable ambiental
    • Desplácese hacia abajo a través de las variables del sistema en la tabla inferior hasta encontrar PATH en los nombres de las variables.

      Nombres de variables
    • Haga doble clic en PATH en las variables del sistema y seleccione "Nuevo" a la izquierda de la pantalla. Pegue la ruta del directorio "signtool.exe" que copió en la nueva selección.

      Ruta del directorio de la herramienta de firma
    • Seleccione Aceptar en la parte inferior para salir de la página Variables de entorno.

Configurar Jenkins

La configuración de Jenkins implica configurar el servidor de automatización de Jenkins y sus agentes de compilación para integrarlos con la solución CodeSign Secure de Encryption Consulting para la firma de código automatizada.

Pasos:

  1. Descargue e instale la aplicación Jenkins

    • Descargue la aplicación Jenkins para Windows desde aquí.
    • Al iniciar Windows Installer, se abrirá el Asistente de instalación. Haga clic en "Siguiente" para comenzar la instalación.

      Instalador de Jenkins
    • Elija la carpeta de destino para su instalación de Jenkins, luego haga clic en Siguiente para continuar.

      Carpeta de Instalacion
    • Al configurar Jenkins, se recomienda instalarlo y ejecutarlo como un servicio independiente de Windows con un usuario local o de dominio. Introduzca el nombre de usuario y la contraseña de dominio de Jenkins. A continuación, haga clic en "Probar credenciales" para verificar las credenciales de su dominio y haga clic en "Siguiente".

      Credenciales del servidor
    • Seleccione el puerto donde se ejecutará Jenkins. Use el botón "Probar puerto" para comprobar si el puerto especificado está disponible en su equipo. Si el puerto está libre, aparecerá una marca de verificación verde debajo, lo que le permitirá continuar haciendo clic en "Siguiente".

      Selección de puerto
    • El proceso de instalación verifica si Java está instalado en su equipo, completando automáticamente el cuadro de diálogo con el directorio de inicio de Java. Si la versión de Java requerida no está instalada, se le solicitará que la instale. Después de seleccionar su directorio de inicio de Java, haga clic en Siguiente para continuar.

      Directorio de inicio de Java

      Puede consultar los requisitos y versiones de Java aquí.

    • Seleccione los servicios adicionales necesarios para la instalación de Jenkins y luego haga clic en Siguiente.

      Configuración personalizada
    • Presione el botón Instalar para comenzar a instalar Jenkins.

      Configuración
    • Una vez finalizada la instalación, haga clic en Finalizar para completar el proceso.

      Configuración
  2. Configurar el servicio Jenkins

    • Vaya a los servicios de su sistema desde el menú Inicio
    • Desplázate hacia abajo hasta Jenkins. En la columna "Iniciar sesión como", puedes ver la cuenta de usuario configurada para Jenkins. Si está configurada con un valor distinto a ".\Administrador" (Servicio local/Sistema, Servicio de red/Sistema), debemos configurarla como Administrador.
    • Haga doble clic en Jenkins o haga clic derecho > Propiedades para abrirlas. Vaya a Iniciar sesión. Seleccione "Esta cuenta". Establézcala como ".\Administrador". Introduzca una contraseña, preferiblemente de administrador. Haga clic en "Aplicar" una vez hecho esto.
    • Una vez configurado esto, accederemos a Jenkins. Acceder a la URL o nombre de host que haya especificado durante la configuración desde su navegador le llevará a Jenkins. Aquí lo he configurado como http://localhost:8080/ (también es el valor predeterminado).
  3. Desbloquear Jenkins

    • Vaya a http://localhost:8080 (o el puerto específico que configuró para Jenkins durante la instalación) y espere a que se cargue la página Desbloquear Jenkins.

      Desbloquear Jenkins
    • El archivo de contraseña de administrador inicial se encontrará en el directorio que se muestra en la página del navegador de Jenkins, como "C:\Archivos de programa (x86)\Jenkins\secrets". Si no lo encuentra, revise el directorio de instalación de Jenkins especificado durante el proceso de instalación. Allí encontrará un archivo llamado initialAdminPassword.

      Ruta del archivo del administrador
    • Abra el archivo y copie el contenido del Contraseña de administrador inicial .

      Contraseña de administrador inicial
    • En la página de desbloqueo, pegue esta contraseña en el la contraseña campo y clic Continuar.
  4. Configurar la canalización de Jenkins

    • En el Panel de Control, haga clic en Administrar Jenkins (NOTA: Administrar Jenkins no aparece a menos que haya creado un trabajo)

      Panel de Control
    • Desplácese hacia abajo hasta Complementos, en Configuración del sistema

      Administrar Jenkins
    • En Administrar complementos, en la sección "Complementos disponibles", busque el complemento de PowerShell. No aparecerá en los resultados de búsqueda de esta sección si ya está instalado. Puede ver los complementos instalados en "Complementos instalados".

      Marque la casilla del complemento (si aún no está instalado) y haga clic en Instalar sin reiniciar. Puede actualizar la página una vez instalado.

    • Después de hacerlo, vaya a Configuración global de herramientas. Panel de control > Administrar Jenkins > En Configuración del sistema (como se muestra en la imagen de arriba) - Configuración global de herramientas.
    • Desplázate hasta PowerShell. Haz clic en "Agregar PowerShell". Verás una ventana de configuración como la que se muestra a continuación. Ponle un nombre a tu PowerShell. Indica la ruta (donde se encuentra en tu equipo) a tu PowerShell.

      La ruta predeterminada es C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Haga clic en Aplicar y Guardar.

      Configuración global de herramientas
    • Ahora, desde el Dashboard, haga clic en la opción “Nuevo elemento”.
    • Ingrese cualquier nombre de elemento y haga clic en la tubería y haga clic en Aceptar.

      Tubería
    • En la página de configuración, en General, coloca una descripción como desees.

      Configuration
    • Desplácese hasta la parte inferior para encontrar Pipeline.

      Configuración de tubería
    • Escribe el script en el cuadro de script y haz clic en "Guardar". Deberás editar la variable de entorno según tu configuración.

      Script
  5. Ejecutar la canalización de Jenkins

    • Haga clic en compilar ahora y verá un número de compilación ejecutándose en la pantalla.

      Ejecutar construcción
    • Si hace clic en el número de compilación y va a la salida de la consola, verá que su archivo ha sido firmado.

      firmado