Firma XAdES y CAdEs Detached proporcionando el Digest del documento

Los integradores pueden realizar firmas de hashes en tipos de firma XAdES y CAdES detached.

La firma en servidor de resúmenes de archivos, conocidos como hashes o digest, se utiliza cuando el documento a firmar es demasiado grande para viajar por la red. En este caso se calcula su hash o digest y es este el que se envía a firmar.

Las ventajas de la firma de hashes en tipos de firma XAdES y CAdES detached son claras, en lugar de enviar documentos que pueden llegar a pesar varios cientos de Mb, se envía el hash asociado, reduciendo drásticamente el tamaño que navega por la red.

La configuración es idéntica a la de una firma en servidor tradicional, proporcionando en el "bytesB64" del documento el digest del mismo, además se añaden parámetros para especificar que lo que se va a firmar es un hash y el algoritmo utilizado para la creación de dicho hash. Dado que se trata de firmas de archivos grandes, el tipo o envoltura de la firma debe ser obligatoriamente DETACHED, con el fin de luego poder validar que el documento original se corresponde con el hash firmado.

Este tipo de firma solamente se encuentra disponible para las firmas XAdES y CAdES.

Ejemplo de firma XAdES Detached proporcionando en digest del documento

Los parámetros que se reciben (en formato application/json) tienen la siguiente forma:

{
    "signatureConfigurations": [
        {
            "document": {
                "bytesB64": "gYbYj9w6DofPvCfwqKKwXitsErA=",
                "name": "test.xml"
            },
            "signatureType": "XADES_B",
            "signatureAlgorithm": "RSA_SHA256",
            "packaging": "DETACHED",
            "xadesConfiguration": {
                "hashSignature": true,
                "hashDigestAlgorithm": "SHA256"
            }
        }
    ]
}

Donde:

Parámetro Tipo Descripción
signatureConfigurations/Document/bytesB64 string digest del documento a firmar.
signatureConfigurations/signatureType string Política de firma a emplear.
signatureConfigurations/signatureAlgorithm string Algoritmo que se usará para cifrar la firma. Valores disponibles:
- RSA_SHA1
- RSA_SHA224
- RSA_SHA256
- RSA_SHA384
- RSA_SHA512
signatureConfigurations/packaging string Envoltura de la firma. Valores disponibles: - DETACHED
signatureConfigurations/xadesConfig/hashSignature boolean Si el valor des true estamos informando que queremos firmas un hash
signatureConfigurations/xadesConfig/hashDigestAlgorithm string Debemos informar el algoritmo con el que se ha generado el hash o digest

Ejemplo de firma CAdES Detached proporcionando en digest del documento

Los parámetros que se reciben (en formato application/json) tienen la siguiente forma:

{
    "redirectUri": "{{redirect_uri}}",
    "certificateCode": "{{certificate_code}}",
    "signatureConfigurations": [{
        "document": {
            "bytesB64": "duqznMIZ0P/3qE1Of7p3HPedybAVeRhXr235PgylADU=",
            "name": "original.pdf"
        },
        "signatureType": "CADES_B",
        "signatureAlgorithm": "RSA_SHA256",
        "packaging": "DETACHED",
        "cadesConfiguration": {
            "hashSignature" : true,
            "hashDigestAlgorithm" : "SHA256"
         }
  }]
}

Donde:

Parámetro Tipo Descripción
signatureConfigurations/Document/bytesB64 string digest del documento a firmar.
signatureConfigurations/signatureType string Política de firma a emplear.
signatureConfigurations/signatureAlgorithm string Algoritmo que se usará para cifrar la firma. Valores disponibles:
- RSA_SHA1
- RSA_SHA224
- RSA_SHA256
- RSA_SHA384
- RSA_SHA512
signatureConfigurations/packaging string Envoltura de la firma. Valores disponibles: - DETACHED
signatureConfigurations/cadesConfig/hashSignature boolean Si el valor des true estamos informando que queremos firmas un hash
signatureConfigurations/cadesConfig/hashDigestAlgorithm string Debemos informar el algoritmo con el que se ha generado el hash o digest

results matching ""

    No results matching ""