{% extends "baseTemplate/index.html" %} {% load static %} {% comment %} Certificate inventory for every website the caller owns, plus issuance and custom-certificate upload. The rows come from the ssl_certificate table so the page does not shell out to openssl once per site on every load. {% endcomment %} {% block title %}SSL certificates{% endblock %} {% block content %}

SSL certificates

Issue, renew and inspect the certificates installed on your websites.

Rate limit: Let's Encrypt issues at most {{ duplicateLimit }} duplicate certificates per registered domain per week. Re-issuing the same name over and over will lock you out until the window rolls over, so renew only when a certificate is genuinely close to expiry (under {{ warnDays }} days).

Websites

A red badge means under {{ soonDays }} days remain, amber under {{ warnDays }}.

No websites yet

Create a website before issuing a certificate for it.

Domain Issuer Expires Days left Action
Not issued —

{% include "sslManager/_joblog.html" %}

Upload your own certificate

The key is checked against the certificate and the chain is verified before anything is written to disk.

The site certificate. You may paste the intermediates below it — leaf first, then each issuer in turn.

Optional if you already pasted the chain above. A missing intermediate is the most common cause of "not trusted" errors on Android and older clients.

Must be decrypted (no passphrase). It is written with mode 0600 and never stored in the database.

{{ certificates|json_script:"cpSSLData" }}
{% endblock %} {% block scripts %} {% endblock %}