1. Overview
CertGUARD is a free, defensive inspector for X.509 certificates and TLS configuration. It analyses a local certificate file, or the certificate presented by one of your TLS endpoints, and summarises its content, validity, chain and risk signals.
File analysis is fully offline. Endpoint checking opens a TLS connection to the host you type (use on your own servers).
2. Installation
WPF .NET application (Windows), self-contained, no external dependency.
- Open
CertGUARD.csprojin Visual Studio (net10.0-windows). - Build / run.
3. Inspect a file
- Certificate (file) tab.
- Browse to a
.pem,.crt,.cer,.der,.pfxor.p12file. - For a protected
.pfx/.p12, enter the password. - Inspect.
Windows certificate store
Windows store tab: read-only view of the store (like certmgr.msc / certlm.msc). Pick the location (Current user or Local machine) and the store (Personal, Trusted roots, Intermediate CAs...), click Load, then select a certificate to inspect it directly, without exporting a file.
4. Check a TLS endpoint
- TLS endpoint tab.
- Enter the host (e.g.
www.m365expertise.com) and port (443 by default). - Connect: CertGUARD retrieves the server certificate, negotiated protocol and cipher suite.
Only use on endpoints you own or are authorised to test.
5. Reading the results
Subject, issuer, validity dates, serial number, signature algorithm, key type and size, SHA-1 and SHA-256 thumbprints, SAN, Key Usage / EKU, CA and self-signed status. Validity is summarised in colour, the chain is rebuilt, and the certificate PEM can be exported.
6. Risk signals
| Signal | Why it matters |
|---|---|
| Expired certificate | The service will be rejected by clients. |
| Expiring soon (< 30 d) | Plan renewal. |
| RSA key < 2048 bits | Key too weak. |
| SHA-1 / MD5 signature | Broken algorithm, not trustworthy. |
| Self-signed | Not trusted by a public CA. |
| No SAN | Rejected by modern browsers. |
| Lifetime > 398 d | Beyond the browser-accepted limit. |
| Protocol < TLS 1.2 (endpoint) | Obsolete protocol to disable. |
7. Building the installer
Scripts at the project root: publish.ps1, CertGUARD.iss, build-installer.ps1.
.\build-installer.ps1
Prerequisites: .NET SDK 10 + Inno Setup 6 (ISCC.exe). Output:
installer-output\CertGUARD-Setup-<version>.exe.
8. Troubleshooting
| Symptom | Hint |
|---|---|
| "PKCS#12 file is protected" | Enter the .pfx/.p12 password. |
| "Cannot read certificate" | Unrecognised format or corrupt file. |
| "Timeout" (endpoint) | Host/port unreachable, firewall, or the service does not speak TLS. |
| Incomplete chain | The intermediate certificate is not provided; add the full chain. |