mTLS
Listar Certificados em um Domínio
Lista todos os certificados que estão associados aos hosts do domínio
GET /v1/mtls/{dominio}
$ curl -i https://api.gocache.com.br/v1/mtls/dominio.com.br \
    -X GET \
    -H 'GoCache-Token: seu_token'
Exemplo de sucesso
HTTP/1.1 200 OK
{
  "response": [
    {
      "id": "aaaaabbbbbcccccddddd",
      "name": "certificate name here",
      "expire_date": "2028-07-18T21:09:30Z",
      "cn": "root",
      "hostnames": [
        "admin.dominio.com.br",
        "panel.dominio.com.br"
      ]
    }
  ]
}
Consultar Detalhes de um Certificado em um Domínio
Realiza a consulta dos detalhes de um certificado mTLS baseado em seu ID.
GET /v1/mtls/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/mtls/dominio.com.br/aaaaabbbbbcccccddddd \
    -X GET \
    -H 'GoCache-Token: seu_token'
Exemplo de sucesso
HTTP/1.1 200 OK
{
  "response": {
      "id": "aaaaabbbbbcccccddddd",
      "name": "certificate name here",
      "expire_date": "2028-07-18T21:09:30Z",
      "cn": "root",
      "hostnames": [
        "admin.dominio.com.br",
        "panel.dominio.com.br"
      ]
    }
}
Inserir Novo Certificado
Realiza a inserção de um certificado MTLS associado a um ou um grupo de hosts.
Um mesmo certificado pode estar associado a hosts de domínios diferentes.
Após a inserção do certificado os acessos aos hosts especificados já passarão a ser classificados com base na autenticação. A limitação do acesso pode ser feita via Smart Rules com base no critério "Status de mTLS".
POST /v1/mtls/{dominio}
$ curl -i https://api.gocache.com.br/v1/mtls/dominio.com.br \
-X POST \
-H 'Content-Type: application/json' \
-H 'GoCache-Token: seu_token' \
--data-binary \
'{
  "name": "administration",
  "hostnames": [
    "admin.dominio.com.br",
    "panel.dominio.com.br"
  ],
  "certificate": "-----BEGIN CERTIFICATE-----\n[certificate]\n-----END CERTIFICATE-----\n"
}'
Parâmetros
| Campo | Opcional | Tipo | Descrição | 
|---|---|---|---|
| certificate | String | Certificado que será instalado | |
| name | Array | Zonas de dns que estarão associadas ao certificado | |
| hostnames | String | Lista de hosts que estarão associados ao certificado separado por vírgula | 
Exemplo de sucesso
HTTP/1.1 200 OK
{
  "response": {
      "id": "aaaaabbbbbcccccddddd",
      "name": "certificate name here",
      "expire_date": "2028-07-18T21:09:30Z",
      "cn": "root",
      "hostnames": [
        "admin.dominio.com.br",
        "panel.dominio.com.br"
      ]
    }
}
Deletar Certificado
Deleta um certificado mTLS instalado com base em seu ID.
DELETE /v1/mtls/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/mtls/dominio.com.br/aaaaabbbbbcccccddddd \
-X DELETE \
-H 'GoCache-Token: seu_token'
Exemplo de sucesso
HTTP/1.1 200 OK
{
    "response": "Success"
}
Atualizar informações de um certificado
Pode-se atualizar ao mesmo tempo ou individualmente hostnames, certificate ou name
PATCH /v1/mtls/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/mtls/dominio.com.br/aaaaabbbbbcccccddddd \
-X PATCH \
-H 'Content-Type: application/json' \
-H 'GoCache-Token: seu_token' \
--data-binary \
'{
  "name": "novo nome",
  "hostnames": [
    "admin.dominio.com.br",
    "panel.dominio.com.br"
  ],
  "certificate": "-----BEGIN CERTIFICATE-----\n[certificate]\n-----END CERTIFICATE-----\n"
}'
Parâmetros
| Campo | Opcional | Tipo | Descrição | 
|---|---|---|---|
| certificate | ✓ | String | Certificado que será instalado | 
| name | ✓ | Array | Zonas de dns que estarão associadas ao certificado | 
| hostnames | ✓ | String | Lista de hosts que estarão associados ao certificado separado por vírgula | 
Exemplo de sucesso
HTTP/1.1 200 OK
{
    "response": "Success"
}