27/09/2013
En el ecosistema de Windows, la seguridad es una prioridad, y una de las barreras más importantes para proteger el sistema es la directiva de firma de controladores (Driver Signature Enforcement). Esta característica garantiza que solo se puedan instalar y ejecutar en el sistema drivers que han sido verificados y firmados digitalmente por una autoridad reconocida, como Microsoft. Sin embargo, para desarrolladores, testers o usuarios avanzados que necesitan instalar controladores personalizados, en desarrollo o no oficiales, esta medida de seguridad puede convertirse en un obstáculo. Aquí es donde entra en juego el Modo de Prueba o "Test Signing", una función integrada en Windows que permite eludir esta restricción de forma controlada y persistente entre reinicios.

Este artículo es una guía exhaustiva que te enseñará no solo a activar y desactivar este modo, sino también a comprender su propósito, las implicaciones de seguridad y cómo crear y utilizar tus propios certificados de prueba para firmar drivers. Si alguna vez te has enfrentado a la necesidad de probar un módulo C++ de TwinCAT, un driver de código abierto o cualquier otro software a nivel de kernel, esta guía es para ti.
¿Qué es Exactamente el Modo de Prueba o "Test Signing"?
El Modo de Prueba es un estado especial del sistema operativo Windows que modifica la política de firma de controladores. Cuando está activado, Windows permite la carga de controladores que no están firmados por una Autoridad de Certificación (CA) comercial, siempre y cuando estén firmados con un certificado de prueba. En esencia, le dices al sistema: "Confío en los controladores que yo mismo he firmado para fines de prueba".
La principal diferencia con otros métodos, como deshabilitar temporalmente la firma de controladores desde el menú de inicio avanzado, es la persistencia. Una vez que activas el Modo de Prueba, permanece activo después de cada reinicio, lo que lo hace ideal para entornos de desarrollo y pruebas continuas. Sabrás que el modo está activo porque Windows muestra una marca de agua en la esquina inferior derecha del escritorio, indicando "Modo de prueba" junto con la versión del sistema operativo.
Requisitos Previos Indispensables
Antes de proceder, es crucial asegurarse de cumplir con ciertos requisitos para que el proceso funcione correctamente:
- Permisos de Administrador: Todas las acciones que realizaremos requieren la ejecución de comandos en un Símbolo del sistema (CMD) con privilegios elevados.
- Desactivar Secure Boot: El Arranque Seguro (Secure Boot) es una característica de seguridad de UEFI que impide la carga de sistemas operativos y controladores no autorizados durante el arranque. Para que el comando bcdedit que utilizaremos sea efectivo, es muy probable que necesites deshabilitar Secure Boot desde la configuración de la BIOS/UEFI de tu ordenador.
- Suspender BitLocker: Si tu unidad de sistema está cifrada con BitLocker, es altamente recomendable suspenderlo temporalmente antes de realizar cambios en la configuración de arranque para evitar problemas de bloqueo.
Guía Paso a Paso para Activar el Modo de Prueba
El proceso para habilitar el modo de prueba es sorprendentemente sencillo y se realiza a través de una única línea de comandos. Sigue estos pasos cuidadosamente:
- Haz clic en el menú Inicio de Windows y escribe "cmd".
- En los resultados de la búsqueda, haz clic derecho sobre "Símbolo del sistema" y selecciona la opción "Ejecutar como administrador".
- En la ventana negra del Símbolo del sistema, escribe o pega el siguiente comando:
bcdedit /set testsigning on - Presiona la tecla Enter. Si el comando se ejecuta correctamente, verás un mensaje que dice "La operación se completó correctamente".
- Para que el cambio surta efecto, debes reiniciar tu ordenador.
Una vez que el sistema se reinicie, deberías ver la marca de agua del Modo de Prueba en tu escritorio. A partir de este momento, el sistema operativo aceptará la instalación de controladores que estén firmados con certificados de prueba.
Creando y Usando un Certificado de Prueba (Para Desarrolladores)
Activar el modo de prueba es solo la mitad del camino. El sistema ahora aceptará drivers firmados para pruebas, pero aún necesitas... ¡firmar tu driver! A continuación, te explicamos cómo generar tu propio certificado y usarlo para firmar tus archivos.
Paso 1: Generar el Certificado de Prueba con MakeCert
Para esta tarea, necesitarás las herramientas de desarrollo de Visual Studio o el Kit de Desarrollo de Drivers de Windows (WDK). El comando se debe ejecutar desde un Símbolo del sistema para desarrolladores de Visual Studio, también con privilegios de administrador.
Ejecuta el siguiente comando para crear un certificado autofirmado:
makecert -r -pe -ss PrivateCertStore -n CN=MiCertificadoDePrueba MiCertificadoDePrueba.cerAnalicemos este comando:
-r: Crea un certificado autofirmado.-pe: Marca la clave privada generada como exportable.-ss PrivateCertStore: Especifica el almacén de certificados donde se guardará el certificado (en este caso, un almacén personal llamado "PrivateCertStore").-n CN=MiCertificadoDePrueba: Define el "Common Name" o nombre del sujeto del certificado. Puedes cambiar "MiCertificadoDePrueba" por el nombre que prefieras.MiCertificadoDePrueba.cer: Es el nombre del archivo .cer que se generará y que contiene la clave pública del certificado.
Paso 2: Instalar el Certificado en el Sistema
Para que el sistema confíe en tu nuevo certificado, debes instalarlo en el almacén de "Entidades de certificación raíz de confianza".
- Presiona
Win + R, escribecertmgr.mscy presiona Enter para abrir el Administrador de Certificados. - En el panel izquierdo, expande "Entidades de certificación raíz de confianza" y haz clic en la carpeta "Certificados".
- Haz clic derecho en la carpeta "Certificados", selecciona "Todas las tareas" y luego "Importar...".
- Sigue el asistente. Cuando te pida el archivo a importar, busca y selecciona el archivo
MiCertificadoDePrueba.cerque creaste en el paso anterior. - Acepta las opciones por defecto y finaliza el asistente.
Paso 3: Firmar el Driver con SignTool
Ahora que tienes el modo de prueba activo y el certificado instalado, puedes firmar tu driver. Normalmente, los drivers vienen con un archivo de catálogo (.cat) que es el que se firma. Si no lo tienes, puedes generarlo con la herramienta `Inf2Cat.exe` del WDK.
Para firmar el archivo de catálogo, usa la herramienta SignTool, también desde el Símbolo del sistema para desarrolladores:
SignTool sign /fd SHA256 /v /s PrivateCertStore /n MiCertificadoDePrueba /t http://timestamp.digicert.com nombre_del_driver.catCon esto, tu driver estará firmado con tu certificado de prueba y, al estar el sistema en Modo de Prueba, podrás instalarlo sin problemas.
Tabla Comparativa: Métodos para Instalar Drivers No Firmados
Existen principalmente dos métodos para lidiar con drivers no firmados. Aquí tienes una comparación para que elijas el más adecuado a tus necesidades.
| Método | Persistencia | Nivel de Seguridad | Ideal para... |
|---|---|---|---|
| Deshabilitar temporalmente la firma de drivers (Shift + Reinicio) | No persistente (solo dura una sesión) | Muy bajo (permite instalar cualquier driver, incluso malicioso, sin firma alguna) | Instalaciones puntuales de un driver no firmado de confianza. |
| Activar Modo de Prueba (testsigning on) | Persistente (se mantiene tras reiniciar) | Medio (aún requiere que el driver esté firmado, aunque sea con un certificado de prueba) | Desarrolladores, testers y entornos de prueba continuos. |
Cómo Desactivar el Modo de Prueba
Cuando hayas terminado tus pruebas o ya no necesites el modo de prueba, es muy recomendable desactivarlo para restaurar la política de seguridad por defecto de Windows.
El proceso es idéntico al de activación, pero con un comando ligeramente diferente:
- Abre un Símbolo del sistema como administrador.
- Escribe o pega el siguiente comando:
bcdedit /set testsigning off - Presiona Enter y reinicia tu ordenador.
La marca de agua desaparecerá y la directiva de firma de controladores volverá a su estado normal.
Preguntas Frecuentes (FAQ)
¿Es seguro mantener el modo de prueba activado permanentemente?
No es recomendable para un sistema de uso diario. El modo de prueba reduce la barrera de seguridad del sistema, ya que podría permitir la instalación de controladores maliciosos firmados con certificados de prueba fraudulentos. Su uso debe limitarse a máquinas de desarrollo y prueba.
El comando `bcdedit` me da un error de acceso denegado, ¿qué hago?
Este error ocurre casi siempre porque no estás ejecutando el Símbolo del sistema con privilegios de administrador. Asegúrate de hacer clic derecho sobre el icono de CMD y seleccionar "Ejecutar como administrador".
Activé el modo de prueba pero sigo sin poder instalar mi driver. ¿Por qué?
Recuerda que activar el modo de prueba no deshabilita por completo la firma de drivers. Simplemente le dice a Windows que acepte drivers firmados con certificados de prueba. Si tu driver no está firmado en absoluto, la instalación seguirá fallando. Debes firmarlo, por ejemplo, con el método makecert y SignTool que describimos anteriormente.
¿Por qué tengo que desactivar Secure Boot?
Secure Boot está diseñado para proteger el proceso de arranque contra la carga de código no autorizado. Los cambios en la configuración de arranque (BCD), como la activación del modo de prueba, son vistos por Secure Boot como una modificación no autorizada, por lo que bloquea su aplicación. Desactivarlo permite que estos cambios persistan tras un reinicio.
Si quieres conocer otros artículos parecidos a Activar Modo de Prueba (Test Signing) en Windows puedes visitar la categoría Juegos.
