上传CA证书 - AddCertificate
功能介绍
应用服务器可调用此接口在物联网平台上传CA证书,当用于设备身份认证时只有已验证状态的CA证书生效,用于数据转发则无此限制。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
iotda:certificates:upload
Write
app *
-
-
-
-
g:EnterpriseProjectId
URI
POST /v5/iot/{project_id}/certificates
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID。获取方法请参见 获取项目ID。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Instance-Id | 否 | String | 实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| content | 是 | String | 证书内容信息。 |
| app_id | 否 | String | 资源空间ID。此参数为非必选参数,存在多资源空间的用户需要使用该接口时,建议携带该参数指定创建的证书归属到哪个资源空间下,否则创建的证书将会归属到默认资源空间下。 |
响应参数
状态码:201
| 参数 | 参数类型 | 描述 |
|---|---|---|
| certificate_id | String | CA证书ID,在上传CA证书时由平台分配的唯一标识。 |
| cn_name | String | CA证书CN名称。 |
| owner | String | CA证书所有者。 |
| status | Boolean | CA证书验证状态。true代表证书已通过验证,可进行设备证书认证接入。false代表证书未通过验证。 |
| verify_code | String | CA证书验证码。 |
| provision_enable | Boolean | 是否开启自注册能力,当为true时该功能必须配合预调配功能使用,true:是,false:否。 |
| template_id | String | 绑定的预调配模板ID。 |
| ocsp_enable | Boolean | 是否开启该CA证书下的设备证书OCSP校验,当为true且设备证书信息中包含OCSP url时则平台会校验证书的状态,当证书状态为revoked时平台会拒绝设备连接,true:开启,false:关闭。 |
| ocsp_server_ca_id | String | ocsp服务器端CA证书id,仅当ocsp服务器开启SSL时配置,平台使用该CA证书认证ocsp服务器。 |
| ocsp_ssl_enable | Boolean | ocsp服务器是否开启SSL加密,开启后必须配置OCSP服务器CA证书。 |
| create_date | String | 创建证书日期。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
| effective_date | String | CA证书生效日期。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
| expiry_date | String | CA证书失效日期。格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
请求示例
上传CA证书。
POST https://{endpoint}/v5/iot/{project_id}/certificates
{
"content" : "-----BEGINCERTIFICATE-----\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-----",
"app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka"
} 响应示例
状态码:201
Created
{
"certificate_id" : "string",
"cn_name" : "string",
"owner" : "string",
"status" : true,
"verify_code" : "string",
"create_date" : "20191212T121212Z",
"effective_date" : "20191212T121212Z",
"expiry_date" : "20221212T121212Z",
"provision_enable" : true,
"template_id" : "61c970ce2d63eb6ee655dbf0",
"ocsp_enable" : "false,",
"ocsp_server_ca_id" : "60fa667369d4840337930aec",
"ocsp_ssl_enable" : true
} 状态码
| 状态码 | 描述 |
|---|---|
| 201 | Created |
| 401 | Unauthorized |
| 403 | Forbidden |
| 400 | Bad Request |
| 500 | Internal Server Error |
错误码
请参见错误码。