From my testing it looks like the open badges specification doesn’t align with the V2 assertion because the badge ID is always set to urn:uuid:example. The open badge validator always rejects my assertions because it doesn’t recognize the badge id as a valid IRI?
Could you share your issuer profile?
https://openbadgespec.org/extensions/applyLinkExtension/context.json
I’m pretty sure the issuer is valid because my credentials have been verifying via the Blockcerts verifier.
Edit: Just noticed that the email on my hosted issuer profile is different than the one inside my BadgeClass, could that be causing the issue?
Getting closer, There are 4 native extensions used to create the certs which are recipientProfile, signature, signatureLines and verification. When I use an open source Open Badges validator they all return errors. I think they all need a @context included as well? Here is what the validator outputs, also it doesn’t seem to like the publicKey attribute of the issuer profile, specifically because the ecdsa-koblitz-pubkey isn’t a valid IRI.
"messages": [
{
"name": "VALIDATE_EXTENSION_NODE",
"messageLevel": "ERROR",
"result": "Could not determine extension type to test",
"success": false
}
Edit: Ok I’m starting to understand this a bit better. I see that the blockcerts context that is linked into credentials includes the obi validation for the native extensions. If I included additional global values and per recipient values then do I need to build obi validation via extensions?
More progress, any help is appreciated!
I have forked the openbadges validator to get down to the bottom if this issue.
one of the node_types that is being parsed through the blockcerts v2 context is “https://w3.org/blockcerts#RecipientProfile”
If I hardcode it to be RecipientProfile instead, I don’t receive any obi:extension errors. Due to this error the openbadges validator cannot determine what type to test for each of the Blockcerts extensions.
Thanks