证书管理
列举证书
功能介绍
获取证书列表。
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"
}
日期 | 修订内容 |
---|---|