¿Qué es XAdES?
XAdes (Firmas electrónicas avanzadas XML) es un formato de firma digital flexible basado en XML, que cumple con las eIDAS regulación. Incluye detalles sobre:
- Qué archivos se firmaron
- ¿Quién los firmó?
- Funciones opcionales como marcas de tiempo y Respuestas de OCSP
- Referencias de archivos o incluso el contenido completo del archivo
Más información: Wikipedia - XAdES
¿Qué es ASIC-E?
ASIC-E (Contenedores de firmas asociados: extendido) es un método de empaquetado para firmas digitales. Incluye:
- Todas archivos firmados
- Correspondiente Firmas digitales XAdES
En un recipiente comprimido con .como hielo
extensión (otras variantes incluyen .bdoc
, .doc
, .adoc
, .doc
, .scs
).
Más información: Wikipedia - ASIC
Ventajas de ASIC-E sobre los PDF firmados digitalmente (CADes, PAdES, PKCS #7)
- Puedes firmar cualquier tipo de archivo (no solo archivos PDF)
- Múltiples archivos se puede firmar en un contenedor
Compatibilidad y variantes
Debido a la flexibilidad de Xades/ASIC-E, existen diferencias regionales. Por ejemplo:
- Estonia:
.bdoc
,.doc
- Letonia:
.doc
- Lituania:
.adoc
Para verificar una validez .como hielo
archiva en todas las instituciones de la UE, utiliza el DigiDoc4 solicitud:
Si DigiDoc4 muestra la firma como válida, las instituciones gubernamentales de la UE la aceptarán.
Estructura de un .como hielo
Expediente
Un .como hielo
el contenedor es un Archivo ZIP con una estructura estricta:
my-signed-container.asice
├── mimetype (must be the FIRST file in the ZIP, content: "application/vnd.etsi.asic-e+zip")
├── META-INF/
│ ├── manifest.xml
│ ├── signatures0.xml (or other XAdES signatures)
├── test.txt
└── small.pdf
tipo MIME
- El contenido debe ser:
aplicación/vnd.etsi.asic-e+zip
- Debe ser la primera entrada en el archivo ZIP
META-INF/manifest.xml
Ejemplo de firma de dos archivos:
<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
<manifest:file-entry manifest:full-path="/" manifest:media-type="application/vnd.etsi.asic-e+zip"/>
<manifest:file-entry manifest:full-path="test.txt" manifest:media-type="text/plain"/>
<manifest:file-entry manifest:full-path="small.pdf" manifest:media-type="application/pdf"/>
</manifest:manifest>
signatures0.xml
Contiene el real Firma Xades-Baseline-LT. (Vea el ejemplo completo en el texto original).
Creación de un .como hielo
Contenedor
- Pon los archivos firmados (
test.txt
,small.pdf
) y archivos XML (manifest.xml
,signatures0.xml
) en una carpeta. - Garantizar
tipo MIME
es el primer archivo agregado al crear el ZIP. - Comprima el contenido.
- Cambie el nombre del
.zip
archivar a.como hielo
.
Nota: Si ves un error como:
«Se ha producido un error al abrir el documento. ASIContainer.cpp:312 No se pudo leer el tipo MIME»
A continuación, el tipo MIME
el archivo no es la primera entrada ZIP. Utilice una herramienta ZIP diferente o establezca el orden de los archivos mediante programación.
Herramientas y recursos
Código de muestra (PHP) para generar .como hielo
archivos:
eideasy/eideasy-php en GitHub
Muestra .como hielo
contenedor (para referencia):contenedor.asice
(hospedado cuando corresponda)