BROPID TOOLS接口说明
接口状态有两种,"可用"和"已废弃"。
REST接口列表
接口编号 | 接口描述 | 访问路径 |
---|---|---|
1001 | did关系存在性检查 | /pairwise/isPairwiseExists.json |
1002 | did关系对创建 | /pairwise/createPairwise.json |
1003 | did关系对查询 | /pairwise/getPairwise.json |
1004 | did创建 | /pairwise/createAndStoreMyDid.json |
1005 | 数字证照声明创建 | /anoncreds/issuerCreateAndStoreCredentialDef.json |
1006 | 数字证照累加器创建 | /anoncreds/issuerCreateAndStoreRevocReg.json |
1007 | 数字证照累加器更新 | /anoncreds/updateAccumulator.json |
1008 | 数字证照邀请创建 | /anoncreds/issuerCreateCredentialOffer.json |
1009 | 数字证照创建 | /anoncreds/issuerCreateCredential.json |
1010 | 数字证照吊销 | /anoncreds/issuerRevokeCredential.json |
1011 | 数字证明请求 | /anoncreds/verifierCreateProofRequest.json |
1012 | 真名身份创建 | /console/register.json |
response通用格式
response通用格式:
{
"code": "SUCCESS", //SUCCESS标识请求成功,FAILURE标识请求失败
"message": {
"code":"10000", //填写请求失败代码,10000为请求成功,10001为其他异常,10002为参数检查错误,10003为数据库错误
"reason":"请求成功" //填写请求失败原因
},
"detail": null //请求成功返回的正确的报文体,下文response中返回示例只写这个部分
}
did关系存在性检查
接口描述:用于查验是否与目标did建立过安全通讯连接
接口编号:1001
请求路径:http://TOOLS_HOST:PORT/pairwise/isPairwiseExists.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符,参考TOOLS配置文件配置 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串,参考TOOLS配置文件配置 |
theirDid | String | 是 | 对手方did,参考did定义 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"theirDid": "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
isPairwiseExists | number | did关系是否存在检查结果:0为不存在,1为存在 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"isPairwiseExists" : 1
}
}
did关系对创建
接口描述:用于建立与目标did的安全通讯连接,同步方法请设置超时100秒以上
接口编号:1002
请求路径:http://TOOLS_HOST:PORT/pairwise/createPairwise.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
theirDid | String | 是 | 对手方did,参考did定义 |
myDid | String | 是 | 本方方did,参考did定义 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"theirDid": "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy",
"myDid": "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy"
}
返回参数
无
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": null
}
did关系对查询
接口描述:用于查询对手方did对应的本方did
接口编号:1003
请求路径:http://TOOLS_HOST:PORT/pairwise/getPairwise.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
theirDid | String | 是 | 对手方did,参考did定义 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"theirDid": "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
myDid | String | 对手方did对应的本方did,参考did定义 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"myDid" : "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy"
}
}
did创建
接口描述:用于创建本方did
接口编号:1004
请求路径:http://TOOLS_HOST:PORT/pairwise/createAndStoreMyDid.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
请求示例
{
"walletId": "test",
"walletKey": "12345678"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
myDid | String | 新建的本方did,参考did定义 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"myDid" : "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy"
}
}
数字证照声明创建
接口描述:创建链上数字证照声明
接口编号:1005
请求路径:http://TOOLS_HOST:PORT/anoncreds/issuerCreateAndStoreCredentialDef.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
issuerDid | String | 是 | 发正方did,参考did定义 |
schemaId | String | 是 | 需要声明的数字证照模板id,来源于链上 |
tag | String | 是 | 附言,小于100位的字符串 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"issuerDid": "did:brop:LuzWsHsV1XKnTSHBk85ydq",
"schemaId": "RKNjmzUaYL59wGiphTc7Hd",
"tag": "测试用"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
credDefId | String | 数字证照声明ID |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"credDefId" : "LthQv1uEJtvB9SCo3NJicR"
}
}
数字证照累加器创建
接口描述:创建链上数字证照声明的累加器,用于后续撤销和签发证书使用
接口编号:1006
请求路径:http://TOOLS_HOST:PORT/anoncreds/issuerCreateAndStoreRevocReg.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
issuerDid | String | 是 | 发正方did,参考did定义 |
credDefId | String | 是 | 数字证照声明id |
maxCredNum | Long | 是 | 最大证照数量,必须大于0 |
tag | String | 是 | 附言,小于100位的字符串 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"issuerDid": "did:brop:LuzWsHsV1XKnTSHBk85ydq",
"credDefId": "LthQv1uEJtvB9SCo3NJicR",
"maxCredNum": 1000,
"tag": "测试用"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
revRegId | String | 累加器ID |
revRegDefJson | String | 当前累加器参数,由idemix定义 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"revRegId": "{\"bytes\":\"07A56AED11157C14812E3C132C0416F7C7C346870071FDD1F0C0BED9CE43B64FAA25A27C50451E7D177F481CE581BB32D8B49A2105136C60EE44B0411BB77C651D05DD6A8F30EB7A9096438E773AA26B038A58A404DC7C1740FEF44218BF1557FE50969103C5E557596045B253FC3162260015BB615891A60E379E4952A49D3F95A99257BE138C185A3F15F705521A555CCB0F6CE4318DB73605C25EEE2605181E36BA22418F238DC014D72853F37B67413969D901A43EAA96FA2C417EE634D70DF8612F25672C21134522F74E4AF0E83B2096050A2FC1E91F54BD1E1055CC2F636CE5F8CE41C49CB9BDE52D95E4ACED\",\"type\":\"GT\",\"flag\":false}",
"revRegDefJson": "revRegDefJson"
}
}
数字证照累加器更新
接口描述:更新链上数字证照声明的累加器,更新后撤销和签发证书才会生效
接口编号:1007
请求路径:http://TOOLS_HOST:PORT/anoncreds/updateAccumulator.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
revRegId | String | 是 | 累加器ID |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"revRegId": "{\"bytes\":\"07A56AED11157C14812E3C132C0416F7C7C346870071FDD1F0C0BED9CE43B64FAA25A27C50451E7D177F481CE581BB32D8B49A2105136C60EE44B0411BB77C651D05DD6A8F30EB7A9096438E773AA26B038A58A404DC7C1740FEF44218BF1557FE50969103C5E557596045B253FC3162260015BB615891A60E379E4952A49D3F95A99257BE138C185A3F15F705521A555CCB0F6CE4318DB73605C25EEE2605181E36BA22418F238DC014D72853F37B67413969D901A43EAA96FA2C417EE634D70DF8612F25672C21134522F74E4AF0E83B2096050A2FC1E91F54BD1E1055CC2F636CE5F8CE41C49CB9BDE52D95E4ACED\",\"type\":\"GT\",\"flag\":false}"
}
返回参数
无
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": null
}
数字证照邀请创建
接口描述:生成数字证照邀请,会通过agency发给用户手机
接口编号:1008
请求路径:http://TOOLS_HOST:PORT/anoncreds/issuerCreateCredentialOffer.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
credDefId | String | 是 | 需要开具的数字证照声明ID |
theirDid | String | 是 | 需要传递的对手方did,参考did定义 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"credDefId": "LthQv1uEJtvB9SCo3NJicR",
"theirDid": "did:brop:LuzWsHsV1XKnTSHBk85ydq"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
schemaId | String | 需要开具的数字证照模板ID |
credDefId | String | 需要开具的数字证照声明ID |
nonce | String | 随机数,对应本次数字证照开具 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"schemaId": "schemaId",
"credDefId": "LthQv1uEJtvB9SCo3NJicR",
"nonce": "123123123421512412",
}
}
数字证照创建
接口描述:收到CredentialRequest后开具数字证照
接口编号:1009
请求路径:http://TOOLS_HOST:PORT/anoncreds/issuerCreateCredential.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
schemaId | String | 是 | 数字证照模板ID |
credDefId | String | 是 | 数字证照声明ID |
nonce | String | 是 | CredentialOffer中提供的随机数 |
proverDid | String | 是 | 申请人did,参考did定义 |
credReqMetadata | String | 是 | idemix构造的CredentialRequest |
credValuesMap | LinkedHashMap |
是 | 证照签发的属性表 |
credValues | List |
是 | 证照签发的属性表转bigint |
revRegId | String | 是 | 累加器ID |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"credDefId": "LthQv1uEJtvB9SCo3NJicR",
"nonce": "123123123421512412",
"proverDid": "did:brop:LuzWsHsV1XKnTSHBk85ydq",
"credReqMetadata": "credReqMetadata",
"credValuesMap": {"key1":"value1","key2":"value2"},
"credValues": ["123","312"],
"revRegId": "{\"bytes\":\"07A56AED11157C14812E3C132C0416F7C7C346870071FDD1F0C0BED9CE43B64FAA25A27C50451E7D177F481CE581BB32D8B49A2105136C60EE44B0411BB77C651D05DD6A8F30EB7A9096438E773AA26B038A58A404DC7C1740FEF44218BF1557FE50969103C5E557596045B253FC3162260015BB615891A60E379E4952A49D3F95A99257BE138C185A3F15F705521A555CCB0F6CE4318DB73605C25EEE2605181E36BA22418F238DC014D72853F37B67413969D901A43EAA96FA2C417EE634D70DF8612F25672C21134522F74E4AF0E83B2096050A2FC1E91F54BD1E1055CC2F636CE5F8CE41C49CB9BDE52D95E4ACED\",\"type\":\"GT\",\"flag\":false}"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
credId | String | 数字证照ID |
free | String | 累加器剩余 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"credId": "credId",
"free" : 98
}
数字证照吊销
接口描述:吊销指定证照
接口编号:1010
请求路径:http://TOOLS_HOST:PORT/anoncreds/issuerRevokeCredential.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
credId | String | 数字证照ID |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"credId": "credId"
}
返回参数
无
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": null
数字证明请求
接口描述:证照证明请求
接口编号:1011
请求路径:http://TOOLS_HOST:PORT/anoncreds/verifierCreateProofRequest.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
name | String | 是 | proof请求名称 |
requestedPredicates | List |
是 | 需要验证判断的属性 |
theirDid | String | 否 | 对手方did,如果要直接发给app则填写,参考did定义 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"name": "issuer_wallet_key",
"requestedPredicates":[{
"name":"name",
"ptype":"==",
"pvalue":"123",
"pint":"123",
"restrictions":[{
"credDefId":"LthQv1uEJtvB9SCo3NJicR",
"schemaId":"RKNjmzUaYL59wGiphTc7Hd"}]
}],
"theirDid": "did:brop:C921vMdqpEeu4MmcWLS33P"
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
verifyDid | String | proof请求方的did |
nonce | String | 随机数,32位字符串 |
requestedPredicates | List |
需要验证判断的属性 |
verifyName | String | proof请求名称 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"verifyDid": "test",
"nonce":"nonce",
"verifyName": "issuer_wallet_key",
"requestedPredicates":[{
"name":"name",
"ptype":"pType",
"pvalue":"pValue",
"pint":"123",
"restrictions":[{
"credDefId":"LthQv1uEJtvB9SCo3NJicR",
"schemaId":"RKNjmzUaYL59wGiphTc7Hd"}]
}]
}
}
参数类型:RequestedPredicate
名称 | 类型 | 描述 |
---|---|---|
name | String | 需要判断的属性名称 |
ptype | String | 判断类型,">="、"<="和"==" |
pvalue | String | 判断用的值,">="和"<="对应的判断值 |
pint | String | 判断值转换为bigint后的值,参考发正方的要求 |
restrictions | List |
属性要求 |
参数类型:CredentialFilter
名称 | 类型 | 描述 |
---|---|---|
credDefId | String | 数字证照声明Id,32位字符串 |
schemaId | String | 数字证照模板Id,32位字符串 |
真名身份创建
接口描述:用于查询对手方did对应的本方did
接口编号:1012
请求路径:http://TOOLS_HOST:PORT/console/register.json
请求方式:POST
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
walletId | String | 是 | 钱包标识符 |
walletKey | String | 是 | 钱包解密秘钥,8位字符串 |
endpoint | String | 否 | 服务入口地址(应用方可以不填) |
username | String | 是 | 控制台登陆用户名 |
password | String | 是 | 登录密码 |
请求示例
{
"walletId": "test",
"walletKey": "12345678",
"endpoint": "http://www.zccp.com",
"username": "username",
"password": "password",
}
返回参数
名称 | 类型 | 描述 |
---|---|---|
did | String | 络谱ID |
publicKey | String | 公钥 |
返回示例
{
"code": "SUCCESS",
"message": {
"code":"10000",
"reason":"请求成功"
},
"detail": {
"did": "did:brop:9Yp3ZD8FYpXUFNcxWs9cCy",
"publicKey":"00E0740081F7B0674E48157AC9D55A3DDDEC78647451CE46BE1A856F7E6B39A3F576E0C8E84F45A4B397F5F1840081C116D7D4E30979B445647584799FAB7ED6"
}
}