-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Labels
Description
If an issuer uses a HTTP identifier like https://example.com/issuers/abc123 and then a Data Integrity proof, how does a verifier confirm that the key identifier in the proof like https://example.com/issuers/abc123/key is actually a key owned by the issuer?
{
"type": ["VerifiableCredential", "OpenBadgeCredential"], ...
"issuer": "https://example.com/issuers/abc123",
"proof": {
"type": "DataIntegrityProof",
"created": "2025-09-01T20:35:20Z",
"cryptosuite": "eddsa-rdfc-2022",
"proofPurpose": "assertionMethod",
"proofValue": "z5tgU95feKnX9ezpD622pjGedtTS7hPp28nyPxDD2xg9aQhesna5zdR3HQXJ2sarC8o1tAcq5Nm2gN5EV7fTPPR5o",
"verificationMethod": "https://example.com/issuers/abc123/key"
}
}
The spec doesn't require a specific piece of data be returned from the issuer.id URL if it's an HTTPS URL. Do verifiers need to get key association information from an external source?
Some related reading:
- https://identity.foundation/well-known-did-configuration/ (spec link seems broken at the moment), but this is something some people do to link https IDs to DIDs. -- The verifier might just guess that there is a document posted at
https://example.com/issuers/abc123/.well-known/did-configuration - Controlled identifiers spec: https://w3c.github.io/cid/#data-model