Pular para conteúdo

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