证书管理
列举证书
功能介绍
获取证书列表。
URI
GET /v1/secrets
请求消息
| 参数 | 参数类型 | 是否必选 | 描述 |
|---|---|---|---|
| show_all | string | 否 | 值为True时,返回所有项目下的证书资源;值为False时,返回当前项目下的证书资源。该参数仅在云管理员身份下有效。 |
| show_expired | string | 否 | 值为True时,返回的证书列表中将包含已经过期的证书。默认只返回未过期的证书。 |
| show_cert_secrets_only | string | 否 | 值为True时,仅返回证书类型的Secret资源。默认将返回所有类型的Secret资源。 |
| use_es_deleted | string | 否 | 值为True时,代表使用es_deleted字段标记证书是否被删除,防止负载均衡监听器引用已被删除的证书时报错。 |
| cert_use_type | integer | 否 | 值为1时,仅返回服务端证书;值为2时,仅返回客户端证书;默认返回所有类型的证书。 |
| key_algorithm | integer | 否 | 值为1时,仅返回RSA密钥算法类型的证书;值为2时,仅返回ECC密钥算法类型的证书;值为3时,仅返回国密SM2算法类型的证书;默认返回所有算法类型的证书。 |
| limit | integer | 否 | 返回的证书列表数据条数,默认返回10条数据,最大支持100条数据。 |
| offset | integer | 否 | 获取证书数据时的起始索引位置,即偏移量。一般结合limit参数一起使用。 |
响应消息
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | string | Secret 资源名称,在证书服务中代表证书名称。 |
| status | string | Secret 资源状态,证书服务中未使用此字段。 |
| created | string | 证书 Secret 创建时间。 |
| updated | string | 证书 Secret 更新时间。 |
| secret_type | string | Secret 资源类型,证书服务中未使用此字段。 |
| expiration | string | 证书过期时间。 |
| algorithm | string | Secret 资源加密算法类型,证书服务中未使用此字段。 |
| bit_length | integer | Secret 资源加密算法位数,证书服务中未使用此字段。 |
| mode | string | Secret 资源加密模式,证书服务中未使用此字段。 |
| creator_id | uuid | 创建证书的用户ID。 |
| es_dns | string | 证书所绑定的域名信息。 |
| es_cert_type | integer | 证书状态,1代表已签发;2代表已托管;3代表其他,用于标记非证书Secret资源;4代表已吊销。 |
| es_project_id | uuid | 当前证书所处的项目ID。 |
| es_domain_id | uuid | 当前证书所处的部门ID。 |
| es_issuer_ca_id | uuid | 签发证书的私有CA的ID。 |
| es_deleted | boolean | 证书是否已删除。 |
| es_cert_use_type | integer | 证书类型,1代表服务端证书,2代表客户端证书。 |
| es_key_algorithm | integer | 证书密钥算法类型,1代表RSA密钥算法,2代表ECC密钥算法,3代表国密SM2算法。 |
| content_types | object | Secret对应的Payload内容格式类型。 |
| secret_ref | string | 证书资源对应的Secret引用,包含Secret ID。 |
请求示例
curl -X GET -H "X-Auth-Token: <token>" http://barbican.barbican.svc.cluster.local/v1/secrets?show_all=True&show_cert_secrets_only=True&cert_use_type=1&use_es_deleted=True&key_algorithm=1
正常响应示例
{
"secrets": [
{
"created": "2023-03-27T12:12:40",
"updated": "2023-03-27T12:12:40",
"status": "ACTIVE",
"name": "server-cert-test",
"secret_type": "opaque",
"expiration": "2024-03-26T12:12:40",
"algorithm": null,
"bit_length": null,
"mode": null,
"creator_id": "bc138a94c9644c9da4a3093f20e29890",
"es_dns": "www.server-cert.com",
"es_cert_type": 1,
"es_project_id": "d0599a61793943fba9278165e51e7d52",
"es_domain_id": "default",
"es_issuer_ca_id": "65ddc0d1-2793-4bf2-abbb-3eff4e02e26e",
"es_deleted": false,
"es_cert_use_type": 1,
"es_key_algorithm": 1,
"content_types": {
"default": "application/octet-stream"
},
"secret_ref": "http://barbican-api.barbican.svc.cluster.local:9311/v1/secrets/5715c3dd-d32c-4edd-9fd1-5baeb6a8467b"
}
],
"total": 1
}
正常响应代码
200
错误码
400,401,500
注意点
独享型负载均衡服务对接需注意:
- 目前,独享型负载均衡服务创建HTTPS类型的负载均衡监听器时,仅支持
RSA密钥算法类型的服务端证书。因此在创建HTTPS类型的负载均衡监听器获取证书列表时,需要携带以下参数show_cert_secrets_only=True&cert_use_type=1&use_es_deleted=True&key_algorithm=1;- 获取证书列表最多只能返回100条数据,如需获取所有证书数据,可通过
offset和limit参数进行遍历,最后一次遍历返回的数据条数小于limit参数的值,则证明证书数据已全部取出。
存储证书内容
功能介绍
将证书、私钥等内容存储到 Barbican Secret 中。
URI
POST /v1/secrets
请求消息
| 参数 | 参数类型 | 是否必选 | 描述 |
|---|---|---|---|
| name | string | 否 | Secret 资源名称,在证书服务中代表证书名称 |
| expiration | string | 否 | 证书过期时间 |
| algorithm | string | 否 | Secret 算法名称 |
| bit_length | integer | 否 | Secret 算法位数 |
| mode | string | 否 | Secret 算法模式 |
| payload | string | 否 | 证书内容 |
| payload_content_type | string | 否 | 证书内容的数据类型 |
| payload_content_encoding | string | 否 | 证书内容的编码类型 |
| secret_type | string | 否 | Secret 类型 |
| es_domain_id | uuid | 否 | 证书所处的部门ID |
| es_project_id | uuid | 否 | 证书所处的项目ID |
| es_dns | string | 否 | 证书中配置的域名信息 |
| es_cert_type | string | 否 | 证书状态,1代表已签发;2代表已托管;3代表其他,用于标记非证书Secret资源;4代表已吊销 |
| es_issuer_ca_id | string | 否 | 签发证书的私有CA的ID。 |
| es_cert_use_type | string | 否 | 证书类型,1代表服务端证书,2代表客户端证书 |
| es_key_algorithm | string | 否 | 证书密钥算法类型,1代表RSA密钥算法,2代表ECC密钥算法,3代表国密SM2算法 |
请求示例
curl -X POST -H "content-type:application/json" -H "X-Auth-Token: <token>" -d '{"payload": "my-secret-content", "payload_content_type": "text/plain"}' http://barbican-api.barbican.svc.cluster.local:9311/v1/secrets
正常响应示例
{
"secret_ref": "http://barbican-api.barbican.svc.cluster.local:9311/v1/secrets/{secret_uuid}"
}
存储证书元数据
功能介绍
将证书的属性信息存储到 Barbican Secret Metadata 中。
URI
PUT /v1/secrets/{uuid}/metadata
请求消息
{
'metadata': {
'<key1>': '<value1>',
'<key2>': '<value2>'
}
}
请求示例
curl -X PUT -H "content-type:application/json" -H "X-Auth-Token: $TOKEN" \
-d '{ "metadata": {
"description": "contains the AES key",
"geolocation": "12.3456, -98.7654"
}
}' \
http://barbican-api.barbican.svc.cluster.local:9311/v1/secrets/2a549393-0710-444b-8aa5-84cf0f85ea79/metadata
正常响应示例
{
"metadata_ref": "http://barbican-api.barbican.svc.cluster.local:9311/v1/secrets/{secret_uuid}/metadata"
}
| 日期 | 修订内容 |
|---|---|