check-certificat.com / chkcert_V1R1M1.py / Fonctionnalités & plus-value Features & value Funcionalidades y valor
AideHelpAyuda ExemplesExamplesEjemplos
features_report_V1R1M1.html MAJ 13.07.2026 Updated 2026-07-13 Act. 13.07.2026
JokerSoft — PKI & Certificate Intelligence
JokerSoft — PKI & Certificate Intelligence
JokerSoft — PKI & Certificate Intelligence
Tout ce que chkcert fait pour vous Everything chkcert does for you Todo lo que chkcert hace por ti
Un seul outil en ligne de commande pour auditer, diagnostiquer et remédier vos certificats X.509 — Java, IBM MQ/GSKit, PEM/DER — sur site, à distance, en masse ou à l'unité. One command-line tool to audit, diagnose, and remediate your X.509 certificates — Java, IBM MQ/GSKit, PEM/DER — on-prem, remote, in bulk or one at a time. Una única herramienta en línea de comandos para auditar, diagnosticar y remediar tus certificados X.509 — Java, IBM MQ/GSKit, PEM/DER — local, remoto, en lote o de uno en uno.
✓ Windows • Linux • macOS ✓ Windows • Linux • macOS ✓ Windows • Linux • macOS ✓ Source ou binaire compilé ✓ Source or compiled binary ✓ Código fuente o binario compilado ✓ Console, JSON, HTML ✓ Console, JSON, HTML ✓ Consola, JSON, HTML
Formats supportés — un seul outil pour tout votre parcSupported formats — one tool for your whole estateFormatos soportados — una sola herramienta para todo tu parque
Plus besoin de jongler entre keytool, runmqakm, openssl et des scripts maison selon le type de fichier — chkcert détecte et traite tout automatiquement. No more juggling between keytool, runmqakm, openssl, and homemade scripts depending on file type — chkcert detects and handles everything automatically. Se acabó hacer malabares entre keytool, runmqakm, openssl y scripts caseros según el tipo de fichero — chkcert detecta y trata todo automáticamente.
JKSJCEKSJCK PKCS12 (.p12/.pfx)P7B KDB / CMS (IBM MQ) PEMDERCRT/CER CSRcacerts (JVM truststore)
Fonctionnalités principalesCore featuresFuncionalidades principales
🔍
Analyse multi-format automatique
Automatic multi-format analysis
Análisis automático multi-formato
Détection du type de fichier et de l'outil approprié (keytool ou runmqakm/GSKit), sans configuration manuelle. Automatic file-type detection and correct tool selection (keytool or runmqakm/GSKit), no manual configuration. Detección automática del tipo de fichero y de la herramienta adecuada (keytool o runmqakm/GSKit), sin configuración manual.
🔗
Reconstruction de chaîne de confiance
Trust chain reconstruction
Reconstrucción de la cadena de confianza
Visualise instantanément feuille → intermédiaire(s) → racine, groupé par autorité racine, avec détection des chaînons manquants. Instantly visualizes leaf → intermediate(s) → root, grouped by root authority, with missing-link detection. Visualiza al instante hoja → intermedio(s) → raíz, agrupado por autoridad raíz, con detección de eslabones que faltan.
⚠️
Détection des faiblesses cryptographiques
Cryptographic weakness detection
Detección de debilidades criptográficas
Clés RSA < 2048 bits, EC < 224 bits, signatures SHA-1/MD5/DSA — repérées et signalées avant qu'elles ne deviennent un incident. RSA keys < 2048 bits, EC < 224 bits, SHA-1/MD5/DSA signatures — flagged before they become an incident. Claves RSA < 2048 bits, EC < 224 bits, firmas SHA-1/MD5/DSA — detectadas y señaladas antes de que se conviertan en un incidente.
Suivi d'expiration avec date de référence
Expiry tracking with reference date
Seguimiento de expiración con fecha de referencia
--date +90 simule "dans 90 jours" pour anticiper les prochaines expirations — planifiez vos renouvellements en amont. --date +90 simulates "90 days from now" to anticipate upcoming expirations — plan renewals ahead of time. --date +90 simula "dentro de 90 días" para anticipar las próximas expiraciones — planifica tus renovaciones con antelación.
🛠️
Commandes de remédiation prêtes à l'emploi
Ready-to-run remediation commands
Comandos de remediación listos para usar
Chaque problème détecté est accompagné de la commande keytool/runmqakm exacte pour le corriger — plus besoin de la reconstruire à la main. Every detected issue comes with the exact keytool/runmqakm command to fix it — no more rebuilding it by hand. Cada problema detectado va acompañado del comando keytool/runmqakm exacto para corregirlo — ya no hace falta reconstruirlo a mano.
📦
Analyse en masse (répertoire, glob, liste)
Bulk analysis (directory, glob, list)
Análisis masivo (directorio, glob, lista)
--dir pour un scan récursif, ou --file *.p12 --ext keystore pour cibler précisément — un rapport consolidé pour tout le lot. --dir for a recursive scan, or --file *.p12 --ext keystore to target precisely — one consolidated report for the whole batch. --dir para un escaneo recursivo, o --file *.p12 --ext keystore para apuntar con precisión — un informe consolidado para todo el lote.
📡
Récupération distante via SSH
Remote retrieval over SSH
Recuperación remota vía SSH
Analysez un certificat sur un serveur distant sans vous y connecter manuellement — récupération sécurisée par clé SSH, vérification anti-MITM activée par défaut. Analyze a certificate on a remote server without connecting manually — secure SSH-key retrieval, anti-MITM verification enabled by default. Analiza un certificado en un servidor remoto sin conectarte manualmente — recuperación segura por clave SSH, verificación anti-MITM activada por defecto.
📊
Trois formats de sortie
Three output formats
Tres formatos de salida
Console lisible pour l'humain, JSON pour l'intégration (SIEM, dashboards, scripts), HTML pour le partage et l'archivage. Human-readable console, JSON for integration (SIEM, dashboards, scripts), HTML for sharing and archiving. Consola legible para humanos, JSON para integración (SIEM, dashboards, scripts), HTML para compartir y archivar.
🤖
Automatisation & supervision (cron, batch)
Automation & monitoring (cron, batch)
Automatización y supervisión (cron, batch)
Mode --quiet silencieux pour les tâches planifiées, avec génération automatique de rapport et journalisation dédiée des erreurs. Silent --quiet mode for scheduled jobs, with automatic report generation and dedicated error logging. Modo silencioso --quiet para tareas planificadas, con generación automática de informes y registro dedicado de errores.
🧹
Affichage simplifié — le strict nécessaire
Simplified display — only what matters
Visualización simplificada — solo lo esencial
Contrairement à openssl x509 -text ou keytool -v, aucun dump hexadécimal brut ni bloc ASN.1 illisible — tailles de clé, algorithmes et dates sont présentés déjà interprétés, lisibles d'un coup d'œil. Unlike openssl x509 -text or keytool -v, no raw hex dumps or unreadable ASN.1 blocks — key sizes, algorithms and dates are shown already interpreted, readable at a glance. A diferencia de openssl x509 -text o keytool -v, sin volcados hexadecimales en bruto ni bloques ASN.1 ilegibles — tamaños de clave, algoritmos y fechas se muestran ya interpretados, legibles de un vistazo.
🗓️
Calcul automatique des échéances
Automatic deadline calculation
Cálculo automático de plazos
Plus besoin de calculer "expire dans combien de jours" à la main — chkcert convertit chaque date d'expiration en délai restant, et signale automatiquement les certificats déjà expirés ou proches de l'échéance. No more manually calculating "expires in how many days" — chkcert converts every expiry date into a remaining-time countdown, and automatically flags certificates already expired or nearing their deadline. Se acabó calcular a mano "caduca dentro de cuántos días" — chkcert convierte cada fecha de expiración en una cuenta atrás, y señala automáticamente los certificados ya expirados o próximos al vencimiento.
Rapports réels — chkcert à l'œuvreReal reports — chkcert in actionInformes reales — chkcert en acción
Extraits anonymisés de rapports HTML générés par chkcert sur des environnements de production réels — hôtes et organisations remplacés par des valeurs synthétiques, structure et résultats d'analyse inchangés. Anonymized excerpts of real HTML reports generated by chkcert on production environments — hosts and organizations replaced with synthetic values, structure and analysis results unchanged. Extractos anonimizados de informes HTML generados por chkcert en entornos de producción reales — hosts y organizaciones sustituidos por valores sintéticos, estructura y resultados de análisis sin cambios.
📄
Certificat PEM — chaîne complète (4 certificats)
PEM certificate — full chain (4 certificates)
Certificado PEM — cadena completa (4 certificados)
Certificat expiré depuis 535 jours (P1 CRITICAL) avec commande OpenSSL de renouvellement prête à l'emploi, et chaîne de confiance à 4 niveaux jusqu'à la racine Comodo/AAA. Certificate expired 535 days ago (P1 CRITICAL) with a ready-to-run OpenSSL renewal command, and a 4-level trust chain up to the Comodo/AAA root. Certificado caducado hace 535 días (P1 CRITICAL) con comando OpenSSL de renovación listo para usar, y una cadena de confianza de 4 niveles hasta la raíz Comodo/AAA.
PEM4 certs1 expired
📄
Keystore KDB — 3 certificats, zéro erreur
KDB keystore — 3 certificates, zero errors
Almacén KDB — 3 certificados, cero errores
Exemple d'analyse propre : chaîne Sectigo à 3 niveaux entièrement reconstruite, aucune faiblesse cryptographique, aucune action de remédiation nécessaire. Clean analysis example: fully reconstructed 3-level Sectigo chain, no cryptographic weaknesses, no remediation needed. Ejemplo de análisis limpio: cadena Sectigo de 3 niveles totalmente reconstruida, sin debilidades criptográficas, sin remediación necesaria.
KDB3 certs0 errors
📄
Keystore KDB — 25 certificats, cas réel volumineux
KDB keystore — 25 certificates, large real-world case
Almacén KDB — 25 certificados, caso real voluminoso
Le plus volumineux des exemples : 16 actions de remédiation, 9 erreurs et 3 avertissements sur 25 certificats — représentatif d'un keystore de production chargé au fil des années. The largest of the examples: 16 remediation actions, 9 errors and 3 warnings across 25 certificates — representative of a production keystore accumulated over the years. El más voluminoso de los ejemplos: 16 acciones de remediación, 9 errores y 3 avisos en 25 certificados — representativo de un almacén de producción acumulado a lo largo de los años.
KDB25 certs9 errors
📄
Keystore KDB — 9 certificats, filesystem partagé
KDB keystore — 9 certificates, shared filesystem
Almacén KDB — 9 certificados, sistema de ficheros compartido
Keystore monté depuis un filesystem partagé (préfixe fs_) : 3 actions de remédiation, 1 avertissement et 2 erreurs. Keystore mounted from a shared filesystem (fs_ prefix): 3 remediation actions, 1 warning and 2 errors. Almacén montado desde un sistema de ficheros compartido (prefijo fs_): 3 acciones de remediación, 1 aviso y 2 errores.
KDB9 certsfs mount
📄
Certificat CER — auto-signé détecté
CER certificate — self-signed detected
Certificado CER — autofirmado detectado
Certificat IBM MQ auto-signé (non-CA) repéré et signalé en P1 CRITICAL, avec commande CSR prête à soumettre à une autorité de confiance. Self-signed (non-CA) IBM MQ certificate flagged as P1 CRITICAL, with a ready-to-submit CSR command for a trusted CA. Certificado IBM MQ autofirmado (no-CA) detectado y señalado como P1 CRITICAL, con comando CSR listo para enviar a una autoridad de confianza.
CERself-signedP1
📄
Keystore JKS — mot de passe incorrect
JKS keystore — incorrect password
Almacén JKS — contraseña incorrecta
Exemple de diagnostic d'erreur : keytool signale un keystore corrompu ou un mot de passe incorrect — la commande exacte exécutée est journalisée pour le débogage. Error diagnostics example: keytool reports a tampered keystore or incorrect password — the exact command run is logged for debugging. Ejemplo de diagnóstico de error: keytool informa de un almacén manipulado o una contraseña incorrecta — el comando exacto ejecutado queda registrado para depuración.
JKSunreadablediag_errors
🗂️
Résumé consolidé — 11 fichiers, 63 certificats
Consolidated summary — 11 files, 63 certificates
Resumen consolidado — 11 ficheros, 63 certificados
Vue d'ensemble JSON générée par --output json sur un lot complet : 33 erreurs et 48 actions de remédiation agrégées sur 11 fichiers P12. JSON overview generated by --output json across a whole batch: 33 errors and 48 remediation actions aggregated over 11 P12 files. Vista general JSON generada por --output json sobre un lote completo: 33 errores y 48 acciones de remediación agregadas en 11 ficheros P12.
JSON11 files63 certs
🐧
Ubuntu 26.04 LTS
Exemple réel d'environnement — objet compilé, outils requis à l'exécution, aucun prérequis Python. Real environment example — compiled binary, tools required at runtime, no Python prerequisite. Ejemplo real de entorno — binario compilado, herramientas requeridas en tiempo de ejecución, sin requisito de Python.
Unixobjet compilé
🐧
AlmaLinux 10.2
Exemple réel d'environnement — objet compilé, outils requis à l'exécution, aucun prérequis Python. Real environment example — compiled binary, tools required at runtime, no Python prerequisite. Ejemplo real de entorno — binario compilado, herramientas requeridas en tiempo de ejecución, sin requisito de Python.
Unixobjet compilé
🐧
Red Hat Enterprise Linux 9.4
Exemple réel d'environnement — objet compilé, outils requis à l'exécution, aucun prérequis Python. Real environment example — compiled binary, tools required at runtime, no Python prerequisite. Ejemplo real de entorno — binario compilado, herramientas requeridas en tiempo de ejecución, sin requisito de Python.
Unixobjet compilé
🐧
Red Hat Enterprise Linux 9.6
Exemple réel d'environnement — objet compilé, outils requis à l'exécution, aucun prérequis Python. Real environment example — compiled binary, tools required at runtime, no Python prerequisite. Ejemplo real de entorno — binario compilado, herramientas requeridas en tiempo de ejecución, sin requisito de Python.
Unixobjet compilé
🪟
Windows 10 Enterprise
Exemple d'environnement — objet compilé, capture partielle (session de dépannage, pas de script de diagnostic Windows équivalent à ce jour). Environment example — compiled binary, partial capture (troubleshooting session, no equivalent Windows diagnostic script yet). Ejemplo de entorno — binario compilado, captura parcial (sesión de resolución de problemas, todavía sin script de diagnóstico Windows equivalente).
Windowsobjet compilé
Ce que ça change concrètementWhat this actually changes for youLo que esto cambia realmente para ti
AvantBeforeAntes Vérifier 40 keystores = 40 commandes keytool/runmqakm différentes, à la main, format de sortie différent selon le type de fichier. Checking 40 keystores = 40 different manual keytool/runmqakm commands, inconsistent output depending on file type. Comprobar 40 almacenes = 40 comandos keytool/runmqakm distintos, a mano, formato de salida diferente según el tipo de fichero.
Avec chkcertWith chkcertCon chkcert chkcert --dir keyrepos/ --report --output both — un seul rapport consolidé, tout format confondu. chkcert --dir keyrepos/ --report --output both — one consolidated report, every format handled uniformly. chkcert --dir keyrepos/ --report --output both — un único informe consolidado, todos los formatos tratados de forma uniforme.
AvantBeforeAntes Un certificat expire en production — découvert après l'incident, pas avant. A certificate expires in production — discovered after the incident, not before. Un certificado caduca en producción — se descubre después del incidente, no antes.
Avec chkcertWith chkcertCon chkcert --date +90 en tâche planifiée hebdomadaire — visibilité sur toutes les échéances à 3 mois. Weekly scheduled --date +90 run — visibility on every deadline 3 months out. Ejecución semanal planificada de --date +90 — visibilidad sobre todos los vencimientos a 3 meses vista.
AvantBeforeAntes Reconstruire à la main la commande keytool -genkeypair/-certreq avec le bon DN, le bon algorithme, la bonne taille de clé. Manually rebuilding the keytool -genkeypair/-certreq command with the right DN, algorithm, key size. Reconstruir a mano el comando keytool -genkeypair/-certreq con el DN correcto, el algoritmo correcto, el tamaño de clave correcto.
Avec chkcertWith chkcertCon chkcert --report --cmd génère la commande exacte, prête à copier-coller. --report --cmd generates the exact command, ready to copy-paste. --report --cmd genera el comando exacto, listo para copiar y pegar.
AvantBeforeAntes Un certificat d'un tiers non fiable analysé avec un outil maison → rapport HTML potentiellement vulnérable au contenu du certificat lui-même. A certificate from an untrusted third party analyzed with a homemade tool → HTML report potentially vulnerable to the certificate's own content. Un certificado de un tercero no fiable analizado con una herramienta casera → informe HTML potencialmente vulnerable al propio contenido del certificado.
Avec chkcertWith chkcertCon chkcert Rapports HTML systématiquement échappés — audité et durci contre l'injection de contenu malveillant. HTML reports systematically escaped — audited and hardened against malicious content injection. Informes HTML sistemáticamente escapados — auditado y reforzado contra la inyección de contenido malicioso.
AvantBeforeAntes openssl x509 -text déverse des pages de hex et d'OID ASN.1 bruts — il faut trier soi-même ce qui compte vraiment. openssl x509 -text dumps pages of raw hex and ASN.1 OIDs — you have to sort out what actually matters yourself. openssl x509 -text vuelca páginas de hexadecimal y OID ASN.1 en bruto — hay que discriminar uno mismo lo que realmente importa.
Avec chkcertWith chkcertCon chkcert Uniquement les champs pertinents, déjà interprétés — taille de clé, algorithme, dates, usage — sans bruit hexadécimal. Only the relevant fields, already interpreted — key size, algorithm, dates, usage — no hex noise. Solo los campos relevantes, ya interpretados — tamaño de clave, algoritmo, fechas, uso — sin ruido hexadecimal.
AvantBeforeAntes Calculer à la main "expire le 2026-09-15, on est le 2026-07-12, ça fait combien de jours ?" pour chaque certificat. Manually working out "expires 2026-09-15, today is 2026-07-12, how many days is that?" for every certificate. Calcular a mano "caduca el 2026-09-15, hoy es 2026-07-12, ¿cuántos días son?" para cada certificado.
Avec chkcertWith chkcertCon chkcert Délai restant calculé et affiché automatiquement pour chaque certificat, avec alerte sur les échéances proches ou dépassées. Remaining time computed and shown automatically for every certificate, with alerts on near or past deadlines. Tiempo restante calculado y mostrado automáticamente para cada certificado, con alertas sobre vencimientos próximos o pasados.
Déploiement flexibleFlexible deploymentDespliegue flexible
Script Python exécutable directement, ou binaire autonome compilé (Nuitka) — aucune dépendance Python à installer sur les serveurs de production. Configuration entièrement pilotée par fichier .properties, sans recompilation. Runs directly as a Python script, or as a standalone compiled binary (Nuitka) — no Python dependency to install on production servers. Fully configurable via a .properties file, no recompilation needed. Se ejecuta directamente como script Python, o como binario autónomo compilado (Nuitka) — sin dependencia de Python que instalar en los servidores de producción. Configuración totalmente controlada mediante un fichero .properties, sin recompilación.
🪟 Windows (.exe) 🐧 Linux (RHEL/AlmaLinux) 🍎 macOS 🐍 Python source
Feuille de routeRoadmapHoja de ruta
🗂️
Référencement PKI interne/externe
Internal/external PKI referencing
Referenciación PKI interna/externa
Référencement et ajout automatique des certificats détectés dans le PKI interne et/ou externe de l'organisation. Automatic referencing and registration of detected certificates into the organization's internal and/or external PKI. Referenciación y registro automático de los certificados detectados en el PKI interno y/o externo de la organización.
🚧 En projet 🚧 Planned 🚧 Previsto
🔄
Commande et renouvellement automatiques
Automatic ordering & renewal
Solicitud y renovación automáticas
Automatisation de la commande des nouveaux certificats et de leur réception via API — intégration et renouvellement automatiques, sans intervention manuelle. Automated ordering of new certificates and API-based reception — automatic integration and renewal, no manual intervention. Automatización de la solicitud de nuevos certificados y su recepción vía API — integración y renovación automáticas, sin intervención manual.
🚧 En projet 🚧 Planned 🚧 Previsto
Un audit PKI complet, en une commande
A complete PKI audit, in one command
Una auditoría PKI completa, en un solo comando
python chkcert_V1R1M1.py --dir certificate/ --report --cmd --chaining both --output both python chkcert_V1R1M1.py --dir certificate/ --report --cmd --chaining both --output both python chkcert_V1R1M1.py --dir certificate/ --report --cmd --chaining both --output both