Site icon EfmSoft

¿Qué significa el código HRESULT 0x800B0005 (DIGSIG_E_ENCODE)?

 
Anterior Siguiente
TRUST_E_SUBJECT_NOT_TRUSTED DIGSIG_E_DECODE

DIGSIG_E_ENCODE

Qué significa DIGSIG_E_ENCODE

DIGSIG_E_ENCODE corresponde a 0x800B0005. Microsoft lo define como un problema en el proceso de codificación ASN.1.

El fallo ocurre al convertir el modelo de objetos —firmante, algoritmos, atributos, extensiones y contenido— en una representación ASN.1. Puede producirse antes de usar la clave privada, por lo que cambiar certificados o permisos de clave no corrige un OID, una longitud o una estructura mal construida.

Qué comprobar

  • Identifica la estructura y la API de codificación exactas que devolvieron el HRESULT.
  • Valida OID, campos obligatorios, multiplicidad de atributos y longitudes antes de pasar el objeto al encoder.
  • Construye un caso mínimo con un firmante y sin atributos opcionales; añade los campos de producción uno por uno hasta localizar el que rompe la codificación.
  • Decodifica la salida de control con una implementación independiente para confirmar que el objeto generado corresponde al perfil CMS/X.509 esperado.

Cómo resolverlo

Corrige el modelo ASN.1 o los datos entregados al encoder y vuelve a generar el objeto desde el principio. No sustituyas el algoritmo de firma y elimines atributos al mismo tiempo: si el resultado cambia, ya no sabrás qué modificación reparó realmente la estructura.

Código cercano

DIGSIG_E_DECODE aparece al interpretar bytes ASN.1 existentes; DIGSIG_E_ENCODE ocurre al construirlos.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.

Exit mobile version