Skip to content

Tokens de API y Agentes

¿Qué es un agente?

Un agente es un pequeño programa que se instala en un servidor donde hay un certificado SSL que se quiere automatizar.

Se utilizan agentes cuando el servidor no se puede abrir a CertGuardian para que instale el certificado, por lo que el certificado lo pide y lo instala el servidor pidiéndolo a CertGuardian.

API

Los agentes utilizan una API que permite consultar cuántos días le quedan al certificado, poder descargar el certificado para instalar uno nuevo y actualizar el CSR de un certificado.

Autenticación

La autenticación se hace mediante un Token de API que tiene que estar en la cabecera X-CG-AGENT-TOKEN de todas las llamadas a la API.

Endpoints

Consultar fecha caducidad certificado

Para consultar la fecha de caducidad del certificado usamos: /api/agent/certInfo/:id.

INFO

El id se puede obtener con al petición de listar certificado.

Ejemplo de petición:

bash
curl --location 'https://api-certguardian.entorno.es/api/agent/certInfo/23' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-CG-AGENT-TOKEN: ******' \
js
const myHeaders = new Headers();
myHeaders.append("Accept", "application/json");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("X-CG-AGENT-TOKEN", "******'");

const requestOptions = {
  method: "GET",
  headers: myHeaders,
  redirect: "follow"
};

fetch("https://api-certguardian.entorno.es/api/agent/certInfo/23", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
python
import requests
import json

url = "https://api-certguardian.entorno.es/api/agent/certInfo/23"

payload = {}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json',
  'X-CG-AGENT-TOKEN': '******'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Ejemplo de respuesta:

json
{
    "id": 23,
    "common_name": "dominios.bike",
    "cert_expiry_date_timestamp": "2026-06-15T23:59:59.000000Z",
    "cert_expiry_days": 41
}
Instalar certificados

Para instalar un certificado usamos: /api/agent/getCertPem/:id.

INFO

El id se puede obtener con al petición de listar certificado.

Ejemplo de petición:

bash
curl --location 'https://api-certguardian.entorno.es/api/agent/getCertPem/23' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-CG-AGENT-TOKEN: ******' \
js
const myHeaders = new Headers();
myHeaders.append("Accept", "application/json");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("X-CG-AGENT-TOKEN", "******'");

const requestOptions = {
  method: "GET",
  headers: myHeaders,
  redirect: "follow"
};

fetch("https://api-certguardian.entorno.es/api/agent/getCertPem/23", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
python
import requests
import json

url = "https://api-certguardian.entorno.es/api/agent/getCertPem/23"

payload = {}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json',
  'X-CG-AGENT-TOKEN': '******'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Ejemplo de respuesta:

json
{
    "certificate_id": 149,
    "common_name": "www.dominios.bike",
    "cert_expiry_date_timestamp": "2026-05-12T23:59:59.000000Z",
    "cert_expiry_days": 7,
    "files": {
        "cert": "",
        "certpfx": "",
        "chain": "",
        "fullchain": "",
        "privkey": ""
    }
}
Listar certificados del agente

(wip)

Actualizar CSR de un certificado

(wip)

Desarrollo de agentes y ejemplos

Detectar que el certificado se ha renovado

Para detecar un certificado renovado el agente tiene que tener una tarea programada (cada día, por ejemplo) que llame al endpoint de consultar fecha caducidad.

Ejemplo (wip):

Descargar el certificado

Una vez detectado que el certificado ha sido renovado hay que descargar el certificado con endpoint descarga de certificado.

Ejemplo (wip):

Instalación del certificado

En esta parte tienes que realizar las llamadas API necesarias para que tu servidor añada el certificado nuevo.

Ejemplo:

Ejemplo completo

wip

Agentes disponibles

Estos son los agente que hemos desarrollado que tenemos disponibles: