为账户绑定 CCS 证书

API 请求

URLs

POST zstack/v1/crypto/ccs-certificate/attach-account/{accountUuid}

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "certificateUuid": "37efdf76b03a3028926549ea5f1253f3",
    "state": "enable"
  },
  "systemTags": [],
  "userTags": []
}

上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"certificateUuid":"37efdf76b03a3028926549ea5f1253f3","state":"enable"}}' \
http://localhost:8080/zstack/v1/crypto/ccs-certificate/attach-account/e0deabb1107f32e7b715d6b5e7f39334

参数列表

名字

类型

位置

描述

可选值

起始版本

certificateUuid (可选)

String

body(包含在params结构中)

CCS 证书的 UUID

 

4.10.0

accountUuid

String

url

账户 UUID

 

4.10.0

state (可选)

String

body(包含在params结构中)vv

启用或禁用,在用户绑定 CCS 证书的同时是否启用通过 UKey 认证登录,enable 表示启用,则后续该用户登录时必须要通过 UKey 认证;disable 表示暂时不启用,但可以通过 UpdateCCSCertificateUserState 开启

  • enable
  • disable

4.10.0

system Tags (可选)

List

body

系统标签

 

4.10.0

userTags (可选)

List

body

用户标签

 

4.10.0

API返回

返回示例

{
  "inventory": {
    "uuid": "271c21f7ef8c4385b09846341cc9deac",
    "algorithm": "SM2",
    "format": "CER",
    "issuerDN": "C=cn,O=infosec,OU=system,CN=ca62_sm2",
    "subjectDN": "C=CN,O=ZStack,OU=ZStack,CN=ZStackTest2",
    "serNumber": "13055887750776402041",
    "effectiveTime": "Oct 15, 2021 10:50:09 AM",
    "expirationTime": "Oct 15, 2024 10:50:09 AM"
  }
}
名字类型描述起始版本
successboolean绑定操作是否成功4.10.0
inventoryCCSCertificateInventory详情参考inventory4.10.0
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error4.10.0

inventory

名字类型描述起始版本
uuidString资源的UUID,唯一标示该资源4.3.12
algorithmString证书类型4.3.12
formatString证书格式,国密是 CER,还有 CRT、DER、JKS 等4.3.12
issuerDNString签发人 DN, 又叫 issuer-DN-distinguished name 比如 CN=sm2,O=test,C=cn4.3.12
subjectDNString主题 DN4.3.12
serNumberLong证书序列号,加上 subjectDN 一起作为双键是全网唯一4.3.12
effectiveTimeTimestamp开始生效的日期4.3.12
expirationTimeTimestamp过期日期4.3.12
createDateTimestamp创建时间4.3.12
lastOpDateTimestamp最后一次修改时间4.3.12
userCertificateRefsList详情参考userCertificateRefs4.3.12

userCertificateRefs

名字类型描述起始版本
userUuidString用户UUID4.3.12
certificateUuidStringCCS 证书 UUID4.3.12
createDateTimestamp创建时间4.3.12
lastOpDateTimestamp最后一次修改时间4.3.12
stateCCSCertificateUserState详情参考state4.3.12

state

名字类型描述起始版本
EnabledCCSCertificateUserState需要验证4.3.12
DisabledCCSCertificateUserState不需要验证4.3.12

error

名字类型描述起始版本
codeString错误码号,错误的全局唯一标识,例如SYS.1000, HOST.10010.6
descriptionString错误的概要描述0.6
detailsString错误的详细信息0.6
elaborationString保留字段,默认为null0.6
opaqueLinkedHashMap保留字段,默认为null0.6
causeErrorCode根错误,引发当前错误的源错误,若无原错误,该字段为null0.6

SDK示例

Java SDK

AttachCCSCertificateToAccountAction action = new AttachCCSCertificateToAccountAction();
action.certificateUuid = "37efdf76b03a3028926549ea5f1253f3";
action.accountUuid = "e0deabb1107f32e7b715d6b5e7f39334";
action.state = "enable";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AttachCCSCertificateToAccountAction.Result res = action.call();

Python SDK

AttachCCSCertificateToAccountAction action = AttachCCSCertificateToAccountAction()
action.certificateUuid = "37efdf76b03a3028926549ea5f1253f3"
action.accountUuid = "e0deabb1107f32e7b715d6b5e7f39334"
action.state = "enable"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AttachCCSCertificateToAccountAction.Result res = action.call()