Integración de firma de código en la nube con BitBucket

Esta es una guía sobre cómo la herramienta BitBucket CI/CD se puede integrar con eSigner CodeSignTool para realizar la firma de código automatizada.

CodeSignTool es una utilidad de línea de comandos que es efectiva en los procesos de firma remota y se integra completamente con varias plataformas de CI/CD. Es parte del conjunto de herramientas de eSigner, nuestro servicio de firma de código en la nube que permite a los desarrolladores experimentar un método intuitivo y seguro para firmar código.

SSL.com's EV Firma de código Los certificados ayudan a proteger su código de manipulaciones no autorizadas y compromisos con el más alto nivel de validación, y están disponibles por tan solo $ 249 por año. También puedes use su certificado de firma de código EV a escala en la nube usando eSigner.

HAZ TU PEDIDO

EVariables del entorno

  • NOMBRE DE USUARIO: nombre de usuario de la cuenta SSL.com. (Requerido)
  • CONTRASEÑA: Contraseña de la cuenta SSL.com (Obligatorio)
  • CREDENCIAL_ID: ID de credencial para el certificado de firma. Si se omite credential_id y el usuario tiene solo un certificado de firma de código de eSigner, CodeSignTool lo usará de forma predeterminada. Si el usuario tiene más de un certificado de firma de código, este parámetro es obligatorio. (Requerido)
  • TOTP_SECRETO: OAuth TOTP Secreto. Puede acceder a información detallada sobre https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Obligatorio)
  • ENTORNO_NOMBRE : Entorno 'TEST' o 'PROD'. (Requerido)

Ingresos

  • ruta_archivo_entrada: ruta del objeto de código que se firmará. (Requerido)

  • salida_dir_ruta: Directorio donde se escribirán los objetos de código firmados. Si se omite output_path, el archivo especificado en -file_path se sobrescribirá con el archivo firmado.

Flujo de trabajo de ejemplo de firma de DLL de código .NET

pipelines: default: - step: # Puede agregar un nombre a un paso para que las pantallas y los informes sean más fáciles de leer y comprender. nombre: build-dotnet # Nombre de la imagen de Docker que puede incluir o no la URL de registro, la etiqueta y la imagen de valor de resumen: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Comandos para ejecutar en el script de pasos: # Directorios creados para artefactos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Construya el proyecto dotnet con la configuración de lanzamiento - dotnet build dotnet/HelloWorld.csproj -c Release # Copie los artefactos construidos al directorio de artefactos - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Archivos producidos por un paso para compartir con los siguientes artefactos del paso: - paquetes/HelloWorld.dll - paso : # Puede agregar un nombre a un paso para que las pantallas y los informes sean más fáciles de leer y comprender. nombre: sign-dotnet-artifacts # Servicios habilitados para los servicios de paso: - docker # Comandos para ejecutar en el script de paso: # Directorios creados para artefactos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ paquetes # Solucionado el problema de permisos de dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Firmar artefacto con CodeSigner docker image - docker run -i --rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e NOMBRE DE USUARIO=${NOMBRE DE USUARIO} -e CONTRASEÑA=${CONTRASEÑA} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:última señal -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /producción

Crear un nuevo repositorio en bitbucket.org

Seleccione las opciones para los campos específicos:

a) Nivel de acceso: marque la casilla de verificación para Repositorio privado

b) Incluir un README? No

c) Nombre de la sucursal por defecto: principal

d) incluir .gitignore? No

Crea un nuevo proyecto en tu editor de código

En el nuevo proyecto, cree un archivo .yml

Escribir el guión para la etapa de construcción.

Escribir el guión para el escenario de signos.

SSL.com's EV Firma de código Los certificados ayudan a proteger su código de manipulaciones no autorizadas y compromisos con el más alto nivel de validación, y están disponibles por tan solo $ 249 por año. También puedes use su certificado de firma de código EV a escala en la nube usando eSigner.

HAZ TU PEDIDO

Guión completo:

pipelines: default: - step: # Puede agregar un nombre a un paso para que las pantallas y los informes sean más fáciles de leer y comprender. nombre: build-dotnet # Nombre de la imagen de Docker que puede incluir o no la URL de registro, la etiqueta y la imagen de valor de resumen: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Comandos para ejecutar en el script de pasos: # Directorios creados para artefactos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Construya el proyecto dotnet con la configuración de lanzamiento - dotnet build dotnet/HelloWorld.csproj -c Release # Copie los artefactos construidos al directorio de artefactos - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Archivos producidos por un paso para compartir con los siguientes artefactos del paso: - paquetes/HelloWorld.dll - paso : # Puede agregar un nombre a un paso para que las pantallas y los informes sean más fáciles de leer y comprender. nombre: sign-dotnet-artifacts # Servicios habilitados para los servicios de paso: - docker # Comandos para ejecutar en el script de paso: # Directorios creados para artefactos - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ paquetes # Solucionado el problema de permisos de dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Firmar artefacto con CodeSigner docker image - docker run -i --rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e NOMBRE DE USUARIO=${NOMBRE DE USUARIO} -e CONTRASEÑA=${CONTRASEÑA} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:última señal -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /producción

Definir toda la información del repositorio

Haga clic en la pestaña Configuración del repositorio

under TUBERIAS, haga clic en Configuración para habilitar su canalización

A continuación, todavía en TUBERÍAS, haga clic en Variables del repositorio.

Coloque el nombre y el valor para cada variable del repositorio

Envía tu código a Bitbucket

En  Fuente pestaña de su menú de BitBucket, establezca la URL de su repositorio en https

Escribe el comando para git remoto agregar origen y pegue el enlace https de su proyecto bitbucket, seguido del git push comando

Escribe el Comando maestro de origen git push –u

Actualice Bitbucket para ver el código que ha enviado

Actualice Bitbucket y haga clic en el Pipelines pestaña. La etapa de construcción y firma comenzará automáticamente.

Comprobar si la etapa de construcción es exitosa

Comprobar si la etapa de firma es exitosa

Ejemplo de canalización de BitBucket

Echa un vistazo a la canalización de BitBucket que hemos creado en github.com/SSLcom/codesigner-bitbucket-sample

Otras guías de integración de firma remota

¿Necesita soluciones personalizadas? 

Con nuestro conocimiento experto y personal de soporte de cinco estrellas, estamos listos y dispuestos a trabajar con usted en soluciones personalizadas o descuentos en firmas de alto volumen a nivel empresarial. Complete el siguiente formulario y nos pondremos en contacto.

Twitter
Facebook
LinkedIn
Reddit
Correo electrónico

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.