blockchainUserCert


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>]

支持的方法

GETPOSTPUTHEAD

父资源

managerRoot

子资源

介绍

资源的描述。

支持的方法:

支持的表述格式: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>格式的表述。

请参见