

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Authenticité du contenu grâce aux manifestes du C2PA
<a name="c2pa-manifest"></a>

Lorsque vous créez des MP4 sorties avec AWS Elemental MediaConvert, vous pouvez éventuellement intégrer un manifeste C2PA pour fournir la provenance et l'authenticité du contenu de votre média. La C2PA (Coalition pour la provenance et l'authenticité du contenu) est une méthode standardisée pour fournir des informations vérifiables sur l'origine et l'historique du contenu numérique.

Les manifestes du C2PA aident à résoudre le problème croissant de la désinformation et des deepfakes en intégrant des informations vérifiables dans des fichiers multimédias. Ces informations créent un enregistrement traçable de l'origine et des modifications du contenu.

Parmi les raisons d'inclure les manifestes C2PA dans votre flux de travail, citons :
+ Fournissez des informations vérifiables sur l'historique de transcodage d'un fichier multimédia.
+ Permettez aux systèmes en aval de vérifier l'authenticité de votre contenu.
+ Support aux initiatives de transparence pour les médias numériques.

Pour plus d'informations sur l'authenticité du contenu et le C2PA, voir : [Content Authenticity Initiative et spécification](https://contentauthenticity.org/) [C2PA](https://c2pa.org/specifications/specifications/2.2/index.html)

**Topics**
+ [Configuration d'une tâche avec un manifeste C2PA](c2pa-manifest-use.md)
+ [Exigences relatives aux manifestes du C2PA](c2pa-manifest-requirements.md)
+ [Structure du manifeste du C2PA](c2pa-manifest-structure.md)
+ [Vérification des manifestes du C2PA](c2pa-manifest-verification.md)

# Configuration d'une tâche avec un manifeste C2PA
<a name="c2pa-manifest-use"></a>

Pour inclure un manifeste C2PA dans votre MP4 sortie, vous devez configurer les paramètres de votre tâche avec les paramètres nécessaires à la signature et à l'intégration du manifeste.

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

Pour inclure un manifeste C2PA dans une MP4 sortie à l'aide de la MediaConvert console :

1. Dans la section **Groupes de sortie**, ajoutez un groupe de sortie de **fichiers**.

1. Dans **Paramètres de sortie**, définissez **Container sur Conteneur** **MPEG-4**.

1. Étendez les paramètres du **conteneur MPEG-4.**

1. Pour le **manifeste C2PA**, choisissez **Inclure**.

1. Dans le **champ Secret du certificat**, entrez le nom ou l'ARN du secret Secrets Manager qui contient votre chaîne de certificats publics C2PA au format PEM.

1. Pour **Signer la clé KMS**, entrez l'ID ou l'ARN de la AWS KMS clé utilisée pour signer le manifeste C2PA.

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

Pour inclure un manifeste C2PA à l'aide de l'API, du SDK ou AWS Command Line Interface (AWS CLI), incluez les éléments suivants dans les paramètres de votre MP4 conteneur. Remplacez l'exemple ARNs du **secret du certificat** et de la **clé de signature KMS** par votre 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"
                }
            }
        }]
    }]
...
```

# Exigences relatives aux manifestes du C2PA
<a name="c2pa-manifest-requirements"></a>

Pour inclure les manifestes C2PA dans vos MediaConvert sorties, vous avez besoin des éléments suivants :

**MP4 contenant**  
Les manifestes C2PA ne sont pris en charge que pour les MP4 sorties.

**Certificat C2PA**  
Chaîne de certificats publics au format PEM stockée dans Secrets Manager. La chaîne de certificats doit inclure le certificat du signataire et tous les certificats intermédiaires, mais pas le certificat racine.  
[Pour plus d'informations sur l'obtention de certificats compatibles avec le C2PA, consultez https://opensource.contentauthenticity. org/docs/signing/get-certificat](https://opensource.contentauthenticity.org/docs/signing/get-cert)  
Pour plus d'informations sur Secrets Manager, consultez le [guide de l'utilisateur de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).

**AWS KMS clé**  
Une AWS KMS clé dotée de la capacité de signature ECDSA\$1SHA\$1256. Cette clé est utilisée pour signer le manifeste C2PA. Actuellement, MediaConvert seul l'algorithme de signature ES256 (ECDSA avec SHA-256) est pris en charge.  
Pour plus d'informations AWS KMS, consultez le [guide de AWS KMS l'utilisateur](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

**Autorisations IAM**  
Votre rôle MediaConvert de service doit être autorisé à accéder au secret et à la AWS KMS clé de Secrets Manager spécifiés. Ajoutez les autorisations suivantes à votre rôle de service :    
****  

```
{
    "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"
        }
    ]
}
```

**Limites de taille**  
La taille du manifeste C2PA est limitée à 32 Ko. Si votre chaîne de certificats ou d'autres composants du manifeste dépassent cette limite, la tâche échouera avec une erreur.

# Structure du manifeste du C2PA
<a name="c2pa-manifest-structure"></a>

Lorsque vous intégrez un manifeste C2PA dans votre MP4 sortie, il MediaConvert génère un manifeste avec les composants suivants :

**Informations sur le générateur de réclamations**  
Identifie MediaConvert comme étant le service qui a généré le manifeste.

**Format**  
Spécifie le format multimédia (vidéo/mp4).

**Assertions**  
Inclut des déclarations concernant les actions effectuées sur le contenu, telles que :  
+ `c2pa.opened`: indique que le contenu a été ouvert pour traitement
+ `c2pa.transcoded`: indique que le contenu a été transcodé

**Hachage des actifs**  
Un hachage cryptographique du contenu multimédia pour vérifier son intégrité. MediaConvert utilise l'algorithme de hachage SHA-256 pour la validation des actifs.

**Signature numérique**  
Signature créée avec votre clé KMS qui vérifie l'authenticité du manifeste. La signature inclut un jeton d'horodatage émis par l'autorité DigiCert d'horodatage (http://timestamp.digicert.com) pour garantir la validation de la signature à long terme.

Le manifeste est intégré au MP4 fichier à l'aide d'une boîte UUID C2PA standard, placée après la case FTYP et avant la boîte MOOV.

**Note**  
Si votre fichier d'entrée contient déjà des manifestes C2PA, MediaConvert il ne les conserve pas dans la sortie. Au lieu de cela, il génère un nouveau manifeste.

# Vérification des manifestes du C2PA
<a name="c2pa-manifest-verification"></a>

Après avoir créé des MP4 sorties avec des manifestes C2PA, vous pouvez vérifier les manifestes à l'aide d'outils compatibles avec C2PA. Ces outils peuvent extraire et valider le manifeste, notamment en vérifiant la signature numérique et le hachage des actifs.

Un manifeste C2PA correctement validé confirme que :
+ Le manifeste a été signé par le certificat spécifié
+ Le contenu n'a pas été modifié depuis la création du manifeste
+ Les actions et les assertions du manifeste sont intactes

Pour plus d'informations sur le C2PA et les outils de vérification disponibles, consultez le site Web du [C2PA](https://c2pa.org). Vous pouvez utiliser l'outil open-source [c2patool](https://github.com/contentauth/c2pa-rs/tree/main/cli) pour vérifier les manifestes C2PA dans vos fichiers multimédia. Par exemple :

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

Une validation réussie affichera un résultat similaire à :

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

Pour des informations plus détaillées sur le contenu du manifeste, utilisez l'`--detailed`indicateur :

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

Voici un exemple de sortie 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"
  }
 ]
}
```