

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Autenticidad del contenido con manifiestos de C2PA
<a name="c2pa-manifest"></a>

Al crear MP4 resultados con AWS Elemental MediaConvert, si lo desea, puede incrustar un manifiesto C2PA para proporcionar la procedencia y autenticidad del contenido multimedia. La C2PA (Coalición por la procedencia y la autenticidad del contenido) es un método estandarizado para proporcionar información verificable sobre el origen y la historia del contenido digital.

Los manifiestos de la C2PA ayudan a abordar el creciente problema de la desinformación y las falsificaciones falsas al incluir información verificable en los archivos multimedia. Esta información crea un registro rastreable del origen y las modificaciones del contenido.

Algunas de las razones para incluir los manifiestos de C2PA en su flujo de trabajo pueden incluir:
+ Proporcione información verificable sobre el historial de transcodificación de un archivo multimedia.
+ Permita que los sistemas intermedios verifiquen la autenticidad de su contenido.
+ Support las iniciativas de transparencia para los medios digitales.

[Para obtener más información sobre la autenticidad del contenido y la C2PA, consulte: [Iniciativa de autenticidad del contenido](https://contentauthenticity.org/) y especificación C2PA](https://c2pa.org/specifications/specifications/2.2/index.html)

**Topics**
+ [Configuración de un trabajo con un manifiesto de C2PA](c2pa-manifest-use.md)
+ [Requisitos para los manifiestos de C2PA](c2pa-manifest-requirements.md)
+ [Estructura del manifiesto C2PA](c2pa-manifest-structure.md)
+ [Verificación de los manifiestos de C2PA](c2pa-manifest-verification.md)

# Configuración de un trabajo con un manifiesto de C2PA
<a name="c2pa-manifest-use"></a>

Para incluir un manifiesto de C2PA en el MP4 resultado, debe configurar los ajustes del trabajo con los parámetros necesarios para firmar e incrustar el manifiesto.

## MediaConvert consola
<a name="collapsible-section-1"></a>

Para incluir un manifiesto de C2PA en una MP4 salida mediante la MediaConvert consola:

1. En la sección **Grupos de salida**, agrega un grupo de salida de **archivos**.

1. En la **configuración de salida**, defina **Contenedor como contenedor** **MPEG-4**.

1. Amplíe la configuración **del contenedor MPEG-4**.

1. **Para el **manifiesto C2PA**, seleccione Incluir.**

1. En **Certificado secreto**, introduzca el nombre o el ARN del secreto de Secrets Manager que contiene su cadena de certificados públicos C2PA en formato PEM.

1. Para **Firmar la clave de KMS**, introduzca el ID o el ARN de la AWS KMS clave utilizada para firmar el manifiesto de C2PA.

## API, SDK o () AWS Command Line Interface AWS CLI
<a name="collapsible-section-2"></a>

Para incluir un manifiesto de C2PA mediante la API, el SDK o AWS Command Line Interface (AWS CLI), incluye lo siguiente en la configuración del MP4 contenedor. Sustituya el ejemplo ARNs del **secreto del certificado** y la **clave de firma de KMS** por su: ARNs

```
...
    "OutputGroups": [{
        "Name": "File Group",
        "OutputGroupSettings": {
            "Type": "FILE_GROUP_SETTINGS",
            "FileGroupSettings": {}
        },
        "Outputs": [{
            "VideoDescription": {...},
            "AudioDescriptions": [...],
            "ContainerSettings": {
                "Container": "MP4",
                "Mp4Settings": {
                    "C2paManifest": "INCLUDE",
                    "CertificateSecret": "arn:aws:secretsmanager:us-west-2:111122223333:secret:c2pa-certificate-abc123",
                    "SigningKmsKey": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                }
            }
        }]
    }]
...
```

# Requisitos para los manifiestos de C2PA
<a name="c2pa-manifest-requirements"></a>

Para incluir los manifiestos de C2PA en sus MediaConvert resultados, necesita lo siguiente:

**MP4 contenedor**  
Los manifiestos C2PA solo se admiten para MP4 las salidas.

**Certificado C2PA**  
Una cadena de certificados públicos en formato PEM almacenada en Secrets Manager. La cadena de certificados debe incluir el certificado del firmante y todos los certificados intermedios, pero no el certificado raíz.  
[Para obtener información sobre cómo obtener certificados compatibles con C2PA, consulte https://opensource.contentauthenticity. org/docs/signing/get-certificado](https://opensource.contentauthenticity.org/docs/signing/get-cert)  
Para obtener información sobre Secrets Manager, consulte la [guía del usuario de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).

**AWS KMS clave**  
Una AWS KMS clave con capacidad de firma ECDSA\$1SHA\$1256. Esta clave se usa para firmar el manifiesto de C2PA. Actualmente, MediaConvert solo admite el algoritmo de firma ES256 (ECDSA con SHA-256).  
[Para obtener más información al respecto AWS KMS, consulte la guía del usuario.AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)

**Permisos de IAM**  
Su función MediaConvert de servicio debe tener permisos para acceder al secreto y la AWS KMS clave de Secrets Manager especificados. Añada los siguientes permisos a su función de servicio:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kms:Sign",
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        },
        {
            "Effect": "Allow",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:c2pa-certificate-abc123"
        }
    ]
}
```

**Limitaciones de tamaño**  
El manifiesto C2PA tiene un límite de tamaño de 32 KB. Si la cadena de certificados u otros componentes del manifiesto superan este límite, se producirá un error en el trabajo.

# Estructura del manifiesto C2PA
<a name="c2pa-manifest-structure"></a>

Al incrustar un manifiesto de C2PA en la MP4 salida, MediaConvert genera un manifiesto con los siguientes componentes:

**Información sobre el generador de reclamos**  
Se identifica MediaConvert como el servicio que generó el manifiesto.

**Formato**  
Especifica el formato multimedia (video/mp4).

**Aserciones**  
Incluye declaraciones sobre las acciones realizadas en el contenido, como:  
+ `c2pa.opened`: indica que el contenido se abrió para su procesamiento
+ `c2pa.transcoded`: Indica que el contenido se ha transcodificado

**Hash de activos**  
Un hash criptográfico del contenido multimedia para verificar su integridad. MediaConvert utiliza el algoritmo de hash SHA-256 para la validación de activos.

**Firma digital**  
Una firma creada con tu clave KMS que verifica la autenticidad del manifiesto. La firma incluye un token de marca de tiempo de la autoridad de marcas DigiCert de tiempo (http://timestamp.digicert.com) para garantizar la validación de la firma a largo plazo.

El manifiesto se incrusta en el MP4 archivo mediante un recuadro UUID C2PA estándar, colocado después del recuadro FTYP y antes del recuadro MOOV.

**nota**  
Si el archivo de entrada ya contiene manifiestos de C2PA, MediaConvert no los conserva en la salida. En su lugar, genera un nuevo manifiesto.

# Verificación de los manifiestos de C2PA
<a name="c2pa-manifest-verification"></a>

Tras crear MP4 los resultados con los manifiestos de C2PA, puede verificarlos mediante herramientas compatibles con C2PA. Estas herramientas pueden extraer y validar el manifiesto, incluida la comprobación de la firma digital y el hash de los activos.

Un manifiesto C2PA debidamente validado confirma que:
+ El manifiesto estaba firmado por el certificado especificado
+ El contenido no se ha modificado desde que se creó el manifiesto
+ Las acciones y afirmaciones del manifiesto están intactas

[Para obtener más información sobre C2PA y las herramientas de verificación disponibles, consulta el sitio web de C2PA.](https://c2pa.org) Puede utilizar la [herramienta c2PA de código abierto para verificar los manifiestos de C2PA en sus](https://github.com/contentauth/c2pa-rs/tree/main/cli) archivos multimedia. Por ejemplo:

```
c2patool example.mp4 --info
```

Una validación correcta mostrará un resultado similar al siguiente:

```
$ c2patool example.mp4 --info
Information for example.mp4
Manifest store size = 32000 (0.56% of file size 5705967)
Validated
One manifest
```

Para obtener información más detallada sobre el contenido del manifiesto, usa la `--detailed` marca:

```
c2patool example.mp4 --detailed
```

El siguiente es un ejemplo de salida de c2patool:

```
$ c2patool example.mp4 --detailed
{
 "active_manifest": "urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da",
 "manifests": {
  "urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da": {
   "claim": {
    "dc:title": "example.mp4",
    "dc:format": "video/mp4",
    "instanceID": "xmp:iid:190fb451-7dc4-4878-b0d2-512d9b1c5dab",
    "claim_generator": "mediaconvert/1.0",
    "claim_generator_info": [
     {
      "name": "MediaConvert",
      "version": "1.0",
      "org.cai.c2pa_rs": "0.39.0"
     }
    ],
    "signature": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.signature",
    "assertions": [
     {
      "url": "self#jumbf=c2pa.assertions/c2pa.actions",
      "hash": "P2+zrSTu2U5aGo4mNC35EWEM7vjfLho/2tTKmZ+ls+k="
     },
     {
      "url": "self#jumbf=c2pa.assertions/c2pa.hash.bmff",
      "hash": "majeRA6voTIMvHShWBR5Vqg7e4c7dVFsfTbezIzn63o="
     }
    ],
    "alg": "sha256"
   },
   "assertion_store": {
    "c2pa.actions": {
     "actions": [
      {
       "action": "c2pa.opened"
      },
      {
       "action": "c2pa.transcoded"
      }
     ]
    },
    "c2pa.hash.bmff": {
     "alg": "sha256",
     "hash": "BHZI6ml1LqBf2xLaKAzYS8uOYwWo5/Wsc30wRYmnr4M=",
     "name": "jumbf manifest",
     "exclusions": [
      {
       "data": null,
       "exact": null,
       "flags": null,
       "xpath": "/ftyp",
       "length": null,
       "subset": null,
       "version": null
      },
      {
       "data": null,
       "exact": null,
       "flags": null,
       "xpath": "/uuid",
       "length": null,
       "subset": null,
       "version": null
      },
      {
       "data": null,
       "exact": null,
       "flags": null,
       "xpath": "/free",
       "length": null,
       "subset": null,
       "version": null
      },
      {
       "data": null,
       "exact": null,
       "flags": null,
       "xpath": "/mdat",
       "length": null,
       "subset": [
        {
         "length": 8,
         "offset": 0
        }
       ],
       "version": null
      },
      {
       "data": null,
       "exact": null,
       "flags": null,
       "xpath": "/moov",
       "length": null,
       "subset": null,
       "version": null
      },
      {
       "data": null,
       "exact": null,
       "flags": null,
       "xpath": "/mfra",
       "length": null,
       "subset": null,
       "version": null
      }
     ]
    }
   },
   "signature": {
    "alg": "es256",
    "issuer": "Test Organization",
    "time": "2025-04-11T23:17:33+00:00"
   }
  }
 },
 "validation_status": [
  {
   "code": "claimSignature.validated",
   "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.signature",
   "explanation": "claim signature valid"
  },
  {
   "code": "assertion.hashedURI.match",
   "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.assertions/c2pa.actions",
   "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.actions"
  },
  {
   "code": "assertion.hashedURI.match",
   "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.assertions/c2pa.hash.bmff",
   "explanation": "hashed uri matched: self#jumbf=c2pa.assertions/c2pa.hash.bmff"
  },
  {
   "code": "assertion.bmffHash.match",
   "url": "self#jumbf=/c2pa/urn:uuid:0b3bd0b6-9783-4adc-9609-fb29fff858da/c2pa.assertions/c2pa.hash.bmff",
   "explanation": "data hash valid"
  }
 ]
}
```