Skip to main content

Operations

Below are the methods exposed by the CYS keymaster client SDKs.

DID Operations​

Create an Identity​

await Keymaster.createId({ name: "Paul Revere" });

Get a DID Document​

await Keymaster.resolveDID({
did: "did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
});

Delete a DID​

await Keymaster.removeId({
did: "did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
});

Set Current DID​

await Keymaster.setCurrentId("identity-name-1");

Templates / Schemas​

Create a Template / Schema​

const schema = {
$schema: "http://json-schema.org/draft-07/schema#",
title: "Drivers License",
type: "object",
properties: {
licenseNumber: 1234567890,
firstName: "Paul",
lastName: "Revere",
isValid: true,
},
required: ["licenseNumber", "firstName", "lastName"],
};

await Keymaster.createSchema(schema);

Challenges & Responses​

Create a Challenge​

await Keymaster.createChallenge({
callback: "https://www.your-domain.com/api/auth",
});

Create a Response​

await Keymaster.createResponse(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
);

Verify Response​

await Keymaster.verifyResponse(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
);

Credentials​

Issue Credential​

await Keymaster.issueCredential(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
);

Bind Credential​

await Keymaster.bindCredential(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZw",
);

Get Credential​

await Keymaster.getCredential(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
);

Update a Credential​

await Keymaster.updateCredential(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
{},
);

Accept Credentials​

await Keymaster.acceptCredential(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
);

Decrypt Message​

await Keymaster.decryptMessage(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
);

Publish Credentials​

await Keymaster.publishCredential(
"did:test:z3v8AuagJiXARFGw3B8Mc6DrLBC2thMzjgeUZWQvHcyPVBxAYZv",
{ reveal: true },
);

Custom Headers​

Add Custom Header​

await Keymaster.addCustomHeader("authorization", "base64-encoded-string");

Remove Custom Header​

await Keymaster.removeCustomHeader("authorization");