Version: v1
Description: Obtiene la informacion de certificados SSL/TLS instalados en una gran variedad de servidores y protocolos.
Una API REST en PHP para obtener información sobre el certificado SSL/TLS instalado en varios servicios de un servidor.
Esta API permite consultar el estado, emisor y fecha de expiración de un certificado SSL/TLS proporcionando un nombre de host (dominio) y un protocolo específico. La API requiere autenticación mediante el header X-API-Key.
POST /getsslRetorna información del certificado SSL en formato JSON.
X-API-Key en todas las peticiones con una clave de API válida.
url (string): El nombre de host (ejemplo: ejemplo.com).protocol (string): El protocolo a evaluar. Los valores permitidos son:http (puerto 443)
- smtp (puerto 465)
- imap (puerto 993)
- pop3 (puerto 995)
- cpanel (puerto 2083)
- whm (puerto 2087)
- plesk (puerto 8443)
1. cURL:
curl -X POST http://tu-dominio.com/getssl \
-H "Content-Type: application/json" \
-H "X-API-Key: my-secret-api-key" \
-d '{"url": "google.com", "protocol": "http"}'2. PHP (cURL):
<?php
$url = "http://tu-dominio.com/getssl";
$apiKey = "my-secret-api-key";
$data = json_encode([
"url" => "google.com",
"protocol" => "http"
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"X-API-Key: " . $apiKey,
"Content-Length: " . strlen($data)
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
3. JavaScript (Fetch API):
const url = "http://tu-dominio.com/getssl";
const apiKey = "my-secret-api-key";
const data = {
url: "google.com",
protocol: "http"
};
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": apiKey
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));
{
"status": "ok",
"issuer": "GTS CA 1C3",
"expiration_date": "2024-12-31 23:59:59"
}El campo status puede tener los siguientes valores:
ok: El certificado es válido y de confianza.expired: El certificado ha expirado.cn_mismatch: El nombre de host (url) no coincide con el CN (Common Name) o los SANs (Subject Alternative Names) del certificado.untrusted: La cadena de certificación no se pudo validar (ej. la raíz no es de confianza o falta algún certificado intermedio).revoked: El certificado ha sido revocado.error: Ocurrió un error general de conexión.