更新时间:2024-12-18 GMT+08:00
分享

导出证书

功能介绍

导出证书。

  • 国际算法
    • 选择是否压缩时,分以下两种情况:
      • is_compressed为true时,返回文件压缩包,命名为:证书名称_type字段小写字母.zip,如”test_apache.zip“。
        • 系统生成密钥签发证书
          • type = "APACHE"时,压缩包中包含三个文件:server.key(密钥文件,内容为PEM格式,若导出证书时设置密码,则为加密后的私钥)、chain.crt(证书链,内容为PEM格式)、server.crt(证书,内容为PEM格式);
          • type = "IIS"时,压缩包中包含两个文件:keystorePass.txt(keystore口令,若导出证书时设置密码,则无此密码文件)、server.pfx(PFX证书,证书与证书链包含在同一个文件);
          • type = "NGINX"时,压缩包中包含两个文件:server.key(密钥文件,内容为PEM格式,若导出证书时设置密码,则为加密后的私钥)、server.crt(内容为PEM格式,证书与证书链包含在同一个文件);
          • type = "TOMCAT"时,压缩包中包含两个文件:keystorePass.txt(keystore口令,若导出证书时设置密码,则无此密码文件)、server.jks(JKX证书,证书与证书链包含在同一个文件);
          • type = "OTHER"时,压缩包中包含三个文件:server.key(密钥文件,内容为PEM格式,若导出证书时设置密码,则为加密后的私钥)、chain.pem(证书链)、server.pem(证书)。
        • 导入CSR签发证书
          • type = "APACHE"或"IIS"或"TOMCAT"时,压缩包中包含两个文件:chain.crt(证书链,内容为PEM格式)、server.crt(证书,内容为PEM格式);
          • type = "NGINX"时,压缩包中包含一个文件:server.crt(证书,内容为PEM格式);
          • type = "OTHER"时,压缩包中包含两个文件:chain.pem(证书链,内容为PEM格式)、cert.pem(证书,内容为PEM格式)。
      • is_compressed为false时,返回json格式,返回的具体参数如下:
        • 系统生成密钥签发证书
          • type = "APACHE"或"NGINX"或"OTHER"时,返回参数如下:
            • certificate(证书内容,PEM格式);
            • certificate_chain(证书链,PEM格式);
            • private_key(证书私钥,PEM格式,若导出证书时设置密码,则为加密后的私钥);
          • type = "IIS"或"TOMCAT"时,暂时未定义。
        • 导入CSR签发证书
          • type = "APACHE"或"NGINX"或"IIS"或"TOMCAT"或"OTHER"时,返回参数如下:
            • certificate(证书内容,PEM格式);
            • certificate_chain(证书链,PEM格式);
  • 国密算法
    • 选择是否压缩和是否国密标准时,分以下四种情况:
      • is_compressed为true、is_sm_standard为true时,返回文件压缩包,命名为:证书名称_type字段小写字母.zip,如”test_apache.zip“。
        • 系统生成密钥签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,压缩包中包含五个文件:chain.pem(证书链,内容为PEM格式)、signCert.key(签名证书密钥文件,内容为PEM格式,若导出证书时设置密码,则为加密后的私钥)、signCert.pem(签名证书,内容为PEM格式)、encSm2EnvelopedKey.key(加密证书的国密GMT0009标准规范数字信封文件,内容为BASE64编码)、signedAndEnvelopedData.key(加密证书的国密GMT0010标准规范数字信封文件,内容为BASE64编码)、encCert.pem(加密证书,内容为PEM格式)。
        • 导入CSR签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,压缩包中包含四个文件:chain.pem(证书链,内容为PEM格式)、signCert.pem(签名证书,内容为PEM格式)、encSm2EnvelopedKey.key(加密证书的国密GMT0009标准规范数字信封文件,内容为BASE64编码)、signedAndEnvelopedData.key(加密证书的国密GMT0010标准规范数字信封文件,内容为BASE64编码)、encCert.pem(加密证书,内容为PEM格式)。
      • is_compressed为true、is_sm_standard为false时,返回文件压缩包,命名为:证书名称_type字段小写字母.zip,如”test_apache.zip“。
        • 系统生成密钥签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,压缩包中包含五个文件:chain.pem(证书链,内容为PEM格式)、signCert.key(签名证书密钥文件,内容为PEM格式,若导出证书时设置密码,则为加密后的私钥)、signCert.pem(签名证书,内容为PEM格式)、encCert.key(加密证书密钥文件,内容为PEM格式,若导出证书时设置密码,则为加密后的私钥)、encCert.pem(加密证书,内容为PEM格式)。
        • 导入CSR签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,压缩包中包含四个文件:chain.pem(证书链,内容为PEM格式)、signCert.pem(签名证书,内容为PEM格式)、encCert.key(加密证书密钥文件,内容为PEM格式)、encCert.pem(加密证书,内容为PEM格式)。
      • is_compressed为false、is_sm_standard为true时,返回json格式,返回的具体参数如下:
        • 系统生成密钥签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,返回参数如下:
            • certificate_chain(证书链,PEM格式);
            • certificate(签名证书内容,PEM格式);
            • private_key(签名证书私钥,PEM格式,若导出证书时设置密码,则为加密后的私钥);
            • enc_certificate(加密证书内容,PEM格式);
            • enc_sm2_enveloped_key(加密证书的国密GMT0009标准规范数字信封文件,BASE64编码);
            • signed_and_enveloped_data(加密证书的国密GMT0010标准规范数字信封文件,BASE64编码)。
        • 导入CSR签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,返回参数如下:
            • certificate_chain(证书链,PEM格式);
            • certificate(签名证书内容,PEM格式);
            • enc_certificate(加密证书内容,PEM格式);
            • enc_sm2_enveloped_key(加密证书的国密GMT0009标准规范数字信封文件,BASE64编码);
            • signed_and_enveloped_data(加密证书的国密GMT0010标准规范数字信封文件,BASE64编码)。
      • is_compressed为false、is_sm_standard为false时,返回json格式,返回的具体参数如下:
        • 系统生成密钥签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,返回参数如下:
            • certificate_chain(证书链,PEM格式);
            • certificate(签名证书内容,PEM格式);
            • private_key(签名证书私钥,PEM格式,若导出证书时设置密码,则为加密后的私钥);
            • enc_certificate(加密证书内容,PEM格式);
            • enc_private_key(加密证书私钥,PEM格式,若导出证书时设置密码,则为加密后的私钥)。
        • 导入CSR签发证书
          • type = "APACHE"或"IIS"或"NGINX"或"TOMCAT"时,暂时未定义;
          • type = "OTHER"时,返回参数如下:
            • certificate_chain(证书链,PEM格式);
            • certificate(签名证书内容,PEM格式);
            • enc_certificate(加密证书内容,PEM格式);
            • enc_private_key(加密证书私钥,PEM格式)。

只有当证书状态为“已签发”时,可进行导出操作。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

certificate_id

String

所要导出的私有证书ID。

最小长度:36

最大长度:36

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:32

最大长度:2097152

表3 请求Body参数

参数

是否必选

参数类型

描述

is_compressed

String

是否压缩。

  • true
  • false

type

String

根据服务器类型选择下载证书的形式,支持以下五种类型:

  • APACHE : apache服务器推荐使用此参数;
  • NGINX : nginx服务器推荐使用此参数;
  • IIS : windows服务器推荐使用此参数;
  • TOMCAT : tomcat服务器推荐使用此参数;
  • OTHER : 下载PEM格式证书,推荐使用此参数。

is_sm_standard

String

是否国密GMT0009标准规范和国密GMT0010标准规范。当证书算法为SM2时传入才有效,若不传入,则默认为false。

  • true
  • false

password

String

设置用于加密私钥的密码。支持使用英文大小写字母、数字、特殊字符(例如,.+-_#)等。最大长度为32字节,若不传入,则默认不使用加密导出。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

private_key

String

私钥内容。

certificate

String

证书内容。

certificate_chain

String

证书链内容。

enc_certificate

String

加密证书内容。

enc_private_key

String

加密私钥内容。

enc_sm2_enveloped_key

String

加密私钥的国密GMT0009标准规范SM2数字信封。

signed_and_enveloped_data

String

加密私钥的国密GMT0010标准规范签名数字信封。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 401

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 403

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 404

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 500

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

请求示例

导出证书,请求头中的X-Auth-Token字段需要填写token,且该token需要具有本API的访问权限。

POST https://{Endpoint}/v1/private-certificates/6434f74f-2d13-4e6a-89eb-93ee313f1a43/export

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

响应示例

状态码: 200

请求已成功

{
  "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"
}

状态码: 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

服务内部错误。

错误码

请参见错误码

相关文档