Updated on 2023-06-29 GMT+08:00

Exporting a Certificate

Function

This API is used to export a certificate.

  • There are two methods for different compression statuses:

    • If is_compressed is set to true, a compressed file package is returned. The package name is in the format of Certificate name_Lowercase letters of the type field.zip, for example, test_apache.zip.

      • If type is set to APACHE, the compressed package contains three files: server.key (key file in PEM format), chain.crt (certificate chain in PEM format), and server.crt (certificate in PEM format).

      • If type is set to IIS, the compressed package contains two files: keystorePass.txt (keystore password) and server.pfx (PFX certificate. The certificate and certificate chain are contained in the same file).

      • If type is set to NGINX, the compressed package contains two files: server.key (key file in PEM format) and server.crt (content in PEM format. The certificate and certificate chain are contained in the same file).

      • If typeis set to TOMCAT, the compressed package contains two files: keystorePass.txt (keystore password) and server.jks (JKX certificate. The certificate and certificate chain are contained in the same file).

      • If type is set to OTHER, the compressed package contains three files: server.key (key file in PEM format), chain.pem (certificate chain), and server.pem (certificate).

    • If is_compressed is set to false, a certificate in JSON format is returned, including the following parameters:

      • If type is set to APACHE, NGINX, or OTHER, the following parameters are returned:

        • certificate: indicates the certificate content in PEM format.

        • certificate_chain: indicates the certificate chain in PEM format.

        • private_key: indicates the certificate private key in PEM format.

      • If type is set to "IIS" or "TOMCAT", it is not defined currently.

Only certificates in the Issued status can be exported.

URI

POST /v1/private-certificates/{certificate_id}/export

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

certificate_id

Yes

String

ID of the private certificate you want to export.

Minimum: 36

Maximum: 36

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. The token can be obtained by calling the token API of IAM. The value of X-Auth-Token in the response header is the user token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

is_compressed

Yes

String

Whether to compress.

  • true

  • false

type

Yes

String

Type of the server on which the certificate is installed. The options are as follows:

  • APACHE: This parameter is recommended if you want to use the certificate for an Apache server.

  • NGINX: This parameter is recommended if you want to use the certificate for an Nginx server.

  • IIS: This parameter is recommended if you want to use the certificate for a Windows IIS server.

  • TOMCAT: This parameter is recommended if you want to use the certificate for a Tomcat server.

  • OTHER: This parameter is recommended if you want to download a certificate in PEM format.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

private_key

String

Private key content

certificate

String

Certificate content

certificate_chain

String

Certificate chain content.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code

Minimum: 3

Maximum: 36

error_msg

String

Error message

Minimum: 0

Maximum: 1024

Status code: 401

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code

Minimum: 3

Maximum: 36

error_msg

String

Error message

Minimum: 0

Maximum: 1024

Status code: 403

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code

Minimum: 3

Maximum: 36

error_msg

String

Error message

Minimum: 0

Maximum: 1024

Status code: 404

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code

Minimum: 3

Maximum: 36

error_msg

String

Error message

Minimum: 0

Maximum: 1024

Status code: 500

Table 9 Response body parameters

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 export 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.ae-ad-1.myhuaweicloud.com/v1/private-certificates/6434f74f-2d13-4e6a-89eb-93ee313f1a43/export

{
  "type" : "other",
  "is_compressed" : false
}

Example Responses

Status code: 200

Request succeeded.

{
  "certificate" : "-----BEGIN CERTIFICATE-----\r\n******\r\n-----END CERTIFICATE-----",
  "certificate_chain" : "-----BEGIN CERTIFICATE-----\r\n******\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\n******\r\n-----END CERTIFICATE-----",
  "private_key" : "-----BEGIN RSA PRIVATE KEY-----\r\n******\r\n-----END RSA PRIVATE KEY-----\r\n"
}

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.