Ed25519 签字2020套房 (@数字证书/ed25519-签署-2020年)
Ed25519 Signature2020 链接数据证明套件与jsonld签名使用.
目录
背景情况
(从 digitalbazaar/ed25519-signature-2020 页:1
以提供类型脚本兼容性。 )
用于与 https://github.com/digitalbazaar/jsonld-signers (中文(简体) ) v9.0及以上各页.
另见相关的规格:
警卫
传统发展
安装
- 需要节点.js 14+.
在当地安装(用于开发):
git clone https://github.com/digitalcredentials/ed25519-signature-2020.git
cd ed25519-signature-2020
npm install
使用量
以下代码片段提供了一个完整的数字签名示例 使用此库的可核查证书:
import jsigs from 'jsonld-signatures';
const {purposes: {AssertionProofPurpose}} = jsigs;
import {Ed25519VerificationKey2020} from
'@digitalcredentials/ed25519-verification-key-2020';
import {Ed25519Signature2020, suiteContext} from
'@digitalcredentials/ed25519-signature-2020';
// create the unsigned credential
const unsignedCredential = {
'@context': [
'https://www.w3.org/2018/credentials/v1',
{
AlumniCredential: 'https://schema.org#AlumniCredential',
alumniOf: 'https://schema.org#alumniOf'
}
],
id: 'http://example.edu/credentials/1872',
type: [ 'VerifiableCredential', 'AlumniCredential' ],
issuer: 'https://example.edu/issuers/565049',
issuanceDate: '2010-01-01T19:23:24Z',
credentialSubject: {
id: 'https://example.edu/students/alice',
alumniOf: 'Example University'
}
};
// create the keypair to use when signing
const controller = 'https://example.edu/issuers/565049';
const keyPair = await Ed25519VerificationKey2020.from({
type: 'Ed25519VerificationKey2020',
controller,
id: controller + '#z6MknCCLeeHBUaHu4aHSVLDCYQW9gjVJ7a63FpMvtuVMy53T',
publicKeyMultibase: 'z6MknCCLeeHBUaHu4aHSVLDCYQW9gjVJ7a63FpMvtuVMy53T',
privateKeyMultibase: 'zrv2EET2WWZ8T1Jbg4fEH5cQxhbUS22XxdweypUbjWVzv1YD6VqYu' +
'W6LH7heQCNYQCuoKaDwvv2qCWz3uBzG2xesqmf'
});
const suite = new Ed25519Signature2020({key: keyPair});
suite.date = '2010-01-01T19:23:24Z';
signedCredential = await jsigs.sign(unsignedCredential, {
suite,
purpose: new AssertionProofPurpose(),
documentLoader
});
// results in the following signed VC
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
{
"AlumniCredential": "https://schema.org#AlumniCredential",
"alumniOf": "https://schema.org#alumniOf"
},
"https://w3id.org/security/suites/ed25519-2020/v1"
],
"id": "http://example.edu/credentials/1872",
"type": ["VerifiableCredential", "AlumniCredential"],
"issuer": "https://example.edu/issuers/565049",
"issuanceDate": "2010-01-01T19:23:24Z",
"credentialSubject": {
"id": "https://example.edu/students/alice",
"alumniOf": "Example University"
},
"proof": {
"type": "Ed25519Signature2020",
"created": "2010-01-01T19:23:24Z",
"verificationMethod": "https://example.edu/issuers/565049#z6MknCCLeeHBUaHu4aHSVLDCYQW9gjVJ7a63FpMvtuVMy53T",
"proofPurpose": "assertionMethod",
"proofValue": "z3MvGcVxzRzzpKF1HA11EjvfPZsN8NAb7kXBRfeTm3CBg2gcJLQM5hZNmj6Ccd9Lk4C1YueiFZvkSx4FuHVYVouQk"
}
}
贡献
见 贡献文件来啊!
公关接受.
请遵照 标准读取 规格.
许可证
- MIT许可证 - DCC - TypeScript兼容.
- 新BSD许可证 (3-clause) 2020-2021 Digital Bazaar - 初始实施.