通过CSR签发证书
功能介绍
通过CSR签发证书。功能约束如下:
-
1、当前默认参数如下:
-
CA 默认参数:
-
keyUsage: digitalSignature, keyCertSign, cRLSign,优先采用CSR中的参数;
-
SignatureHashAlgorithm: SHA384;
-
PathLength:0 (可自定义)。
-
-
私有证书:
-
keyUsage: digitalSignature keyAgreement,优先采用CSR中的参数;
-
SignatureHashAlgorithm: SHA384;
-
-
-
2、当传入的type为INTERMEDIATE_CA时,创建出的从属CA证书,有以下限制:
-
不占用CA配额。在查询CA列表时,不会返回该证书;
-
只支持通过以下两个接口获取其信息:
-
GET /v1/private-certificate-authorities/{ca_id} 获取证书详情
-
POST /v1/private-certificate-authorities/{ca_id}/export 导出证书
-
-
本接口返回的certificate_id即代表从属CA的ca_id;
-
无法用于签发证书,密钥在用户侧。
-
-
3、当type为ENTITY_CERT时,创建出的私有证书,有以下特点:
-
占用私有证书配额。在查询私有证书列表时,会返回该证书;
-
除了导出时不包含密钥信息(密钥在用户端),其余用法与其它私有证书一致。
-
注:需要使用“\r\n”或“\n”代替换行符,将CSR转换成一串字符,可参考示例请求。注:目前,证书的组织信息、公钥算法以及公钥内容等均来自CSR文件,暂不支持API传入。
URI
POST /v1/private-certificates/csr
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户token,参见:IAM token获取方法。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
issuer_id |
是 |
String |
父CA证书ID。 最小长度:36 最大长度:36 |
csr |
是 |
String |
证书签名请求。请使用“\r\n”或“\n”替代证书签名请求中的换行符,若通过console端请求此接口,则无需做符号转换。 最大长度:5120 |
validity |
是 |
Validity object |
证书有效期,详情请参见Validity字段数据结构说明。 |
type |
否 |
String |
证书类型,用于区分从属CA与私有证书。
|
path_length |
否 |
Integer |
路径长度,仅当签发从属CA时有效。 最小值:0 最大值:6 |
subject_alternative_names |
否 |
Array of SubjectAlternativeName objects |
主体备用名称(本接口预留参数,当前在后端被忽略),详情请参见SubjectAlternativeName字段数据结构说明。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
有效期类型,为必填值:
|
value |
是 |
Integer |
证书有效期值,与type对应的类型值,换算成年需满足以下规则:
|
start_from |
否 |
Integer |
起始时间,为可选值:
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
certificate_id |
String |
当前签发的证书ID。 最小长度:36 最大长度:36 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误请求返回的错误码。 最小长度:3 最大长度:36 |
error_msg |
String |
错误请求返回的错误信息。 最小长度:0 最大长度:1024 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误请求返回的错误码。 最小长度:3 最大长度:36 |
error_msg |
String |
错误请求返回的错误信息。 最小长度:0 最大长度:1024 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误请求返回的错误码。 最小长度:3 最大长度:36 |
error_msg |
String |
错误请求返回的错误信息。 最小长度:0 最大长度:1024 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误请求返回的错误码。 最小长度:3 最大长度:36 |
error_msg |
String |
错误请求返回的错误信息。 最小长度:0 最大长度:1024 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误请求返回的错误码。 最小长度:3 最大长度:36 |
error_msg |
String |
错误请求返回的错误信息。 最小长度:0 最大长度:1024 |
请求示例
通过CSR签发证书,请求头中的X-Auth-Token字段需要填写token,且该token需要具有本API的访问权限。
POST https://ccm.ap-southeast-3.myhuaweicloud.com/v1/private-certificates/csr { "csr" : "-----BEGIN CERTIFICATE REQUEST-----\\nMIICyTCCAbECAQAwXjELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB3NpY2hhdW4xEDAO\\nBgNVBAcTB2NoZW5nZHUxCzAJBgNVBAoTAkhXMQswCQYDVQQLEwJJVDERMA8GA1UE\\nAxMIdGVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZ4q5z\\nxqK/L/FC9x2jESeUW5GB6zS5rVxT0WLTCTv9d1LtWBLsRIinATYTYiP1pNo4/pBq\\nHlM3IiUDkc896CJerYlNzOIjTaV4GjCZvPrxSHU5toJvIDflBsY+gnzbT1ol/y0r\\n3yb9dx7eeF5rPR+U8RTw+Ov/ZNRb+0CY30hrXMdrWjp5dtLGTlr5EFYxlKNOPCkR\\n+6BGyJnC9PWSuqwsykFbgMRkcBaNAxa59dRhMF50pvx2Vs929vFrMi+ofDELUOqz\\n1vyjaEA3pn3AGJGXZgrGNbSfz12ixgGLes4cQD21GCIAWgnBQ7b1ru2V8ImUfyh0\\nyvTEyHJTuFbQ+257AgMBAAGgJjAkBgkqhkiG9w0BCQ4xFzAVMBMGA1UdEQQMMAqC\\nCHRlc3QuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQBKfjZuYsz4s0wb1POIWn41eiAB\\np53qb63QKWILN9z8dLktcdSl3lPfcfPZpXv++QPtn3LR9rJKBawusk6SPXbvOGgS\\n5J+6eM8kVW2O3gHFgoaMcPYVtiO7ekG6o25qx6+Rj84wbFdmpOiCc8AwrLEBwzYV\\np1zaprWQu6PxBulkYPa3FLcntDdi7B67r0YTpxVvo1K7vHYFboDvPz7xG57QIFIM\\nwGd1OegariMT3N8gBOzLZc+jqLpxgo4xoNqBHMo6DEmKLdWdzU4ljpuGK9had99k\\nvQ5vft/Qra3v1uq2lOm/G92b0uA9Y1t2bMHobtAnuXL0HmY9XcLdzpC3f8h8\\n-----END CERTIFICATE REQUEST-----", "validity" : { "type" : "YEAR", "value" : 3 }, "issuer_id" : "2cb2878b-6cd1-460d-bd25-afe655159bdc" }
响应示例
状态码: 200
请求已成功
{ "certificate_id" : "e3e10fc6-5dff-4a70-9cb5-320d258a6215" }
状态码: 400
请求参数有误。
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
状态码: 401
被请求的页面需要鉴权。
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
状态码: 403
认证失败。
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
状态码: 404
资源不存在或资源未找到。
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
状态码: 500
服务内部错误。
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
状态码
状态码 |
描述 |
---|---|
200 |
请求已成功 |
400 |
请求参数有误。 |
401 |
被请求的页面需要鉴权。 |
403 |
认证失败。 |
404 |
资源不存在或资源未找到。 |
500 |
服务内部错误。 |
错误码
请参见错误码。