Creating an SSL Certificate
Function
This API is used to create an SSL certificate.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/apigw/certificates
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Certificate name. It can contain 4 to 50 characters, starting with a letter. Only letters, digits, and underscores (_) are allowed. |
cert_content |
Yes |
String |
Certificate content. |
private_key |
Yes |
String |
Certificate private key. |
type |
No |
String |
Certificate scope. Default: global |
instance_id |
No |
String |
Gateway ID. This parameter is required if type is set to instance. |
trusted_root_ca |
No |
String |
Trusted root certificate (CA). |
algorithm_type |
No |
String |
Certificate algorithm type:
|
cert_content_sign |
No |
String |
Signature certificate content. This parameter is mandatory only when algorithm_type is set to SM2. Maximum: 8092 |
private_key_sign |
No |
String |
Signature private key content. This parameter is mandatory only when algorithm_type is set to SM2. Maximum: 8092 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
String |
Certificate ID. |
name |
String |
Certificate name. |
type |
String |
Certificate type.
|
instance_id |
String |
Gateway ID.
|
project_id |
String |
Project ID. |
common_name |
String |
Domain name. |
san |
Array of strings |
SAN domain name. |
not_after |
String |
Expiration time. |
signature_algorithm |
String |
Signature algorithm. |
create_time |
String |
Creation time. |
update_time |
String |
Update time. |
is_has_trusted_root_ca |
Boolean |
Whether a trusted root certificate (CA) exists. The value is true if trusted_root_ca exists in the bound certificate. Default: false |
algorithm_type |
String |
Certificate algorithm type:
|
version |
Integer |
Version. |
organization |
Array of strings |
Company or organization. |
organizational_unit |
Array of strings |
Department. |
locality |
Array of strings |
City. |
state |
Array of strings |
State or province. |
country |
Array of strings |
Country or region. |
not_before |
String |
Effective time. |
serial_number |
String |
Serial number. |
issuer |
Array of strings |
Issuer. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
Creating an SSL certificate
{ "name" : "cert_demo", "private_key" : "'-----BEGIN PRIVATE KEY-----THIS IS YOUR PRIVATE KEY-----END PRIVATE KEY-----\\n'", "cert_content" : "'-----BEGIN CERTIFICATE-----THIS IS YOUR CERT CONTENT-----END CERTIFICATE-----\\n'", "type" : "instance", "instance_id" : "f0fa1789-3b76-433b-a787-9892951c620e" }
Example Responses
Status code: 200
OK
{ "id" : "a27be832f2e9441c8127fe48e3b5ac67", "name" : "cert_demo", "common_name" : "apigtest.example.com", "san" : [ "apigtest.example.com", "*.san.com" ], "version" : 3, "organization" : [ "XX" ], "organizational_unit" : [ "IT" ], "locality" : [ "XX" ], "state" : [ "XX" ], "country" : [ "XX" ], "not_before" : "2019-06-01T00:00:00Z", "not_after" : "2031-08-16T06:36:13Z", "serial_number" : "13010", "issuer" : [ "XXSSL Inc" ], "signature_algorithm" : "SHA256-RSA", "create_time" : "2021-08-20T02:03:53Z", "update_time" : "2021-08-20T02:03:53Z", "algorithm_type" : "RSA" }
Status code: 400
Bad Request
{ "error_code" : "APIG.3325", "error_msg" : "The API quota name already exists" }
Status code: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Status code: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Status code: 404
Not Found
{ "error_code" : "APIG.3030", "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec" }
Status code: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot