Diagnóstico de enrolamiento

Localiza fallos de transporte, autenticación, registro, emisión e instalación.

Diagnostica una operación y un dispositivo cada vez. Anota DMS/APS, endpoint, hora, código HTTP, serie presentada y CN de la CSR. Conserva la respuesta sin incluir claves privadas ni credenciales de webhook en el informe.

Diagnóstico y compatibilidad

Códigos de error y diagnóstico

El controlador EST devuelve normalmente 400 al rechazar entrada y 500 cuando el servicio rechaza o falla la operación. Un 500 también puede representar una denegación de política; no implica que reintentar sea seguro. Gateway puede generar sus propios códigos y cuerpos. Revisa el cuerpo real y el resultado persistido.

Síntoma o mensajeQué revisar
curl rechaza TLS, nombre o emisorURL, reloj, SAN del servidor y raíz aprobada en est-trust.pem. Resolver la confianza en Despliegue; no omitir la verificación.
404 o APS ausenteRuta pública /.well-known/est/{DMS_ID}/{operation} y DMS existente. El APS no es el nombre del servicio.
400, error de CSR o formatoContent-Type: application/pkcs10, Base64 de DER, firma válida y cuerpo conservado sin doble codificación.
Credencial ausente o certificado no válidoModo de la operación, CA validante, fechas, revocación y entrega de la credencial por Gateway. No confundir confianza TLS del servidor con CA de bootstrap.
Webhook deniega, expira o responde sin autorizaciónConfiguración, conectividad y respuesta JSON con authorized: true. No hay degradación automática a NO_AUTH.
unexpected status code: <n>: redirects are not followedEl webhook respondió con una redirección. Configura la URL final absoluta http o https en la configuración del webhook; nunca se siguen redirecciones.
webhook response exceeds 1048576 bytesEl receptor devolvió más de 1 MiB de JSON. Reduce la respuesta del webhook de autorización.
webhook config must not reference filesLa configuración del webhook apunta a archivos (ca_cert_file, mtls_options.cert_file, mtls_options.key_file). Para mTLS, introduce el certificado y la clave como PEM codificado en Base64 en cert_content y key_content, o como PEM en claro; elimina cualquier otro campo de archivo, incluido ca_cert_file, que no tiene equivalente en línea (el certificado del receptor debe encadenar con el almacén de confianza del sistema). Consulta la guía de credenciales del webhook en DMS.
mtls_options.cert_content must be base64-encoded PEMEl valor no es ni PEM codificado en Base64 ni PEM en claro: es una ruta de archivo o es Base64 de datos que no son PEM. Introduce el certificado y la clave como PEM codificado en Base64, como el resto de certificados de la API, o como PEM en claro (consulta los ajustes del webhook en DMS). El mismo mensaje nombra mtls_options.key_content cuando el valor no válido es la clave.
webhook mTLS certificate and key are invalid: …El certificado y la clave no forman un par coincidente. Introduce ambos valores del mismo par; la comprobación se ejecuta al guardar el DMS y de nuevo en cada llamada del webhook.
400 struct validation error al crear o actualizar un DMSLa configuración del webhook de la operación que lo usa no es válida. Revisa external_webhook_settings en DMS.
HTTP 500 con cuerpo err en enroll o reenrollLos fallos del servicio llegan al cliente EST como 500 con un cuerpo de err más el mensaje; los errores de autorización del webhook se nombran ahí.
device not preregisteredPRE_REGISTRATION requiere la entrada de inventario previa.
forbiddenNewEnrollmentUn dispositivo ya existente exige sustitución habilitada, incluso en No Identity. Investiga antes de activar el flag.
DMS propietario distintoCN/ID, inventario global y DMS dueño; no reutilices un ID de otro contexto.
invalid RawSubject bytesSujeto de la CSR frente al certificado actual. Conserva sus atributos, además del CN.
invalid reenroll windowNotAfter de la identidad actual y reenrollment_delta. Los umbrales de alerta no cambian esa ventana.
Certificado actual revocadoRenovación rechazada; prepara recuperación autorizada según la causa.
Error de CA, perfil o firmaCA activa, clave disponible, perfil seleccionado y restricciones. Un cacerts correcto no prueba emisión.
HTTP 200 sin conexión del dispositivoPareja instalada, cadena, usos, confianza y permisos del consumidor. Comprueba también el slot e historial.
Timeout o error después de emitirCertificados nuevos, slot actual y estado de la identidad anterior antes de repetir.

Notas de compatibilidad

Los ejemplos usan el contrato del backend examinado. No atribuyas automáticamente ese comportamiento a otra release. Verifica el modo de renovación guardado y el comportamiento del Gateway con certificados vencidos y con la CA inicial.

La respuesta predeterminada es PKCS#7 DER en Base64; el PEM por Accept: application/x-pem-file es una extensión de Lamassu. ServerKeyGen devuelve multipart y requiere tratar cada parte por separado. Consulta la referencia EST.

El enrolamiento EST falla

  1. Comprueba HTTPS con la raíz aprobada y consulta cacerts para el APS correcto.
  2. Revisa el DMS guardado: protocolo, registro, autenticación de esa operación, CA, perfil y ventana.
  3. Verifica la CSR localmente y relaciona su CN con el inventario.
  4. Ejecuta una solicitud, guarda cabeceras/cuerpo y consulta el dispositivo y los certificados.
  5. Si recibes identidad, comprueba clave, sujeto, uso y conexión con el consumidor.

Las comprobaciones externas de revocación del bootstrap tienen límites: ausencia de evidencia puede aceptarse, y OCSP Unknown no produce el mismo rechazo que Revoked. No presupongas una política de rechazo ante cualquier incertidumbre. Una CA intermedia en la cadena TLS tampoco demuestra que toda la cadena haya llegado al validador DMS.

Para logs, red, pods o cabeceras de Gateway, continúa en Diagnóstico de Despliegue. Para identidades emitidas, revocadas o vinculadas parcialmente, utiliza Renovación y recuperación y Dispositivos e identidades.

En esta página