Skip to content

feat(metadata): Verifiable Credentials (PR7)#43

Merged
lepy merged 1 commit into
masterfrom
feat/metadata-verifiable-credentials
Jun 26, 2026
Merged

feat(metadata): Verifiable Credentials (PR7)#43
lepy merged 1 commit into
masterfrom
feat/metadata-verifiable-credentials

Conversation

@lepy

@lepy lepy commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Letzter PR des Rückgrat-Programms: verifizierbare, signierte Metadaten. Nutzt den vorhandenen pure-Python-EdDSA-Stack (sdata.did) — keine neue/externe Krypto-Dependency.

sdata/semantic.py

  • to_verifiable_credential(metadata, issuer_did, issuer_priv_jwk, …) — wickelt to_jsonld() als credentialSubject (W3C VC, type: SdataMetadataCredential) und signiert als Compact-JWS (typ: vc+ld+jwt).
  • verify_credential(vc_jws, pub_jwk) — verifiziert die Signatur, liefert das credentialSubject (JSON-LD); VerificationError bei Manipulation.

Delegatoren

Metadata.to_verifiable_credential und Metadata.from_verifiable_credential (verifizieren → Metadata via from_jsonld).

Tests/Coverage

tests/test_semantic_vc.py (Sign/Verify-Roundtrip, Manipulationsnachweis, extra_claims, bare Metadata ohne @id). 461 passed, 9 skipped, Coverage 100 %.

Macht Metadaten verifizierbar/vertrauenswürdig: das JSON-LD wird als W3C
Verifiable Credential signiert – über den vorhandenen pure-Python-EdDSA-Stack
(sdata.did.jose), also OHNE neue/externe Krypto-Dependency.

sdata/semantic.py:
- to_verifiable_credential(metadata, issuer_did, issuer_priv_jwk, kid=, ...):
  wickelt to_jsonld() als credentialSubject (W3C VC, type SdataMetadataCredential)
  und signiert als Compact-JWS (typ vc+ld+jwt).
- verify_credential(vc_jws, pub_jwk): verifiziert die Signatur und liefert das
  credentialSubject (JSON-LD); wirft VerificationError bei Manipulation.

Delegatoren: Metadata.to_verifiable_credential und
Metadata.from_verifiable_credential (verifizieren -> Metadata via from_jsonld).

Tests test_semantic_vc.py (Sign/Verify-Roundtrip, Manipulationsnachweis,
extra_claims, bare Metadata ohne @id). Coverage 100%.
@lepy lepy merged commit 8c44054 into master Jun 26, 2026
@lepy lepy deleted the feat/metadata-verifiable-credentials branch June 26, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant