Carregamento de um certificado
Função
Esta API é usada para carregar um certificado.
URI
POST /v1/{project_id}/waf/certificate
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| project_id | Sim | String | ID do projeto. Para obtê-lo, vá para o console de gerenciamento do Huawei Cloud e passe o cursor sobre seu nome de usuário. Na janela exibida, escolha My Credentials.Em seguida, na área Projects, visualize Project ID correspondente. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| enterprise_project_id | Não | String | Você pode obter o ID chamando a API ListEnterpriseProject do EPS. |
Parâmetros de solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| X-Auth-Token | Sim | String | Token do usuário. Ele pode ser obtido chamando a API do IAM (valor de X-Subject-Token no cabeçalho da resposta). |
| Content-Type | Sim | String | Tipo de conteúdo. Padrão: application/json;charset=utf8 |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do certificado. O valor pode conter no máximo 64 caracteres. Somente dígitos, letras, hífens, (_), de sublinhados e pontos (.) são permitidos. |
| content | Sim | String | Arquivo do certificado. Somente certificados e arquivos de chave privada no formato PEM são suportados, e os caracteres de nova linha no arquivo devem ser substituídos por \n. |
| key | Sim | String | Chave privada do certificado. Somente certificados e arquivos de chave privada no formato PEM são suportados, e os caracteres de nova linha nos arquivos devem ser substituídos por \n. |
Parâmetros de resposta
Código de estado: 200
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID do certificado |
| name | String | Nome do certificado |
| content | String | Arquivo de certificado, codificação PEM |
| key | String | Chave privada do certificado, que está no formato PEM. |
| expire_time | Long | Timestamp de expiração do certificado |
| exp_status | Integer | Status do certificado. As opções podem ser: 0: O certificado não expirou. 1: O certificado expirou. 2: O certificado está prestes a expirar. |
| timestamp | Long | Timestamp de upload do certificado |
| bind_host | Array of BindHost objects | Nome de domínio associado ao certificado |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID do nome de domínio |
| hostname | String | Nome de domínio |
| waf_type | String | Modo de implantação da instância do WAF usado para o nome de domínio. O valor pode ser cloud para WAF na nuvem ou premium para instâncias dedicadas do WAF. |
| mode | String | Este parâmetro é requerido apenas pelo modo dedicado. |
Código de estado: 400
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro |
| error_msg | String | Mensagem de erro |
Código de estado: 401
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro |
| error_msg | String | Mensagem de erro |
Código de estado: 500
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro |
| error_msg | String | Mensagem de erro |
Exemplos de solicitações
POST https://{Endpoint}/v1/{project_id}/waf/certificate?enterprise_project_id=0
{
"name" : "demo",
"content" : "-----BEGIN CERTIFICATE----- \\nMIIDyzCCArOgAwIBAgIJAN5U0Z4Bh5ccMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV BAYTAlpIMRIwEAYDVQQIDAlHVUFOR0RPTkcxETAPBgNVBAcMCERPTkdHVUFOMQ0w CwYDVQQKDARERUtFMQswCQYDVQQLDAJESzELMAkGA1UEAwwCT0QxHTAbBgkqhkiG 9w0BCQEWDk8IZC5odWF3ZWkuY29tMB4XDTIxMTExNTA4MTk0MVoXDTIyMTExNTA4 MTk0MVowfDELMAkGA1UEBhMCWkgxEjAQBgNVBAgMCUdVQU5HRE9ORzERMA8GA1UE BwwIRE9OR0dVQU4xDTALBgNVBAoMBERFS0UxCzAJBgNVBAsMAkRLMQswCQYDVQQD DAJPRDEdMBsGCSqGSIb3DQEJARYOTwhkLmh1YXdlaS5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQDcoLFK62//r0RHFyweYBj97S4NsJ8Qj0RG+Y02 OgwhQmRiNNjubJwP8Nqqyd86zr+fsSQxKBaBCosn1PcN2Pj2vPJD6NEk4I6VdOWr /kFYMlOcimhSfW4wt6VakniOKIYGrCxxvQe1X2OyBxT+ocTLRgEIB8ZbvJyPNseg feLEUuPYRpQ5kXLgJH2/3NwZFOgBHVv/b07l4fR+sWJMnIA2yIjSBQ0DEAOSusXo FQ/WRbBRH7DrQmxGiXsq4VELEr9Nnc/Kywq+9pYi8L+mKeRL+lcMMbXC/3k6OfMB tVTiwcmS1Mkr3iG03i8u6H7RSvRwyBz9G9sE+tmJZTPH6lYtAgMBAAGjUDBOMB0G A1UdDgQWBBQprUUFXW+gIkpzXdrYlsWjfSahWjAfBgNVHSMEGDAWgBQprUUFXW+g IkpzXdrYlsWjfSahWjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA2 603KozsQoIKeLvqDJlcAXwWRfNW8SvlaSJAulhHgneMt9bQgIL+3PJWA/iMniOhU o/kVwkiUIcxw4t7RwP0hVms0OZw59MuqKd3oCSWkYO4vEHs3t40JDWnGDnmQ4sol RkOWJwL4w8tnPe3qY9JSupjlsu6Y1hlvKtEfN2vEKFnsuMhidkUpUAJWodHhWBQH wgIDo4/6yTnWZNGK8JDal86Dm5IchXea1EoYBJsHxiJb7HeWQlkre+MCYi1RHOin 4mIXTr0oT4/jWlgklSz6/ZhGRq+7W7tIl7cvzCe+4XsVZIenAcYoNd/WLfo91PD4 yAsRXrOjW1so1Bj0BkDz\\n -----END CERTIFICATE-----",
"key" : "-----BEGIN PRIVATE KEY----- \\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcoLFK62//r0RH FyweYBj97S4NsJ8Qj0RG+Y02OgwhQmRiNNjubJwP8Nqqyd86zr+fsSQxKBaBCosn 1PcN2Pj2vPJD6NEk4I6VdOWr/kFYMlOcimhSfW4wt6VakniOKIYGrCxxvQe1X2Oy BxT+ocTLRgEIB8ZbvJyPNsegfeLEUuPYRpQ5kXLgJH2/3NwZFOgBHVv/b07l4fR+ sWJMnIA2yIjSBQ0DEAOSusXoFQ/WRbBRH7DrQmxGiXsq4VELEr9Nnc/Kywq+9pYi 8L+mKeRL+lcMMbXC/3k6OfMBtVTiwcmS1Mkr3iG03i8u6H7RSvRwyBz9G9sE+tmJ ZTPH6lYtAgMBAAECggEBAL+xZxm/QoqXT+2stoqV2GEYaMFASpRqxlocjZMmEE/9 jZa+cBWIjHhVPsjRqYFBDcHEebu0JwlrjcjIAvgnIvnO5XgXm1A9Q+WbscokmcX1 xCvpHgc+MDVn+uWdCd4KW5kEk4EnSsFN5iNSf+1VxNURN+gwSSp/0E+muwA5IISO G6HQ+p6qs52JAitX5t/7ruKoHYXJxBnf7TUs7768qrh++KPKpPlq044qoYlcGO1n 4urPBHuNLy04GgGw+vkaqjqOvZrNLVOMMaFWBxsDWBehgSSBQTj+f3NCxneGYtt8 3SCTZQI5nIkb+r/M455EwKTSXuEsNHoIwx7L6GEPbQECgYEA8IxgK2fYykloICoh TFJaRAvyjyKa2+Aza4qT9SGY9Y30VPClPjBB1vUu5M9KrFufzlv06nGEcHmpEwOe 8vbRu7nLAQTGYFi8VK63q8w6FlFdAyCG6Sx+BWCfWxJzXsZLAJTfklwi8HsOSlqh 6QNv0xbE2fLjXKf8MHvtrufip40CgYEA6sy87eDrkVgtq4ythAik3i1C5Z3v0fvx mTblG52Z21OyocNq3Tf/b1ZwoIc1ik6cyBzY6z1bIrbSzArCqm0sb2iD+kJL81O0 /qqdXjBxZUkKiVAMNNp7xJGZHHFKWUxT2+UX/tlyx4tT4dzrFIkdDXkcMmqfsRxd 1NEVaAaT8SECgYAoU7BPtpIun43YTpfUfr3pSIN6oZeKoxSbw9i4MNC+4fSDRPC+ 80ImcmZRL7taF+Y7p0jxAOTuIkdJC8NbAiv5J9WzrwQ+5MF2BPB/2bYnRa6tNofH kZDy/9bXYsl6qw2p5Ety8wVcgZTMvFMGiG/32IpZ65FYWEU8L5qSRwfFhQKBgQC9 ihjZTj/bTHtRiHZppzCvyYm/Igd+Uwtsy0uXR1n0G1SQENgrTBD/J6AzdfJae6tE P0U8YIM5Oqxf2i/as9ay+IPRecMl4eSxz7jJWAGx6Yx/3AZ+hAB1ZbNbqniCLYNk d0MvjwmA25ATO+ro4OZ7AdEpQbk3l9aG/WFyYBz9AQKBgQCucFPA1l5eslL8196V WMr2Qo0tqzl7CGSoWQk2Sa2HZtZdfofXAaaqo+zvJ6RPHtJh0jgJtx536DVV3egI 37YrdQyJbCPZXQ3SPgqWCorUnXBwq/nxS06uwu6JBxUFc57ijmMU4fWYNrvkkmWb 7keAg/r5Uy1joMAvBN1I6lB8pg==\\n -----END PRIVATE KEY-----"
} Exemplo de respostas
Código de estado: 200
OK
{
"id" : "64af92e2087d49cbabc233e9bdc761b7",
"name" : "testly",
"timestamp" : 1658994431596,
"expire_time" : 1682394560000
} Códigos de status
| Código de status | Descrição |
|---|---|
| 200 | OK |
| 400 | Falha na solicitação. |
| 401 | O token não tem permissões necessárias. |
| 500 | Erro de servidor interno. |
Códigos de erro
Consulte Códigos de erro.