{"_id":"@digitalbazaar/eddsa-2022-cryptosuite","_rev":"1-6ce173cd24a9b3239df62f92e9a19636","name":"@digitalbazaar/eddsa-2022-cryptosuite","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@digitalbazaar/eddsa-2022-cryptosuite","version":"1.0.0","license":"BSD-3-Clause","_id":"@digitalbazaar/eddsa-2022-cryptosuite@1.0.0","maintainers":[{"name":"dlongley","email":"dlongley@digitalbazaar.com"},{"name":"msporny","email":"msporny@digitalbazaar.com"},{"name":"davidlehn","email":"dil@lehn.org"},{"name":"mattcollier","email":"mcollier@digitalbazaar.com"},{"name":"gannan","email":"gannan@digitalbazaar.com"}],"homepage":"https://github.com/digitalbazaar/eddsa-2022-cryptosuite","bugs":{"url":"https://github.com/digitalbazaar/eddsa-2022-cryptosuite/issues"},"c8":{"reporter":["lcov","text-summary","text"]},"dist":{"shasum":"f00280efaf7e2ddca5799577455bebbe51186411","tarball":"https://registry.npmjs.org/@digitalbazaar/eddsa-2022-cryptosuite/-/eddsa-2022-cryptosuite-1.0.0.tgz","fileCount":8,"integrity":"sha512-jMBt0S70moRBJl1WRfg3LYXd5rcxGq3Qz/Yb75B3WHCEUUk2GtWRBvu5Y5TdsuYhVyaJVSylAzRS7VHPVtpXxQ==","signatures":[{"sig":"MEUCIFvCutJBqk/+ecwJGneAbwB2sU0ljpicxFNk/iRVircFAiEA4lesxDEV5rMa617j9CzeGjEZCTtappCYERLDf1IKIGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGnOgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmof+w//WDVskywlXMXvzG8vSxepGdfzmvkXkh6I7BhmRzabjJlxP1dl\r\nGQmYg7OyhDHoeZOwoqDqoNePlsyXisC7f3+xThNlbMyj7L/RyKTlbb4AaEi7\r\nnUQa7hdt/wY2Ds0FI6Kt4ifs5zL56DbzsLanEI7opxUrzsuGwXcgL1J1exJK\r\nqlBAFL6DTwr7s+ewCQz3tyruny/gO0qvKOdx691+cEo/Rsz44d7ltbBYQvYc\r\nqo6Hpx3CW9/kKH3mNbpEk3C6F6/7K2h0xtObio8EbxFJvUYXWrzaId9Lvetr\r\nKufstujrbX7jpwffITAgoc6liPNsVUw/YZQfHiWsIF4ZqT+EByucP2/zQW6V\r\n+zDyQZWTCbjCVOs80eVkmH9bjE2BfqWWU9rLeylzLOyey1WHYUZBLMob40Fv\r\nwvydOYMiIxXd/FO5mZzWp8yAZM2rFGh/uIyKQnExe1kmIPuTQU02xjf5w20r\r\nfLcWGQwlp/mILw+9m9auca9lhMUUWkahapaTiSqE9Oitd+VliuNEws6fY7J4\r\n2J7JmRzpSYv+tVCTCD7w3yv7NSQ+Ib3SC8lbDp4EX6NACheLgWMi/zMB5Nh/\r\n7fl6u93S345r9fVcybsDYNoNk0MuJ08mTLO+fduwoGvslK/T23hSc4rCW7qb\r\nvOZPiriD5EscX0IBAKJT9t+Da3a8pSae9kE=\r\n=d0VJ\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","engines":{"node":">=16"},"exports":"./lib/index.js","gitHead":"30b32aa9ba7a7cdee0ee6f9a6b6d7b77bfd4cf69","scripts":{"lint":"eslint .","test":"npm run test-node","coverage":"cross-env NODE_ENV=test c8 npm run test-node","test-node":"cross-env NODE_ENV=test mocha --preserve-symlinks -t 30000 -A -R ${REPORTER:-spec} --require test/test-mocha.js test/*.spec.js","test-karma":"karma start karma.conf.cjs","coverage-ci":"cross-env NODE_ENV=test c8 --reporter=lcovonly --reporter=text-summary --reporter=text npm run test-node","coverage-report":"c8 report"},"_npmUser":{"name":"gannan","email":"gannan@digitalbazaar.com"},"repository":{"url":"git+https://github.com/digitalbazaar/eddsa-2022-cryptosuite.git","type":"git"},"_npmVersion":"8.18.0","description":"An Eddsa-2022 Data Integrity cryptosuite for use with jsonld-signatures.","directories":{},"_nodeVersion":"16.15.0","dependencies":{"jsonld":"^8.1.0","@digitalbazaar/ed25519-multikey":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^7.11.3","chai":"^4.3.6","karma":"^6.3.20","mocha":"^10.0.0","eslint":"^8.17.0","webpack":"^5.73.0","cross-env":"^7.0.3","karma-chai":"^0.1.0","karma-mocha":"^2.0.1","karma-webpack":"^5.0.0","jsonld-signatures":"^11.0.0","eslint-plugin-jsdoc":"^39.3.2","mocha-lcov-reporter":"^1.3.0","karma-mocha-reporter":"^2.2.5","eslint-plugin-unicorn":"^43.0.2","karma-chrome-launcher":"^3.1.1","karma-sourcemap-loader":"^0.3.8","eslint-config-digitalbazaar":"^4.1.0","@digitalbazaar/data-integrity":"^1.0.0","@digitalbazaar/ed25519-multikey":"^1.0.0","@digitalbazaar/multikey-context":"^1.0.0","@digitalbazaar/data-integrity-context":"^1.0.0","@digitalbazaar/security-document-loader":"^2.0.0","@digitalbazaar/ed25519-verification-key-2018":"^4.0.0","@digitalbazaar/ed25519-verification-key-2020":"^4.1.0"},"_npmOperationalInternal":{"tmp":"tmp/eddsa-2022-cryptosuite_1.0.0_1662677919926_0.2576527374029096","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-09-08T22:58:39.849Z","modified":"2025-02-14T21:40:02.778Z","1.0.0":"2022-09-08T22:58:40.093Z"},"bugs":{"url":"https://github.com/digitalbazaar/eddsa-2022-cryptosuite/issues"},"license":"BSD-3-Clause","homepage":"https://github.com/digitalbazaar/eddsa-2022-cryptosuite","repository":{"url":"git+https://github.com/digitalbazaar/eddsa-2022-cryptosuite.git","type":"git"},"description":"An Eddsa-2022 Data Integrity cryptosuite for use with jsonld-signatures.","maintainers":[{"email":"dlongley@digitalbazaar.com","name":"dlongley"},{"email":"msporny@digitalbazaar.com","name":"msporny"},{"email":"dil@lehn.org","name":"davidlehn"},{"email":"gannan@digitalbazaar.com","name":"gannan"}],"readme":"# Eddsa 2022 Data Integrity Cryptosuite _(@digitalbazaar/eddsa-2022-cryptosuite)_\n\n[![Build status](https://img.shields.io/github/workflow/status/digitalbazaar/eddsa-2022-cryptosuite/Node.js%20CI)](https://github.com/digitalbazaar/eddsa-2022-cryptosuite/actions?query=workflow%3A%22Node.js+CI%22)\n[![Coverage status](https://img.shields.io/codecov/c/github/digitalbazaar/eddsa-2022-cryptosuite)](https://codecov.io/gh/digitalbazaar/eddsa-2022-cryptosuite)\n[![NPM Version](https://img.shields.io/npm/v/@digitalbazaar/eddsa-2022-cryptosuite.svg)](https://npm.im/@digitalbazaar/eddsa-2022-cryptosuite)\n\n> Eddsa 2022 Data Integrity Cryptosuite for use with jsonld-signatures.\n\n## Table of Contents\n\n- [Background](#background)\n- [Security](#security)\n- [Install](#install)\n- [Usage](#usage)\n- [Contribute](#contribute)\n- [Commercial Support](#commercial-support)\n- [License](#license)\n\n## Background\n\nFor use with https://github.com/digitalbazaar/jsonld-signatures v11.0 and above.\n\nSee also related specs:\n\n* [Verifiable Credential Data Integrity](https://w3c.github.io/vc-data-integrity/)\n\n## Security\n\nTBD\n\n## Install\n\n- Browsers and Node.js 16+ are supported.\n\nTo install from NPM:\n\n```\nnpm install @digitalbazaar/eddsa-2022-cryptosuite\n```\n\nTo install locally (for development):\n\n```\ngit clone https://github.com/digitalbazaar/eddsa-2022-cryptosuite.git\ncd eddsa-2022-cryptosuite\nnpm install\n```\n\n## Usage\n\nThe following code snippet provides a complete example of digitally signing\na verifiable credential using this library:\n\n```javascript\nimport * as Ed25519Multikey from '@digitalbazaar/ed25519-multikey';\nimport {DataIntegrityProof} from '@digitalbazaar/data-integrity';\nimport {cryptosuite as eddsa2022CryptoSuite} from\n  '@digitalbazaar/eddsa-2022-cryptosuite';\nimport jsigs from 'jsonld-signatures';\nconst {purposes: {AssertionProofPurpose}} = jsigs;\n\n\n// create the unsigned credential\nconst unsignedCredential = {\n  '@context': [\n    'https://www.w3.org/2018/credentials/v1',\n    {\n      AlumniCredential: 'https://schema.org#AlumniCredential',\n      alumniOf: 'https://schema.org#alumniOf'\n    }\n  ],\n  id: 'http://example.edu/credentials/1872',\n  type: [ 'VerifiableCredential', 'AlumniCredential' ],\n  issuer: 'https://example.edu/issuers/565049',\n  issuanceDate: '2010-01-01T19:23:24Z',\n  credentialSubject: {\n    id: 'https://example.edu/students/alice',\n    alumniOf: 'Example University'\n  }\n};\n\n// create the keypair to use when signing\nconst controller = 'https://example.edu/issuers/565049';\nconst keyPair = await Ed25519Multikey.from({\n  '@context': 'https://w3id.org/security/multikey/v1',\n  type: 'Multikey',\n  controller,\n  id: controller + '#z6MkwXG2WjeQnNxSoynSGYU8V9j3QzP3JSqhdmkHc6SaVWoT',\n  publicKeyMultibase: 'z6MkwXG2WjeQnNxSoynSGYU8V9j3QzP3JSqhdmkHc6SaVWoT',\n  secretKeyMultibase: 'zrv3rbPamVDGvrm7LkYPLWYJ35P9audujKKsWn3x29EUiGwwhdZQd' +\n    '1iHhrsmZidtVALBQmhX3j9E5Fvx6Kr29DPt6LH'\n});\n\n// export public key and add to document loader\nconst publicKey = await keyPair.export({publicKey: true, includeContext: true});\naddDocumentToLoader({url: publicKey.id, document: publicKey});\n\n// create key's controller document\nconst controllerDoc = {\n  '@context': [\n    'https://www.w3.org/ns/did/v1',\n    'https://w3id.org/security/multikey/v1'\n  ],\n  id: controller,\n  assertionMethod: [publicKey]\n};\naddDocumentToLoader({url: controllerDoc.id, document: controllerDoc});\n\n// create suite\nconst suite = new DataIntegrityProof({\n  signer: keyPair.signer(), cryptosuite: eddsa2022CryptoSuite\n});\n\n// create signed credential\nconst signedCredential = await jsigs.sign(unsignedCredential, {\n  suite,\n  purpose: new AssertionProofPurpose(),\n  documentLoader\n});\n\n// results in the following signed VC\n{\n  \"@context\": [\n    \"https://www.w3.org/2018/credentials/v1\",\n    {\n      \"AlumniCredential\": \"https://schema.org#AlumniCredential\",\n      \"alumniOf\": \"https://schema.org#alumniOf\"\n    },\n    \"https://w3id.org/security/data-integrity/v1\"\n  ],\n  \"id\": \"http://example.edu/credentials/1872\",\n  \"type\": [\n    \"VerifiableCredential\",\n    \"AlumniCredential\"\n  ],\n  \"issuer\": \"https://example.edu/issuers/565049\",\n  \"issuanceDate\": \"2010-01-01T19:23:24Z\",\n  \"credentialSubject\": {\n    \"id\": \"https://example.edu/students/alice\",\n    \"alumniOf\": \"Example University\"\n  },\n  \"proof\": {\n    \"type\": \"DataIntegrityProof\",\n    \"created\": \"2022-09-06T12:33:46Z\",\n    \"verificationMethod\": \"https://example.edu/issuers/565049#z6MkwXG2WjeQnNxSoynSGYU8V9j3QzP3JSqhdmkHc6SaVWoT\",\n    \"cryptosuite\": \"eddsa-2022\",\n    \"proofPurpose\": \"assertionMethod\",\n    \"proofValue\": \"zT2U2xRCkXVPbkk4kKmemPa9zXSV7wfngQVq9uXjo3GgqZs6Te2NFLH8dRKQaqQfNhsGxEdmYkjJPy1EPkK67KnJ\"\n  }\n}\n```\n\n## Contribute\n\nSee [the contribute file](https://github.com/digitalbazaar/bedrock/blob/master/CONTRIBUTING.md)!\n\nPRs accepted.\n\nIf editing the Readme, please conform to the\n[standard-readme](https://github.com/RichardLitt/standard-readme) specification.\n\n## Commercial Support\n\nCommercial support for this library is available upon request from\nDigital Bazaar: support@digitalbazaar.com\n\n## License\n\n[New BSD License (3-clause)](LICENSE) © 2022 Digital Bazaar\n","readmeFilename":"README.md"}