Applying for a Certificate
Function
This API is used to apply for a certificate.
URI
POST /v1/private-certificates
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. For details, see Obtaining a User Token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
issuer_id |
Yes |
String |
ID of the parent CA. Minimum: 36 Maximum: 36 |
key_algorithm |
Yes |
String |
Key algorithm. The options are as follows:
|
signature_algorithm |
Yes |
String |
Signature hash algorithm. The options are as follows:
|
distinguished_name |
Yes |
CertDistinguishedName object |
Certificate name. For details, see data structure for the CertDistinguishedName field. |
validity |
Yes |
Validity object |
Certificate validity. For details, see data structure for the Validity field. |
key_usages |
No |
Array of strings |
Key usage. For details, see 4.2.1.3 in RFC 5280.
|
subject_alternative_names |
No |
Array of SubjectAlternativeName objects |
Alternative name for the subject. For details, see data structure for the SubjectAlternativeName field.
|
extended_key_usage |
No |
ExtendedKeyUsage object |
Extended Key Usage. For details, see data structure for the ExtendedKeyUsage field. |
customized_extension |
No |
CustomizedExtension object |
Customized extension information. For details, see data structure for the CustomizedExtension field. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
common_name |
Yes |
String |
Common certificate name (CN). Minimum: 1 Maximum: 64 |
country |
No |
String |
Country code, which must comply with the regular expression "[A-Za-z]{2}".If not passed in, the value corresponding to the parent CA is inherited by default. Minimum: 2 Maximum: 2 |
state |
No |
String |
State or city name.If not passed in, the value corresponding to the parent CA is inherited by default. Minimum: 1 Maximum: 128 |
locality |
No |
String |
Country/Region.If not passed in, the value corresponding to the parent CA is inherited by default. Minimum: 1 Maximum: 128 |
organization |
No |
String |
Organization name.If not passed in, the value corresponding to the parent CA is inherited by default. Minimum: 1 Maximum: 64 |
organizational_unit |
No |
String |
Organization Unit (OU).If not passed in, the value corresponding to the parent CA is inherited by default. Minimum: 1 Maximum: 64 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Validity period type, which is mandatory. The options are as follows:
|
value |
Yes |
Integer |
The certificate validity period. The value of this parameter varies depending on the value of type:
|
start_from |
No |
Integer |
Start time. The options are as follows:
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Type of the alternative name. Currently, only DNS, IP, DNS, and URI are allowed.
|
value |
Yes |
String |
Value of the corresponding alternative name type.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
server_auth |
No |
Boolean |
Server authentication. The OID is 1.3.6.1.5.5.7.3.1.
NOTE:
Enable this enhanced key usage for the server certificate. The default value is false. Default: false |
client_auth |
No |
Boolean |
Client authentication. The OID is 1.3.6.1.5.5.7.3.2
NOTE:
Enable this enhanced key usage for the client certificate. The default value is false. Default: false |
code_signing |
No |
Boolean |
Signing of downloadable executable code client authentication. The OID is 1.3.6.1.5.5.7.3.3.
NOTE:
The default value is false. Default: false |
email_protection |
No |
Boolean |
Email protection. The OID is 1.3.6.1.5.5.7.3.4.
NOTE:
The default value is false. Default: false |
time_stamping |
No |
Boolean |
Binding the hash of an object to a time. The OID is 1.3.6.1.5.5.7.3.8
NOTE:
The default value is false. Default: false |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
object_identifier |
No |
String |
Object identifier
NOTE:
The value of this parameter must be a dot-decimal notation string that complies with the ASN1 specifications, for example, 1.3.6.1.4.1.2011.4.99. Minimum: 1 Maximum: 64 |
value |
No |
String |
Custom attribute content Minimum: 1 Maximum: 64 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
certificate_id |
String |
ID of the certificate being issued. Minimum: 36 Maximum: 36 |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code Minimum: 3 Maximum: 36 |
error_msg |
String |
Error message Minimum: 0 Maximum: 1024 |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code Minimum: 3 Maximum: 36 |
error_msg |
String |
Error message Minimum: 0 Maximum: 1024 |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code Minimum: 3 Maximum: 36 |
error_msg |
String |
Error message Minimum: 0 Maximum: 1024 |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code Minimum: 3 Maximum: 36 |
error_msg |
String |
Error message Minimum: 0 Maximum: 1024 |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code Minimum: 3 Maximum: 36 |
error_msg |
String |
Error message Minimum: 0 Maximum: 1024 |
Example Requests
When you use this API to apply for a certificate, a token is required in the X-Auth-Token field in the request header. The token must have the permission to access the API.
POST https://ccm.ap-southeast-3.myhuaweicloud.com/v1/private-certificates { "key_algorithm" : "RSA2048", "distinguished_name" : { "country" : "CN", "state" : "Sichuan", "locality" : "Chengdu", "organization" : "Huawei", "organizational_unit" : "CloudBU", "common_name" : "TestCert" }, "subject_alternative_names" : [ { "type" : "IP", "value" : "156.127.116.38" } ], "signature_algorithm" : "SHA256", "validity" : { "type" : "YEAR", "value" : 3 }, "issuer_id" : "2cb2878b-6cd1-460d-bd25-afe655159bdc", "key_usages" : [ "digitalSignature", "nonRepudiation" ] }
Example Responses
Status code: 200
Request succeeded.
{ "certificate_id" : "ae9a326a-b61e-4446-854d-cda30ffe31f5" }
Status code: 400
Invalid request parameters.
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
Status code: 401
Token required for the requested page.
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
Status code: 403
Authentication failed.
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
Status code: 404
No resources available or found.
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
Status code: 500
Internal service error.
{ "error_code" : "PCA.XXX", "error_msg" : "XXX" }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Invalid request parameters. |
401 |
Token required for the requested page. |
403 |
Authentication failed. |
404 |
No resources available or found. |
500 |
Internal service 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