URI
<managerRoot_uri>/blockchains/usercerts[.<format>]
<managerRoot_uri>/blockchains/usercerts/{usercertname}[.<format>]
<managerRoot_uri>/blockchains/usercerts/{usercertname}/status[.<format>]
<managerRoot_uri>/blockchains/usercerts/{usercertname}/file[.<format>]
<managerRoot_uri>/blockchains/admincerts/{admincertname}/chaincodes/{chaincodename}/usercerts[.<format>]
支持的方法
父资源
子资源
无
介绍
资源的描述。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
HTTP 请求方法
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/services/
GET 请求
获取区块链用户证书列表、区块链用户证书详细信息、导出列表中的区块链用户证书文件。
请求参数
对 BlockChainUserCert 资源执行 GET 请求时,可在 URI 中包含如下参数,用来指定用户证书和链码。
| 名称 | 类型 | 含义 |
| usercertname | string | 用户证书名称 |
| chaincodename | string | 链码名称 |
响应结构1
获取导入的区块链用户证书列表。对 BlockChainUserCert 资源执行 GET 请求,返回的响应主体结构如下:
| 字段 | 类型 | 说明 |
| name | string | 用户证书名称 |
| isAdmin | boolean | 是否为管理证书 |
| status | string | 管理证书当前状态,包括可用、锁定、失效 |
| description | string | 相关描述 |
| dataserviceName | string | 证书发布过的服务 |
| parentCertName | string | 关联的管理证书名称 |
| orgs | string | 区块链组织 |
| channels | string | 区块链网络通道 |
| chaincodes | string | 链码 |
| peers | string | 对等节点名 |
| orderers | string | 排序节点名 |
| certKVMapping | string | 证书内容集合 |
| userCertMapping | string | 用户证书关系 |
| createTime | string | 创建时间 |
| expireTime | string | 失效时间 |
| importTime | string | 导入时间 |
| users | array | 绑定的用户列表 |
响应示例1
获取导入的区块链用户证书列表。对 BlockChainUserCert 资源执行GET请求,URL 为 http://supermapiserver:8090/iserver/manager/blockchains/usercerts.rjson,则返回的 rjson 格式的资源描述如下:
{
"name": "usercert01",
"isAdmin": "false",
"status": "AVAILABLE"
"description": "geoblockchain",
"dataserviceName": "",
"parentCertName":"supermapbc"
"orgs": "OrgA",
"channels": "txchannel",
"chaincodes": "supermapcc",
"peers": "peer0.orga.example.com",
"orderers": "Orderer0",
"certKVMapping":"string" //证书内容集合,包括网络结构信息、密钥等
"userCertMapping":"string" //用户和用户证书的绑定关系
"createTime": "2021-06-21T08:34:08.022Z",
"expireTime": "2021-06-21T08:34:08.022Z",
"importTime": "",
"users"
[
"user01";
"user02"
]
}
{
"name": "usercert02",
"isAdmin": "false",
"status": "AVAILABLE"
"description": "geoblockchain",
"dataserviceName": "",
"parentCertName":"supermapbc"
"orgs": "OrgA",
"channels": "txchannel",
"chaincodes": "supermapcc",
"peers": "peer0.orga.example.com",
"orderers": "Orderer0",
"certKVMapping":"string" //证书内容集合,包括网络结构信息、密钥等
"userCertMapping":"string"//用户和用户证书的绑定关系
"createTime": "2021-06-21T08:34:08.022Z",
"expireTime": "2021-06-21T08:34:08.022Z",
"importTime": "",
"users"
[
"user01";
]
}
响应结构2
传入请求参数 usercertname,获取指定用户证书的详细信息。对 BlockChainUserCert 资源执行 GET 请求,返回的响应主体结构同“响应结构1”。
响应示例2
获取指定用户证书的详细信息。对 BlockChainUserCert 资源执行GET请求,URL 为 http://supermapiserver:8090/iserver/manager/blockchains/usercerts/usercert01.rjson
参数:usercert01
则返回的 rjson 格式的资源描述如下:
{
"name": "usercert01",
"isAdmin": "false",
"status": "AVAILABLE"
"description": "geoblockchain",
"dataserviceName": "",
"parentCertName":"supermapbc"
"orgs": "OrgA",
"channels": "txchannel",
"chaincodes": "supermapcc",
"peers": "peer0.orga.example.com",
"orderers": "Orderer0",
"certKVMapping":"string" //证书内容集合,包括网络结构信息、密钥等
"userCertMapping":"string" //用户和用户证书的绑定关系
"createTime": "2021-06-21T08:34:08.022Z",
"expireTime": "2021-06-21T08:34:08.022Z",
"importTime": "",
"users"
[
"user01";
"user02"
]
}
响应结构3
导出列表中指定的用户证书文件。传入请求参数 usercertname,对 BlockChainUserCert 资源执行 GET 请求,返回一个 string 类型的 yaml 文件。
POST 请求
导入一份区块链用户证书文件、申请一份用户证书。
请求参数
对 BlockChainUserCert 资源执行 POST 请求时,可在 URI 中包含如下参数。
| 名称 | 类型 | 含义 |
| file | string | 用户证书文件 |
| admincertname | string | 区块链管理证书名称 |
| chaincodename | string | 链码名称 |
响应结构1
导入一份区块链用户证书文件。传入请求参数file,对 BlockChainUserCert 资源执行 POST 请求,返回的响应主体结构如下:
| 字段 | 类型 | 说明 |
| succeed | boolean | 导入请求的结果 |
| errorMsg | string | 错误信息 |
响应示例1
导入一份区块链用户证书文件。对 BlockChainUserCert 资源执行 POST 请求,URL 为 http://supermapiserver:8090/iserver/manager/blockchains/usercerts.rjson
参数:file类型的证书文件
则返回的 rjson 格式的资源描述如下:
{
"succeed": true,
"errorMsg": ""
}
响应结构2
申请一份用户证书,传入请求参数 admincertname、chaincodename 和注册证书的相关信息请求体,对 BlockChainUserCert 资源执行 POST 请求,返回的响应主体结构如下:
| 字段 | 类型 | 说明 |
| username | string | 注册用户名 |
| password | string | 注册密码 |
| attributes | string | 证书属性 |
| revokeTime | string | 失效时间 |
| maxEnrollments | string | 用户证书最大申请数量 |
| description | string | 证书描述 |
响应示例2
申请一份用户证书。对 BlockChainUserCert 资源执行 POST 请求,URL 为 http://supermapiserver:8090/iserver/manager/blockchains/admincerts/supermapbc/chaincodes/supermapcc/usercerts.rjson
参数:admincertname 管理证书名称为 supermapbc,chaincodename 链码名称为 supermapcc。
则返回的 rjson 格式的资源描述如下:
{
"username": "Bob",
"password": "password",
"attributes": "",
"revokeTime": "2021-06-27T08:34:08.022Z",
"maxEnrollments": 10,
"description": ""
}
PUT 请求
更新指定用户证书的详细信息,包括和用户、用户组的绑定关系;更新用户证书的状态。
请求参数
对 BlockChainUserCert 资源执行 PUT 请求时,可在 URI 中包含如下参数。
| 名称 | 类型 | 含义 |
| usercertname | string | 用户证书名称 |
响应结构1
更新指定用户证书的详细信息,包括和用户、用户组的绑定关系。传入请求参数 usercertname 和用户证书详细信息请求体,对 BlockChainUserCert 资源执行 PUT 请求,返回的响应主体结构如下:
| 字段 | 类型 | 说明 |
| succeed | boolean | 导入请求的结果 |
| errorMsg | string | 错误信息 |
响应示例1
更新指定用户证书的详细信息。对示例 BlockChainUserCert 资源 http://supermapiserver:8090/iserver/manager/blockchains/usercerts/usercert01.rjson 执行PUT请求:
参数:file类型的证书文件
则返回的 rjson 格式的资源描述如下:
{
"succeed": true,
"errorMsg": ""
}
HEAD 请求
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 BlockChainUserCert 资源是否存在,或者客户端是否有权限访问 BlockChainUserCert 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 BlockChainUserCert 资源是否支持<format>格式的表述。