Update ob and clr schemas (renders from unifiedmodel)
This commit is contained in:
parent
66fd9e4bf8
commit
4e35622d92
@ -70,9 +70,9 @@ public class Credential extends GeneratedObject {
|
|||||||
|
|
||||||
private static final Map<Credential.Type, SchemaKey> schemas = new ImmutableMap.Builder<Credential.Type, SchemaKey>()
|
private static final Map<Credential.Type, SchemaKey> schemas = new ImmutableMap.Builder<Credential.Type, SchemaKey>()
|
||||||
.put(AchievementCredential, Catalog.OB_30_ACHIEVEMENTCREDENTIAL_JSON)
|
.put(AchievementCredential, Catalog.OB_30_ACHIEVEMENTCREDENTIAL_JSON)
|
||||||
.put(ClrCredential, Catalog.OB_30_ACHIEVEMENTCREDENTIAL_JSON)
|
.put(ClrCredential, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
||||||
.put(EndorsementCredential, Catalog.OB_30_ENDORSEMENTCREDENTIAL_JSON)
|
|
||||||
.put(VerifiablePresentation, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
.put(VerifiablePresentation, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
||||||
|
.put(EndorsementCredential, Catalog.OB_30_ENDORSEMENTCREDENTIAL_JSON)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,7 +85,7 @@ public class Credential extends GeneratedObject {
|
|||||||
public enum Type {
|
public enum Type {
|
||||||
AchievementCredential,
|
AchievementCredential,
|
||||||
OpenBadgeCredential, //treated as an alias of AchievementCredential
|
OpenBadgeCredential, //treated as an alias of AchievementCredential
|
||||||
ClrCredential, //NOT a duplicate of OB this does not use an alias and we ONLY use 'ClrCredential' as the base type
|
ClrCredential,
|
||||||
EndorsementCredential,
|
EndorsementCredential,
|
||||||
VerifiablePresentation,
|
VerifiablePresentation,
|
||||||
VerifiableCredential, //this is an underspecifier in our context
|
VerifiableCredential, //this is an underspecifier in our context
|
||||||
|
@ -34,6 +34,9 @@ public class EmbeddedProofProbe extends Probe<Credential> {
|
|||||||
@Override
|
@Override
|
||||||
public ReportItems run(Credential crd, RunContext ctx) throws Exception {
|
public ReportItems run(Credential crd, RunContext ctx) throws Exception {
|
||||||
|
|
||||||
|
//TODO check that proof is Ed25519 - issue error if not ("type": "Ed25519Signature2020",
|
||||||
|
//TODO check value "proofPurpose": "assertionMethod", if not error
|
||||||
|
|
||||||
VerifiableCredential vc = VerifiableCredential.fromJson(new StringReader(crd.getJson().toString()));
|
VerifiableCredential vc = VerifiableCredential.fromJson(new StringReader(crd.getJson().toString()));
|
||||||
vc.setDocumentLoader(new CachingDocumentLoader());
|
vc.setDocumentLoader(new CachingDocumentLoader());
|
||||||
|
|
||||||
@ -51,6 +54,10 @@ public class EmbeddedProofProbe extends Probe<Credential> {
|
|||||||
// did:key:[publicKeyMultibase]
|
// did:key:[publicKeyMultibase]
|
||||||
// [publicKeyMultibase]
|
// [publicKeyMultibase]
|
||||||
|
|
||||||
|
// TODO fourth format that we don't support yet: a URL that returns a Ed25519VerificationKey2020
|
||||||
|
// if starts with http and does not have hashcode, try fetch and see if returns Ed25519VerificationKey2020
|
||||||
|
// property is publicKeyMultibase
|
||||||
|
|
||||||
if (method.toString().contains("#")) {
|
if (method.toString().contains("#")) {
|
||||||
publicKeyMultibase = method.getFragment();
|
publicKeyMultibase = method.getFragment();
|
||||||
} else {
|
} else {
|
||||||
@ -77,6 +84,11 @@ public class EmbeddedProofProbe extends Probe<Credential> {
|
|||||||
|
|
||||||
Ed25519Signature2020LdVerifier verifier = new Ed25519Signature2020LdVerifier(publicKey);
|
Ed25519Signature2020LdVerifier verifier = new Ed25519Signature2020LdVerifier(publicKey);
|
||||||
|
|
||||||
|
//TODO find out whether we also should check that controller matches issuer ID:
|
||||||
|
// if [controller]#[publicKeyMultibase] format - check [controller] segment
|
||||||
|
// if did:key:[publicKeyMultibase] format: issuer ID must match the entire URI
|
||||||
|
// if [publicKeyMultibase] -- don't check issuer ID. Maybe we should warn about this syntax.
|
||||||
|
|
||||||
try {
|
try {
|
||||||
verifier.verify(vc);
|
verifier.verify(vc);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
Loading…
Reference in New Issue
Block a user