C2PA Schnellstartanleitung
C2PA Schnellstartanleitung
Abschnitt betitelt „C2PA Schnellstartanleitung“Starten Sie in 5 Minuten mit C2PA! Diese Anleitung hilft Ihnen, C2PA-signierte Inhalte zu verstehen, zu verifizieren und zu erstellen.
📋 Inhaltsverzeichnis
Abschnitt betitelt „📋 Inhaltsverzeichnis“C2PA verstehen
Abschnitt betitelt „C2PA verstehen“Was Sie wissen müssen
Abschnitt betitelt „Was Sie wissen müssen“C2PA fügt ein kryptografisch signiertes “Manifest” zu Ihren Mediendateien hinzu, das Folgendes enthält:
- Wer: Identität des Erstellers/Bearbeiters
- Was: Durchgeführte Aktionen (erstellt, bearbeitet, KI-generiert)
- Wann: Zeitstempel
- Wie: Verwendete Tools und Einstellungen
- Von: Quellmaterialien (Zutaten)
Schlüsselkonzepte in 30 Sekunden
Abschnitt betitelt „Schlüsselkonzepte in 30 Sekunden“Originalfoto → [C2PA-Manifest hinzufügen] → Signiertes Foto ↓ Enthält Metadaten: • Ersteller: John Doe • Kamera: Nikon Z9 • Datum: 2025-11-21 • GPS: 37.7749°N, 122.4194°W • Signatur: ✓ GültigBei Bearbeitung:
Signiertes Foto → [In Photoshop bearbeiten] → Neues signiertes Foto ↓ Neues Manifest verweist auf Original als "Zutat"Ergebnis: Vollständige Herkunftskette vom Original zur aktuellen Version.
C2PA-Inhalte verifizieren
Abschnitt betitelt „C2PA-Inhalte verifizieren“Methode 1: Online-Tool (Am einfachsten)
Abschnitt betitelt „Methode 1: Online-Tool (Am einfachsten)“Keine Installation erforderlich!
- Besuchen Sie https://contentcredentials.org/verify
- Ziehen Sie ein beliebiges Bild/Video/Dokument per Drag & Drop
- Zeigen Sie Herkunftsinformationen an:
- Ersteller-Identität
- Bearbeitungsverlauf
- Signaturstatus
- Originalinhalt (falls verfügbar)
Probieren Sie es jetzt mit Beispielbildern von: https://contentauthenticity.org/examples
Methode 2: Browser-Erweiterung
Abschnitt betitelt „Methode 2: Browser-Erweiterung“Für automatische Verifizierung beim Surfen:
- Installieren Sie die Content Credentials-Erweiterung
- Verfügbar für Chrome, Edge, Brave
- Surfen Sie normal
- Erweiterung erkennt automatisch C2PA-Inhalte
- Klicken Sie auf das Symbol, um Herkunftsdetails anzuzeigen
Methode 3: Kommandozeile
Abschnitt betitelt „Methode 3: Kommandozeile“Für Entwickler und Power-User:
c2patool installieren
Abschnitt betitelt „c2patool installieren“# macOS/Linux (mit Cargo)cargo install c2patool
# macOS (mit Homebrew)brew install c2patool
# Windows# Herunterladen von: https://github.com/contentauth/c2patool/releasesDatei verifizieren
Abschnitt betitelt „Datei verifizieren“# Grundlegende Verifizierungc2patool photo.jpg
# Detaillierte JSON-Ausgabec2patool photo.jpg --detailed
# Manifest in JSON-Datei speichernc2patool photo.jpg --output manifest.json
# Mehrere Dateien prüfenc2patool *.jpgBeispielausgabe
Abschnitt betitelt „Beispielausgabe“File: photo.jpgStatus: ✓ Valid C2PA signature
Creator: John Doe (john@example.com)Created: 2025-11-21T10:30:00ZCamera: Nikon Z9Signature: ValidCertificate: DigiCertActions: CapturedMethode 4: Programmatisch
Abschnitt betitelt „Methode 4: Programmatisch“Verifizierung in Ihre App integrieren:
JavaScript/Node.js
Abschnitt betitelt „JavaScript/Node.js“const c2pa = require('c2pa-node');
async function verify(imagePath) { const manifest = await c2pa.read(imagePath);
if (manifest) { console.log('Creator:', manifest.claim.creator); console.log('Created:', manifest.claim.created); console.log('Valid:', manifest.validation_status); } else { console.log('No C2PA data found'); }}
verify('photo.jpg');from c2pa import Reader
reader = Reader('photo.jpg')manifest = reader.manifest()
if manifest: print(f"Creator: {manifest.creator}") print(f"Created: {manifest.created}") print(f"Valid: {manifest.is_valid}")else: print("No C2PA data found")C2PA-Inhalte erstellen
Abschnitt betitelt „C2PA-Inhalte erstellen“Methode 1: Unterstützte Software verwenden
Abschnitt betitelt „Methode 1: Unterstützte Software verwenden“Kein Programmieren erforderlich:
Adobe Photoshop/Lightroom
Abschnitt betitelt „Adobe Photoshop/Lightroom“- Öffnen Sie ein Bild in Photoshop/Lightroom
- Gehen Sie zu Bearbeiten → Content Credentials
- Füllen Sie Ersteller-Informationen aus
- Speichern Sie die Datei → C2PA-Manifest wird automatisch hinzugefügt
Kameras mit integriertem C2PA
Abschnitt betitelt „Kameras mit integriertem C2PA“- Nikon Z9/Z8: In Kameraeinstellungen aktivieren → Fotos werden bei Aufnahme signiert
- Leica M11-P/SL3: Automatische Signierung aktiviert
- Sony Alpha-Serie: Über Firmware-Update aktivieren
Methode 2: Kommandozeile (c2patool)
Abschnitt betitelt „Methode 2: Kommandozeile (c2patool)“Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Sie benötigen ein Signaturzertifikat:
Zum Testen (selbstsigniert):
# Test-Zertifikat generieren (nicht vertrauenswürdig für Validatoren)openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodesFür Produktion:
- Zertifikat von vertrauenswürdiger CA kaufen (DigiCert, GlobalSign usw.)
- C2PA-Schlüsselnutzungsanforderungen angeben
Manifest erstellen
Abschnitt betitelt „Manifest erstellen“manifest.json erstellen:
{ "claim_generator": "meine-app/1.0", "assertions": [ { "label": "stds.schema-org.CreativeWork", "data": { "@context": "https://schema.org", "@type": "CreativeWork", "author": [ { "@type": "Person", "name": "John Doe" } ] } }, { "label": "c2pa.actions", "data": { "actions": [ { "action": "c2pa.created" } ] } } ]}Datei signieren
Abschnitt betitelt „Datei signieren“# Mit Ihrem Zertifikat signierenc2patool photo.jpg \ --manifest manifest.json \ --signer-cert cert.pem \ --signer-key key.pem \ --output signed_photo.jpg
# Überprüfen, ob es funktioniert hatc2patool signed_photo.jpgMethode 3: Programmatisch
Abschnitt betitelt „Methode 3: Programmatisch“use c2pa::{Builder, SigningAlg};
fn main() -> Result<(), Box<dyn std::error::Error>> { let mut builder = Builder::from_file("input.jpg")?;
// Ersteller-Assertion hinzufügen builder.add_assertion("stds.schema-org.CreativeWork", r#"{"author": [{"name": "John Doe"}]}"#)?;
// Signieren und speichern let signer = get_signer(); // Ihr Zertifikat/Schlüssel builder.sign("output.jpg", signer)?;
Ok(())}JavaScript/Node.js
Abschnitt betitelt „JavaScript/Node.js“const c2pa = require('c2pa-node');
async function sign(inputPath, outputPath) { const manifest = { claim_generator: 'meine-app/1.0', assertions: [ { label: 'stds.schema-org.CreativeWork', data: { author: [{ name: 'John Doe' }] } } ] };
const signer = { cert: 'path/to/cert.pem', key: 'path/to/key.pem' };
await c2pa.sign(inputPath, outputPath, manifest, signer); console.log('Erfolgreich signiert!');}
sign('input.jpg', 'output.jpg');from c2pa import Builder, Signer
# Builder erstellenbuilder = Builder.from_file('input.jpg')
# Assertions hinzufügenbuilder.add_assertion('stds.schema-org.CreativeWork', { 'author': [{'name': 'John Doe'}]})
# Signierensigner = Signer('cert.pem', 'key.pem')builder.sign('output.jpg', signer)
print('Erfolgreich signiert!')Methode 4: Signierte Inhalte bearbeiten (Herkunft bewahren)
Abschnitt betitelt „Methode 4: Signierte Inhalte bearbeiten (Herkunft bewahren)“Beim Bearbeiten von C2PA-signierten Inhalten verweisen Sie auf das Original als “Zutat”:
# Bearbeiten und Kette bewahrenc2patool edited_photo.jpg \ --parent original_photo.jpg \ --manifest edit_manifest.json \ --signer-cert cert.pem \ --signer-key key.pem \ --output final_photo.jpgDas neue Manifest verweist auf original_photo.jpg als Zutat und bewahrt so die vollständige Historie.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“Mehr erfahren
Abschnitt betitelt „Mehr erfahren“Die Spezifikation verstehen:
Tools erkunden:
- Tools & Bibliotheken - SDKs für alle gängigen Sprachen
- Offizielle Dokumentation
Häufige Fragen:
- FAQ - Über 25 häufig gestellte Fragen
- GitHub Discussions
Tutorials & Beispiele
Abschnitt betitelt „Tutorials & Beispiele“Offizielle Tutorials:
Code-Beispiele:
Produktionsbereitstellung
Abschnitt betitelt „Produktionsbereitstellung“Vor dem Go-Live:
-
Produktionszertifikat erhalten
- Von vertrauenswürdiger CA kaufen (DigiCert, GlobalSign usw.)
- C2PA-kompatible Schlüsselnutzung sicherstellen
- Kosten: ~50-500 €/Jahr
-
Sichere Schlüsselspeicherung
- Hardware-Sicherheitsmodul (HSM) für private Schlüssel verwenden
- Oder Cloud-HSM (AWS CloudHSM, Azure Key Vault)
- Niemals Schlüssel in Quellcodeverwaltung committen
-
Gründlich testen
- Signaturen mit mehreren Validatoren verifizieren
- Auf verschiedenen Dateiformaten testen
- Plattformübergreifende Kompatibilität prüfen
-
Überwachen & Warten
- Zertifikatsrotation implementieren
- Auf Widerrufe überwachen
- SDKs aktuell halten
Integration in Ihre Anwendung
Abschnitt betitelt „Integration in Ihre Anwendung“Wichtige Integrationspunkte:
Ihr App-Workflow:
1. Inhaltserstellung/-Upload ↓2. [C2PA-Manifest hinzufügen] ← Ihr Integrationspunkt ↓3. Mit Zertifikat signieren ↓4. Signierten Inhalt speichern/veröffentlichen ↓5. [Optional] Bei Anzeige verifizieren ← Weiterer IntegrationspunktTypische Integrationszeit:
- Einfache Verifizierung: 1-2 Tage
- Grundlegende Signierung: 3-5 Tage
- Vollständige Produktionsbereitstellung: 2-4 Wochen
Zertifikate erhalten
Abschnitt betitelt „Zertifikate erhalten“Testen (Kostenlos):
- Selbstsignierte Zertifikate
- Nur für Entwicklung geeignet
- Nicht vertrauenswürdig für Validatoren
Produktion:
- DigiCert: https://www.digicert.com/
- GlobalSign: https://www.globalsign.com/
- Entrust: https://www.entrust.com/
- Zertifikate mit C2PA-Schlüsselnutzungserweiterungen anfordern
Der Community beitreten
Abschnitt betitelt „Der Community beitreten“Hilfe erhalten:
- GitHub Issues - Fehlerberichte
- GitHub Discussions - Fragen
- C2PA Website - Offizielle Ressourcen
Beitragen:
- awesome-c2pa - Ressourcen hinzufügen, Dokumentation übersetzen
- C2PA Implementierungen - Code beitragen
- Content Authenticity Initiative - Der Bewegung beitreten
Schnellreferenzkarte
Abschnitt betitelt „Schnellreferenzkarte“Inhalt verifizieren
Abschnitt betitelt „Inhalt verifizieren“c2patool image.jpgInhalt signieren
Abschnitt betitelt „Inhalt signieren“c2patool input.jpg \ --manifest manifest.json \ --signer-cert cert.pem \ --signer-key key.pem \ --output signed.jpgVon Web prüfen
Abschnitt betitelt „Von Web prüfen“https://contentcredentials.org/verifyHäufige Manifest-Vorlage
Abschnitt betitelt „Häufige Manifest-Vorlage“{ "claim_generator": "app-name/version", "assertions": [ { "label": "stds.schema-org.CreativeWork", "data": { "author": [{"name": "Name des Erstellers"}] } } ]}Problembehandlung
Abschnitt betitelt „Problembehandlung“”No C2PA data found”
Abschnitt betitelt „”No C2PA data found”“- Datei hat möglicherweise kein C2PA-Manifest
- Metadaten wurden möglicherweise entfernt
- Versuchen Sie ein anderes Dateiformat
”Invalid signature”
Abschnitt betitelt „”Invalid signature”“- Datei nach Signierung geändert
- Zertifikat widerrufen oder abgelaufen
- Vertrauenskette unterbrochen
”Certificate not trusted”
Abschnitt betitelt „”Certificate not trusted”“- Verwendung selbstsigniertes Zertifikat (bei Tests zu erwarten)
- CA nicht in Vertrauensliste
- Bei Bedarf benutzerdefinierte Vertrauensanker hinzufügen
Leistungsprobleme
Abschnitt betitelt „Leistungsprobleme“- C2PA fügt ~10-50 KB pro Manifest hinzu (minimal)
- Signierung dauert < 1 Sekunde für typische Dateien
- Verifizierung ist nahezu sofort
Bereit zu starten? Wählen Sie oben Ihre Methode und legen Sie los!
Fragen? Siehe FAQ oder öffnen Sie ein Issue.
Zuletzt aktualisiert: November 2025