Cómo firmar digitalmente macros de Excel

Si alguna vez has creado un informe automatizado en Excel o una herramienta de entrada de datos con VBA, es posible que hayas visto la molesta barra de seguridad amarilla advirtiendo que tus macros están deshabilitadas. Muchos usuarios pueden optar por no abrir tu archivo debido a esta advertencia. Firmar digitalmente tus macros puede ayudar a resolver este problema. Esta firma le dice a Excel que: Este código proviene de un creador confiable. En esta guía, te guiaremos para que firmes digitalmente las macros de Excel.

Cómo firmar digitalmente las macros de Excel

Cómo firmar digitalmente macros de Excel

Cuando firmas digitalmente una macro de Excel, agregas una firma única y encriptada a tu proyecto VBA. Esta firma funciona como un sello que evidencia manipulación en una botella de medicina; muestra que nadie ha cambiado el código desde la última vez que lo editaste. La firma utiliza un certificado de firma de código, que es una identificación digital que las computadoras verifican contra una lista de autoridades de confianza. Sin una firma válida, Excel ve cada macro como potencialmente peligrosa. Sin embargo, con una firma, tus macros son tratadas como confiables y seguras.

Para firmar digitalmente las macros de Excel, sigue los pasos a continuación.

Cuando un certificado de firma de código se almacena en un token de hardware USB, el proceso de firma se realiza directamente dentro del editor de Visual Basic de Excel. Los pasos a continuación asumen que el token ya está insertado y su certificado ha sido cargado en Windows. Sigue estos pasos cuidadosamente para aplicar una firma durable a tu proyecto VBA.

  • Abre el libro de Excel que contiene la macro de VBA que deseas firmar. Asegúrate de que el archivo esté guardado con una extensión habilitada para macros (.xlsm o .xlsb) antes de proceder.
  • Inserta tu token de hardware USB seguro en un puerto USB disponible en tu computadora. Este token almacena la clave privada de tu certificado de firma de código. Déjalo conectado durante todo el proceso de firma.
  • Antes de abrir el editor de Visual Basic, verifica que el certificado de tu token USB sea reconocido por Windows. Abre Opciones de Internet (busca “Opciones de Internet” en Windows, o abre Internet Explorer y ve a Herramientas > Opciones de Internet). Haz clic en la pestaña de Contenido, luego haz clic en el botón Certificados.
  • Bajo la pestaña Personal, debería aparecer tu certificado de firma de código. Si falta, utiliza el software proporcionado por tu Autoridad de Certificación (CA) para cargar el certificado desde el token en Windows. Solo después de este paso, Excel podrá ver el certificado.
  • En Excel, haz clic en la pestaña Desarrollador en la cinta. En la sección de Código, haz clic en el ícono de Visual Basic. Alternativamente, el editor se puede abrir presionando las teclas Alt + F11. Si la pestaña Desarrollador no es visible, haz clic derecho en cualquier parte de la cinta, selecciona Personalizar la cinta, marca la casilla Desarrollador en el panel derecho y haz clic en Aceptar.
  • Inicia el proceso de firma digital dentro del Editor de Visual Basic. Desde la barra de menú superior, haz clic en Herramientas, luego selecciona Firma Digital en el menú desplegable. Aparecerá un pequeño cuadro de diálogo, indicando que el proyecto no está firmado actualmente.
  • Elige tu certificado de firma de código. En el cuadro de diálogo de Firma Digital, haz clic en el botón Elegir… Se abrirá una nueva ventana titulada Seleccionar Certificado, listando todos los certificados digitales disponibles en tu computadora, incluyendo el certificado que corresponde a la clave privada almacenada en tu token USB. Selecciona el certificado correcto de la lista y haz clic en Aceptar.
  • El cuadro de diálogo de Firma Digital ahora mostrará el nombre del certificado que acabas de seleccionar. Haz clic en Aceptar nuevamente para adjuntar la firma digital a tu proyecto VBA.
  • Cierra el Editor de Visual Basic y regresa a Excel. Inmediatamente guarda el archivo presionando las teclas Ctrl + S o yendo a Archivo > Guardar. Cuando se realice la operación de guardado, puede aparecer un aviso de contraseña; ingresa la contraseña de tu certificado de firma de código (la contraseña asociada a tu token USB o archivo .PFX). Después de ingresar la contraseña, la operación de guardado se completa y la firma se incrusta.
  • No se muestra ningún mensaje de confirmación oficial por parte de Excel después de una firma exitosa. Para confirmar, cierra completamente el libro de Excel, vuélvelo a abrir y verifica que no aparezca ninguna barra de advertencia de seguridad amarilla (o que la advertencia muestre tu nombre de editor como confiable). También puedes volver a abrir el Editor de Visual Basic, ir nuevamente a Herramientas > Firma Digital y ver que tu certificado ahora está listado como la firma activa.
  • Agrega un sello de tiempo para preservar la validez de la firma después de la expiración del certificado.
    • Abre el Símbolo del sistema (Admin) o el programa Windows Terminal (Admin).
    • Ve a la carpeta SignTool (por ejemplo, C:Program Files (x86)Windows Kits10bin10.0.xxxxx.0x86).
    • Ejecuta: signtool sign /tr http://timestamp.url /td SHA256 /fd SHA256 /a “rutadetuarchivo.exe”

Se debe utilizar una URL de servidor de sello de tiempo confiable (como http://timestamp.digicert.com o http://timestamp.comodoca.com/authenticode). Después de ejecutar ese comando, aparecerá un mensaje de confirmación si el sello de tiempo se agregó con éxito.

Cómo firmar digitalmente una macro en Excel:
Abre tu libro de Excel habilitado para macros y presiona las teclas Alt + F11 para lanzar el Editor de Visual Basic. Desde el menú superior, haz clic en Herramientas → Firma Digital, luego haz clic en Elegir para seleccionar tu certificado de firma de código (ya sea un certificado autogenerado a través de SelfCert.exe o un certificado comercial almacenado en un token USB). Haz clic en Aceptar dos veces, cierra el editor y guarda el libro de Excel de inmediato. La firma ahora está adjunta a tu proyecto VBA, y cualquier modificación futura al código lo romperá.

Cómo firmar digitalmente en Excel:

Firmar digitalmente en Excel generalmente significa firmar todo el libro (no solo las macros) con una línea de firma digital visible o una firma invisible. Inserta una línea de firma a través del botón Insertar > Texto > Línea de Firma, luego complétala. Para una firma digital invisible (prueba de autenticidad sin una línea visible), ve a Archivo > Información > Proteger libro > Agregar una firma digital. Ambos métodos requieren un certificado digital válido y confirman que el libro de Excel no ha sido alterado después de firmarlo.

Artículos más recientes

spot_img

Quizás te interese leer: