Skip to content

Instantly share code, notes, and snippets.

@rjchow
Created March 3, 2021 06:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rjchow/410911e7916d2541e66d716a32c51508 to your computer and use it in GitHub Desktop.
Save rjchow/410911e7916d2541e66d716a32c51508 to your computer and use it in GitHub Desktop.
aws kms did sign example
require("dotenv").config()
const { wrapDocument, signDocument, SUPPORTED_SIGNING_ALGORITHM } = require("@govtechsg/open-attestation")
const { AwsKmsSigner } = require("ethers-aws-kms-signer");
const signer = new AwsKmsSigner({
accessKeyId: process.env.KMS_ACCESS_KEY_ID,
secretAccessKey: process.env.KMS_SECRET_ACCESS_KEY,
region: process.env.KMS_REGION,
keyId: process.env.KMS_KEY_ID,
})
const doc = {
issuers: [
{
name: "John",
identityProof: {
type: "DNS-TXT",
location: "tradetrust.io"
},
documentStore: "0x9178F546D3FF57D7A6352bD61B80cCCD46199C2d"
}
],
foo: "bar"
}
signDocument(wrapDocument(doc), SUPPORTED_SIGNING_ALGORITHM.Secp256k1VerificationKey2018, signer).then(console.log)
/** should output something like
{
version: 'https://schema.openattestation.com/2.0/schema.json',
data: {
issuers: [ [Object] ],
foo: '8bf170c6-1958-4662-9702-92c5baa186e0:string:bar'
},
signature: {
type: 'SHA3MerkleProof',
targetHash: '63705c395b77a534649f4b993db22ac9eeb3890adb64ccd11ab062249b594dfa',
proof: [],
merkleRoot: '63705c395b77a534649f4b993db22ac9eeb3890adb64ccd11ab062249b594dfa'
},
proof: [
{
type: 'OpenAttestationSignature2018',
created: '2021-03-03T06:36:44.598Z',
proofPurpose: 'assertionMethod',
verificationMethod: 'did:ethr:0x3bd20c2493d07b2622455210ecdefe10e0713154#controller',
signature: '0x7a3df87597756266dc44f56298775eb7be3039503b...1c'
}
]
}
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment