QHID SDK

总体介绍

QHID SDK目前仅支持typescript(python、golang版开发中)。SDK具有以下功能:本地私钥管理、数字身份(QHID)管理、VC管理等功能,未来还将支持更丰富的功能和应用。

部署SDK

SDK安装部署文档

代码结构说明

├── examples:DID操作示例
├── src:SDK实现
│   ├── accounts.ts:私钥相关
│   ├── claims.ts:声明相关
│   ├── did.ts:DID相关
│   ├── index.ts:包导出相关
│   ├── opgenerator.ts:DID操作生成相关
│   └── types.ts:基础数据类型
└── tests:单元测试相关
    ├── account.spec.ts:私钥相关测试
    ├── claims.spec.ts:声明相关测试
    ├── did.spec.ts:DID相关测试
    └── testdata:测试数据

配置信息

{
	"cert-service": "业务方DID操作,用于增、改、删业务DID",
	"auth-service": "业务DID操作",
	"resolver": "解析服务url",
	"keystore": "私钥文件夹"
}

Accounts 私钥管理

new

描述:生成私钥,并保存在keystore。

传参说明

名称 类型 非空 说明
mnemonic string Y 私钥助记词
password string Y 私钥密码
tag string N 私钥标签,方便使用

返回值

类型 说明 示例
tuple 公钥和标签 ["公钥", "标签"]

sign

描述:使用私钥签名hash,公钥或标签必传一个,若公钥对应的标签与参数标签不一致,以公钥为准。

传参说明

名称 类型 非空 说明
hash string Y 签名内容hash,建议采用sha256
password string Y 私钥密码
pubkey string N 公钥
tag string N 私钥标签

返回值

类型 说明 示例
string 私钥对hash生成签名字符串 “签名字符串”

verify

描述:验证签名。

传参说明

名称 类型 非空 说明
signature string Y 签名字符串
hash string Y 签名内容hash,建议采用sha256
pubkey string Y 公钥

返回值

类型 说明 示例
bool 验证成功与否 true

list

描述:列举keystore下所有私钥文件对应的公钥和标签。

传参说明(无需传参)

返回值

类型 说明 示例
object array 公钥和标签 [{pubkey:"", tag:"auth"}]

unlock

描述:根据输入的密码,解锁对应公钥或标签对应的账户,返回密钥对字符串。公钥或标签必传一个,若公钥对应的标签与参数标签不一致,以公钥为准。

传参说明

名称 类型 非空 说明
password string Y 私钥密码
pubkey string N 公钥
tag string N 标签

返回值

类型 说明 示例
tuple 密钥对 ["公钥", "私钥"]

keypair

描述:获取JWK格式的密钥对,公钥或标签必传一个,若公钥对应的标签与参数标签不一致,以公钥为准。

传参说明

名称 类型 非空 说明
pubkey string N 公钥
tag string N 标签

返回值

类型 说明 示例
tuple 密钥对 [公钥JWK, 私钥JWK]

DID 数字身份管理

GenerateCreateOperation

描述:生成创建DID所需的请求数据。

传参说明

名称 类型 非空 说明
domain string N DID域名,用于构造didUniqueSuffixString
services ServiceEndpointModel[] N DID提供的扩展服务
keys PublicKeyModel[] N DID使用的其它public keys

返回值

类型 说明 示例
[any,any] 错误和请求数据 [error,undefined]或者[undefined,createOperationRequest]

GenerateUpdateOperation

描述:生成更新DID所需的请求数据。

传参说明

名称 类型 非空 说明
patches any Y 目前支持几种操作,包括添加/删除public keys,添加/删除service endpoints

返回值

类型 说明 示例
[any,any] 错误和请求数据 [error,undefined]或者[undefined,updateOperationRequest]

GenerateRecoveryOperation

描述:生成恢复DID所需的请求数据。

传参说明

名称 类型 非空 说明
accounts Accounts Y 用户的accounts账户管理
newRecoveryPubID string Y 新的恢复密钥ID
newSigningKeyID string Y 新的签名密钥ID

返回值

类型 说明 示例
[any,any] 错误和请求数据 [error,undefined]或[undefined,recoverOperationRequest]

GenerateDeactiveOperation

描述:生成吊销DID所需的请求数据。

传参说明(无需传参)

返回值

类型 说明 示例
[any,any] 错误和请求数据 [error,undefined]或[undefined,deactivateOperationRequest]

Claim 可验证声明管理

build

描述:创建声明。

传参说明

名称 类型 非空 说明
props object Y 声明集合,将按照key排序后重建

返回值

类型 说明 示例
object 声明 Claims

root

描述:获取props的默克尔树根哈希。

传参说明(无需传参)

返回值

类型 说明 示例
string 默克尔树根哈希 root hash

present

描述:返回props属性,被隐藏的属性将展示其sha256的Hash值,隐藏的属性被标识为false, 原始信息为true。

传参说明(无需传参)

返回值

类型 说明 示例
Prop [{属性, 标识}] [{ content:'["key","value"]', hidden:true}]

hide

描述:隐藏props属性,起始位置0。

传参说明

名称 类型 非空 说明
idx number Y 隐藏的属性下标

无返回值

calc

描述:计算默克尔树根哈希。

传参说明

名称 类型 非空 说明
claims Prop Y props属性

返回值

类型 说明 示例
string 默克尔树根哈希 root hash