Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
Orie Steele committed May 15, 2019
1 parent 586ac7b commit 96c67da
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
Expand Up @@ -60,6 +60,7 @@ const signedData = await OpenPgpSignature2019.sign({

const verified = await verify({
data: signedData,
signatureAttribute: "proof",
publicKey: fkeypair.publicKey
});

Expand Down Expand Up @@ -102,11 +103,11 @@ const signedData = await sign({

## GitHub DID Example

Here is an example of it being used in a web app.
Here is an example of it being used in a [web app](https://github-did.com).

https://github-did.com/verify/eyJoZWxsbyI6IndvcmxkIiwicHJvb2YiOnsidHlwZSI6Ik9wZW5QZ3BTaWduYXR1cmUyMDE5IiwiY3JlYXRvciI6ImRpZDpnaGRpZDp0cmFuc211dGUtaW5kdXN0cmllc35naXRodWItZGlkfjFiZWQxMTE0MDU0N2I4NDA3NDc4YmRmMjY1MGRiNTBhNWEwYzE4ZWYyYWU0Y2FmMjBlODE4YTk0MzM5MjNjMmEja2lkPTFiZWQxMTE0MDU0N2I4NDA3NDc4YmRmMjY1MGRiNTBhNWEwYzE4ZWYyYWU0Y2FmMjBlODE4YTk0MzM5MjNjMmEiLCJkb21haW4iOiJnaXRodWItZGlkIiwibm9uY2UiOiI1NmQ2M2U4NWQwYjg3MmVhNjJkOTBlMWJkZmE5NzcxNSIsImNyZWF0ZWQiOiIyMDE5LTA1LTExVDA0OjI1OjAxLjk2M1oiLCJzaWduYXR1cmVWYWx1ZSI6Ii0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tXHJcblZlcnNpb246IE9wZW5QR1AuanMgdjQuNC4xMFxyXG5Db21tZW50OiBodHRwczovL29wZW5wZ3Bqcy5vcmdcclxuXHJcbndsNEVBUk1JQUFZRkFseldUcVVBQ2drUS9ERk11aHh2WUdiOFN3RUEwYkVSa0N6UnE2eUMwcnlIZ1VPQ1xyXG5CeDlTNUluRmM2RmNOS3M5cGRMNzhTa0EvaVVxZkNCNGJjR0g4RERXY0lGM0xQaFdzYld6RmFaVVJySS9cclxuRFRzMHNDLytcclxuPUo4VS9cclxuLS0tLS1FTkQgUEdQIFNJR05BVFVSRS0tLS0tXHJcbiJ9fQ
https://github-did.com/verify/eyJAY29udGV4dCI6Imh0dHBzOi8vdzNpZC5vcmcvaWRlbnRpdHkvdjEiLCJnaXZlbk5hbWUiOiJBbGljZSIsInByb29mIjp7InR5cGUiOiJPcGVuUGdwU2lnbmF0dXJlMjAxOSIsImNyZWF0b3IiOiJkaWQ6Z2l0aHViOk9SMTMja2lkPXVYOWtQUy1MSVBaY0pTNWFTMDdkSktMeVd5Ny1UVi1QZTA5YnpIN0hpa1UiLCJkb21haW4iOiJHaXRIdWJESUQiLCJub25jZSI6ImZjNzM2M2RkNWVkYjNlZDM5YmYwMGIwOGNkNTJkMDhlIiwiY3JlYXRlZCI6IjIwMTktMDUtMTVUMDQ6MzY6MTguMzE4WiIsInNpZ25hdHVyZVZhbHVlIjoiLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS1cclxuVmVyc2lvbjogT3BlblBHUC5qcyB2NC41LjFcclxuQ29tbWVudDogaHR0cHM6Ly9vcGVucGdwanMub3JnXHJcblxyXG53bDRFQVJNSUFBWUZBbHpibDBJQUNna1E5dDlWMzRLR1R6ZmNNd0VBbnJqSGVtdFl5WG1VVXRWV21aN1pcclxueUpBeEtUc3BJSEVtMmlaWDB6eGpjUVlBLzE2UDI0S1BmUFZxWFdXTmZONWhSK2poM3dXSGFkVWxmSzZoXHJcbmczTDhVTExxXHJcbj12Sy9BXHJcbi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLVxyXG4ifX0

You can import the wallet file containing the keys used [here](https://github-did.com/wallet), and use the sign demo [here](https://github-did.com/sign/new)
You can verify this claim I signed.

## Commercial Support

Expand Down
42 changes: 42 additions & 0 deletions src/__tests__/SignAndVerify.spec.js
@@ -0,0 +1,42 @@
const openpgp = require("openpgp");

const { sign, verify } = require("../index");

jest.setTimeout(20 * 1000);

describe("SignAndVerify", () => {
const key = {
publicKey:
"-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.4.7\r\nComment: https://openpgpjs.org\r\n\r\nxk8EXNcLSxMFK4EEAAoCAwQ22JuKLOw0REjgH3KPldvpQLyPbevO6nd/vs/h\r\nUyBgRDFhB66eam0Kg0K/bFspd7EqBQf5sg4MjtW2g+UlMNuAzRdhbm9uIDxh\r\nbm9uQGV4YW1wbGUuY29tPsJ3BBATCAAfBQJc1wtLBgsJBwgDAgQVCAoCAxYC\r\nAQIZAQIbAwIeAQAKCRDOC06kQzKHaZlqAQDY2zqfCiJH2Akcv0lo+1fGP5V+\r\nI2YVSbWmUuqnCtsXdgEA0nhvtNghJSDrq+3Qzu05cN2/r6H+Hn4KgDqtxz0P\r\n49fOUwRc1wtLEgUrgQQACgIDBDbYm4os7DRESOAfco+V2+lAvI9t687qd3++\r\nz+FTIGBEMWEHrp5qbQqDQr9sWyl3sSoFB/myDgyO1baD5SUw24ADAQgHwmEE\r\nGBMIAAkFAlzXC0sCGwwACgkQzgtOpEMyh2lNvQD+IFYq+gKQB7d9CNjEqvOQ\r\nZnn1nPhuMaydpxmv5+s/m5YBAMlQmgQ5ulfPSD5OBrJVbiF2TSBmlcWVAD6R\r\no41Q/H1Y\r\n=PfgI\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n",
privateKey:
"-----BEGIN PGP PRIVATE KEY BLOCK-----\r\nVersion: OpenPGP.js v4.4.7\r\nComment: https://openpgpjs.org\r\n\r\nxXQEXNcLSxMFK4EEAAoCAwQ22JuKLOw0REjgH3KPldvpQLyPbevO6nd/vs/h\r\nUyBgRDFhB66eam0Kg0K/bFspd7EqBQf5sg4MjtW2g+UlMNuAAAEAtt9uYl73\r\noEnh1lAB1SqGxc1o1c6C4lx4myXH3P+WRD4SgM0XYW5vbiA8YW5vbkBleGFt\r\ncGxlLmNvbT7CdwQQEwgAHwUCXNcLSwYLCQcIAwIEFQgKAgMWAgECGQECGwMC\r\nHgEACgkQzgtOpEMyh2mZagEA2Ns6nwoiR9gJHL9JaPtXxj+VfiNmFUm1plLq\r\npwrbF3YBANJ4b7TYISUg66vt0M7tOXDdv6+h/h5+CoA6rcc9D+PXx3gEXNcL\r\nSxIFK4EEAAoCAwQ22JuKLOw0REjgH3KPldvpQLyPbevO6nd/vs/hUyBgRDFh\r\nB66eam0Kg0K/bFspd7EqBQf5sg4MjtW2g+UlMNuAAwEIBwABALbfbmJe96BJ\r\n4dZQAdUqhsXNaNXOguJceJslx9z/lkQ+EoDCYQQYEwgACQUCXNcLSwIbDAAK\r\nCRDOC06kQzKHaU29AP4gVir6ApAHt30I2MSq85BmefWc+G4xrJ2nGa/n6z+b\r\nlgEAyVCaBDm6V89IPk4GslVuIXZNIGaVxZUAPpGjjVD8fVg=\r\n=1jGv\r\n-----END PGP PRIVATE KEY BLOCK-----\r\n",
revocationCertificate:
"-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.4.7\r\nComment: https://openpgpjs.org\r\nComment: This is a revocation certificate\r\n\r\nwmEEIBMIAAkFAlzXC0sCHQAACgkQzgtOpEMyh2l39AEAqpcJQ2N5heHruMki\r\nBOwoXLLLd+UdbxqlVBG7Th5L/dQBAKBIcPgOk/Zv4PYVQpJr2VuG0eXZsjmZ\r\na3m/lC4l8Bj3\r\n=9bjx\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n"
};

const data = {
"@context": "https://w3id.org/identity/v1",
givenName: "Alice"
};

it("should support sign and verify of linked data", async () => {
expect.assertions(3);
const signed = await sign({
data,
privateKey: (await openpgp.key.readArmored(key.privateKey)).keys[0],
signatureOptions: {
creator: "did:example:123",
domain: "example.com"
}
});

// console.log(JSON.stringify(signed, null, 2));
expect(signed.proof.creator).toBe("did:example:123");
expect(signed.proof.domain).toBe("example.com");
const verified = await verify({
data: signed,
publicKey: key.publicKey
});
expect(verified).toBe(true);
});
});

0 comments on commit 96c67da

Please sign in to comment.