
# 上传设备CA证书
#### 功能介绍
应用服务器可调用此接口在物联网平台上传设备的CA证书
#### URI
POST /v5/iotps/{project_id}/certificates
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                           |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 最小长度：**1** 最大长度：**32** |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数        | 是否必选 | 参数类型   | 描述                                |
|:---|:---|:---|:---|
| cert_name | 否    | String | 证书名称。 最小长度：**0** 最大长度：**256**     |
| content   | 是    | String | 证书内容信息。 最小长度：**1** 最大长度：**65535** |
   
#### 响应参数
**状态码： 201**
表4响应Body参数 
| 参数             | 参数类型    | 描述                                                        |
|:---|:---|:---|
| certificate_id | String  | CA证书ID。 最小长度：**0** 最大长度：**256**                           |
| cn_name        | String  | CA证书CN名称。 最小长度：**0** 最大长度：**128**                         |
| owner          | String  | Ca证书所有者。 最小长度：**0** 最大长度：**128**                          |
| status         | Boolean | CA证书验证状态。                                                 |
| verify_code    | String  | CA证书验证码。 最小长度：**0** 最大长度：**256**                          |
| create_date    | String  | 创建证书日期。 最小长度：**0** 最大长度：**128**                           |
| effective_date | String  | CA证书生效日期 最小长度：**0** 最大长度：**128**                          |
| expiry_date    | String  | CA证书失效日期。 最小长度：**0** 最大长度：**128**                         |
| cert_name      | String  | CA证书名称。 最小长度：**0** 最大长度：**256**                           |
| cert_issue     | String  | CA证书颁发者。 最小长度：**0** 最大长度：**128**                          |
| update_date    | String  | CA证书更新日期。 最小长度：**0** 最大长度：**128**                         |
| expired        | Integer | CA证书过期时间： - 0：可用； - 1：即将过期； - 2：已经过期。 最小值：**0** 最大值：**2** |
| cert_hash      | String  | CA证书指纹。 最小长度：**0** 最大长度：**128**                           |
   
#### 请求示例
上传设备CA证书
```
POST https://{endpoint}/v5/iotps/{project_id}/certificates
{
  "content" : "-----BEGIN CERTIFICATE-----\nMIID2TCCAsGgAwIBAgIJAOEDEgVdVMn9MA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD\nVQQGEwJDTjERMA8GA1UECAwIR3VhbmRvbmcxETAPBgNVBAcMCFNoZW56aGVuMQ8w\nDQYDVQQKDAZIdWF3ZWkxDDAKBgNVBAsMA2lvdDESMBAGA1UEAwwJMTIzNDU2Nzg5\nMRowGAYJKoZIhvcNAQkBFgtkamthQHFxLmNvbTAeFw0xOTEyMTkxMzE1MjZaFw0y\nMjEwMDgxMzE1MjZaMIGCMQswCQYDVQQGEwJDTjERMA8GA1UECAwIR3VhbmRvbmcx\nETAPBgNVBAcMCFNoZW56aGVuMQ8wDQYDVQQKDAZIdWF3ZWkxDDAKBgNVBAsMA2lv\ndDESMBAGA1UEAwwJMTIzNDU2Nzg5MRowGAYJKoZIhvcNAQkBFgtkamthQHFxLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM72QUzoadvLfxGjt3UF\noZ4MJbblqnRbouO4KpOVHBXyS2yQVl4CWWMhLh4pp2efNUSqKuXHjY3r68PquyNn\nYk8zO59zVc7JHvjGkBvo7DgPRAhEKPLJIpRzkmlCBbxwTNCjc3FovGb/sHHNlpGn\ncCKUzMfPGNZuBiuemskuEXL/eMHxDPbXYWn4Wq0wt+28PKUL5jybY7nsXSNnmAPF\nTO0CAmq0meUukubT/jHDCQ78ihQ/iqw1RNq88aCqRleoHiGg5nWkjL+05GXqUrqV\nVnZNL+YqcXzuVMs5XgyhNM2AsuH2g3D8ZuF6Dj9qY1n/v/Cp/DGpxP3A74SlplnF\nD/0CAwEAAaNQME4wHQYDVR0OBBYEFAVPWVtpTdO6KQnmVrrNlMguWNR7MB8GA1Ud\nIwQYMBaAFAVPWVtpTdO6KQnmVrrNlMguWNR7MAwGA1UdEwQFMAMBAf8wDQYJKoZI\nhvcNAQELBQADggEBAE40ViqK+UaEn++Xq6f4Cmeg3JqYHu47v9RIAASNihYRBQ/r\n3RE7Af3GqjIO5nMJJuCMzdcoAU8N9KwkgXD+GLR9fYLEoEmq5CrhgaGDsCi85vCs\nmWhj5z8r5TG207xpmvH2KT447dnG+chMBE594ma85dCv+0mCDrqNToElipgT8+rY\nAYVClnIt3kbsTg1vSRNHadd+TpgRVxJZBF0fHcCAyc/2f3UJgPYNWShIetHM6BdI\n3fZ4H+eeHPjagm5kzmffli1cUv2/N+1hKUvcI4uFCqEwZRFtp90RyIbxUfQwi+Cs\nXVnwV+BZS5qD9bTcfxZMXhuVRwO/5xWYMYPN1uY=\n-----END CERTIFICATE-----"
}
```
#### 响应示例
**状态码： 201**
Created
```
{
  "certificate_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
  "cn_name" : "huawei",
  "owner" : "huawei",
  "status" : true,
  "verify_code" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
  "create_date" : "20190301T1910Z",
  "effective_date" : "20190301T1910Z",
  "expiry_date" : "20190301T1910Z"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 201 | Created     |
| 403 | Forbidden   |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iotps/ErrorCode.html)。
