{% set sslStats = sslStats|default({ total: 0, valid: 0, expiring: 0, expired: 0, invalid: 0, issues: 0 }) %} {% set sslCertificates = sslCertificates|default([]) %} {% set sslMonitoringEnabled = domain.ssl_monitoring_enabled|default(0) %} {% set rootCertificate = sslCertificates|filter(cert => cert.is_root)|first %}
{% if not sslMonitoringEnabled %}

SSL monitoring is disabled

This domain is not checked by the SSL cron. Enable it in Edit to monitor the root certificate and tracked SSL endpoints.

Enable SSL monitoring in Edit
{% else %}

SSL certificate monitoring

Track the default root certificate and any monitored HTTPS endpoints, including custom ports.

{{ csrf_field()|raw }}
{{ csrf_field()|raw }}
{% if sslStats.total > 0 %}

Total

{{ sslStats.total }}

Valid

{{ sslStats.valid }}

Expiring

{{ sslStats.expiring }}

Expired

{{ sslStats.expired }}

Invalid

{{ sslStats.invalid }}

Last checked: {{ domain.ssl_last_checked ? domain.ssl_last_checked|date('M d, Y H:i') : 'Never' }}
{% for certificate in sslCertificates %} {% set validityText = 'Unknown' %} {% if certificate.days_remaining is not null %} {% if certificate.days_remaining < 0 %} {% set validityText = (certificate.days_remaining|abs) ~ ' days ago' %} {% else %} {% set validityText = certificate.days_remaining ~ ' days' %} {% endif %} {% endif %}
{% if certificate.can_delete %} {% endif %}

{{ certificate.display_target }} {% if certificate.is_root %} Root {% endif %}

{{ certificate.is_trusted ? 'Trusted certificate' : 'Certificate issue detected' }}

{{ certificate.status_label }}
Issued {{ certificate.valid_from ? certificate.valid_from|date('M d, Y H:i') : 'Unknown' }}
Expires {{ certificate.valid_to ? certificate.valid_to|date('M d, Y H:i') : 'Unknown' }}
Time left {% if certificate.days_remaining is not null and certificate.days_remaining < 0 %} Expired {{ validityText }} {% else %} {{ validityText }} {% endif %}

{{ certificate.issuer_name|default('Unknown issuer') }}

{% if certificate.issuer_organization and certificate.issuer_organization != certificate.issuer_name %}
Organization {{ certificate.issuer_organization }}
{% endif %}

{% if certificate.is_self_signed %} Self-signed {% elseif certificate.is_trusted %} Trusted {% else %} Not trusted {% endif %}

{% if certificate.last_error %}

Error details

{{ certificate.last_error }}

{% endif %}
{% if certificate.san_list is not empty %} {% for san in certificate.san_list %}
{{ san }}
{% endfor %} {% else %}

No SAN entries recorded.

{% endif %}
Subject {{ certificate.subject_name|default('Unknown') }}
{% if certificate.subject_organization and certificate.subject_organization != certificate.subject_name %}
Subject org {{ certificate.subject_organization }}
{% endif %}
Signature {{ certificate.signature_algorithm|default('Unknown') }}
Key {{ certificate.key_type|default('Unknown') }}{% if certificate.key_bits %} {{ certificate.key_bits }} bits{% endif %}
Version {{ certificate.certificate_version|default('Unknown') }}
Last checked: {{ certificate.last_checked ? certificate.last_checked|date('M d, Y H:i') : 'Never' }}
{% if certificate.is_root and not certificate.can_delete %}
{{ csrf_field()|raw }}
{% else %}
{{ csrf_field()|raw }}
{{ csrf_field()|raw }}
{% endif %}
{% endfor %}
{% else %}

No SSL certificates monitored yet

Start with the root domain on port 443, or add specific hosts and custom HTTPS ports you want to monitor.

{{ csrf_field()|raw }}
{{ csrf_field()|raw }}
{% endif %} {# Add SSL Endpoint Modal #} {% endif %}