

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Autenticidade do conteúdo com manifestos C2PA
<a name="c2pa-manifest"></a>

Ao criar MP4 saídas com AWS Elemental MediaConvert, você pode, opcionalmente, incorporar um manifesto C2PA para fornecer proveniência e autenticidade do conteúdo para sua mídia. O C2PA (Coalition for Content Provenance and Authenticity) é um método padronizado para fornecer informações verificáveis sobre a origem e o histórico do conteúdo digital.

Os manifestos C2PA ajudam a resolver o crescente problema de desinformação e deepfakes, incorporando informações verificáveis em arquivos de mídia. Essas informações criam um registro rastreável da origem e das modificações do conteúdo.

Alguns motivos para incluir manifestos C2PA em seu fluxo de trabalho podem incluir:
+ Forneça informações verificáveis sobre o histórico de transcodificação de um arquivo de mídia.
+ Permita que os sistemas posteriores verifiquem a autenticidade do seu conteúdo.
+ Support iniciativas de transparência para mídia digital.

[Para obter mais informações sobre autenticidade de conteúdo e C2PA, consulte: Iniciativa de [autenticidade de conteúdo](https://contentauthenticity.org/) e especificação C2PA](https://c2pa.org/specifications/specifications/2.2/index.html)

**Topics**
+ [Configurando um trabalho com um manifesto C2PA](c2pa-manifest-use.md)
+ [Requisitos para manifestos C2PA](c2pa-manifest-requirements.md)
+ [Estrutura do manifesto C2PA](c2pa-manifest-structure.md)
+ [Verificando manifestos C2PA](c2pa-manifest-verification.md)

# Configurando um trabalho com um manifesto C2PA
<a name="c2pa-manifest-use"></a>

Para incluir um manifesto C2PA em sua MP4 saída, você precisa definir suas configurações de trabalho com os parâmetros necessários para assinar e incorporar o manifesto.

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

Para incluir um manifesto C2PA em uma MP4 saída usando o MediaConvert console:

1. Na seção **Grupos de saída**, adicione um grupo de saída de **arquivo**.

1. Em **Configurações de saída**, defina **Container como contêiner** **MPEG-4**.

1. Expanda as **configurações do contêiner MPEG-4**.

1. **Para o **manifesto C2PA**, escolha Incluir.**

1. Em **Segredo do certificado**, insira o nome ou ARN do segredo do Secrets Manager que contém sua cadeia de certificados públicos C2PA no formato PEM.

1. Em **Assinatura da chave KMS**, insira o ID ou ARN da chave usada para assinar AWS KMS o manifesto C2PA.

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

Para incluir um manifesto C2PA usando a API, o SDK ou AWS Command Line Interface (AWS CLI), inclua o seguinte nas configurações MP4 do contêiner. Substitua o exemplo ARNs do **segredo do certificado** e da **chave KMS de assinatura** pelo seu 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 manifestos C2PA
<a name="c2pa-manifest-requirements"></a>

Para incluir manifestos C2PA em suas MediaConvert saídas, você precisa do seguinte:

**MP4 contêiner**  
Os manifestos C2PA são suportados apenas para saídas. MP4 

**Certificado C2PA**  
Uma cadeia pública de certificados no formato PEM armazenada no Secrets Manager. A cadeia de certificados deve incluir o certificado do signatário e todos os certificados intermediários, mas não o certificado raiz.  
[Para obter informações sobre como obter certificados compatíveis com C2PA, consulte https://opensource.contentauthenticity. org/docs/signing/get-certificado](https://opensource.contentauthenticity.org/docs/signing/get-cert)  
Para obter informações sobre o Secrets Manager, consulte o [guia do usuário do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).

**AWS KMS chave**  
Uma AWS KMS chave com capacidade de assinatura ECDSA\$1SHA\$1256. Essa chave é usada para assinar o manifesto C2PA. Atualmente, MediaConvert só suporta o algoritmo de ES256 assinatura (ECDSA com SHA-256).  
Para obter informações sobre AWS KMS, consulte o [guia AWS KMS do usuário](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

**permissões do IAM**  
Sua função MediaConvert de serviço deve ter permissões para acessar o segredo e a AWS KMS chave especificados do Secrets Manager. Adicione as seguintes permissões à sua função de serviço:    
****  

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

**Limitações de tamanho**  
O manifesto C2PA tem um limite de tamanho de 32 KB. Se sua cadeia de certificados ou outros componentes do manifesto excederem esse limite, o trabalho falhará com um erro.

# Estrutura do manifesto C2PA
<a name="c2pa-manifest-structure"></a>

Quando você incorpora um manifesto C2PA em sua MP4 saída, MediaConvert gera um manifesto com os seguintes componentes:

**Informações do gerador de reclamações**  
Identifica-se MediaConvert como o serviço que gerou o manifesto.

**Formato**  
Especifica o formato da mídia (vídeo/mp4).

**Asserções**  
Inclui declarações sobre ações realizadas no conteúdo, como:  
+ `c2pa.opened`: indica que o conteúdo foi aberto para processamento
+ `c2pa.transcoded`: indica que o conteúdo foi transcodificado

**Hash de ativos**  
Um hash criptográfico do conteúdo da mídia para verificar sua integridade. MediaConvert usa o algoritmo de hash SHA-256 para validação de ativos.

**Assinatura digital**  
Uma assinatura criada com sua chave KMS que verifica a autenticidade do manifesto. A assinatura inclui um token de carimbo de data/hora da autoridade de carimbo DigiCert de data/hora (http://timestamp.digicert.com) para garantir a validação da assinatura a longo prazo.

O manifesto é incorporado ao MP4 arquivo usando uma caixa UUID C2PA padrão, colocada após a caixa FTYP e antes da caixa MOOV.

**nota**  
Se seu arquivo de entrada já contiver manifestos C2PA, MediaConvert não os preservará na saída. Em vez disso, ele gera um novo manifesto.

# Verificando manifestos C2PA
<a name="c2pa-manifest-verification"></a>

Depois de criar MP4 saídas com manifestos C2PA, você pode verificar os manifestos usando ferramentas compatíveis com C2PA. Essas ferramentas podem extrair e validar o manifesto, incluindo a verificação da assinatura digital e do hash do ativo.

Um manifesto C2PA devidamente validado confirma que:
+ O manifesto foi assinado pelo certificado especificado
+ O conteúdo não foi modificado desde a criação do manifesto
+ As ações e afirmações no manifesto estão intactas

Para obter mais informações sobre o C2PA e as ferramentas de verificação disponíveis, consulte o site do [C2PA](https://c2pa.org). Você pode usar o [c2patool de código aberto para verificar os manifestos do C2PA](https://github.com/contentauth/c2pa-rs/tree/main/cli) em seus arquivos de mídia. Por exemplo:

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

Uma validação bem-sucedida mostrará um resultado semelhante a:

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

Para obter informações mais detalhadas sobre o conteúdo do manifesto, use o `--detailed` sinalizador:

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

A seguir está um exemplo de saída do 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"
  }
 ]
}
```