Difference between revisions of "Automatic SSL Certificate Renewal"
IVSWikiBlue (talk | contribs) |
IVSWikiBlue (talk | contribs) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Article - Manual | content = | {{Article - Manual | content = | ||
<h1>Summary</h1> | <h1>Summary</h1> | ||
| − | As of version 6.5, VALT | + | As of version 6.5, VALT can automatically apply renewed SSL certificates for you. |
<br> | <br> | ||
| − | + | When enabled from the VALTMenu, the <b>SSL Renewal Watcher</b> watches the <code><b>/usr/local/valt/ssl/incoming/</b></code> directory. When a complete certificate set appears within a 10-minute window, VALT installs it over the existing set and restarts the Web, Wowza, and Nginx containers so they use the new files (deferred, and noted in the log, if there are active recordings). A complete set is either: | |
| + | <ul> | ||
| + | <li><code><b>fullchain.pem</b></code> + <code><b>privkey.pem</b></code> <i>(also use this form for a leaf-only certificate)</i></li> | ||
| + | <li><code><b>cert.pem</b></code> + <code><b>chain.pem</b></code> + <code><b>privkey.pem</b></code></li> | ||
| + | </ul> | ||
{{hr}} | {{hr}} | ||
| Line 12: | Line 16: | ||
{{Manual lvl 2 | title = Order of Operations | content = | {{Manual lvl 2 | title = Order of Operations | content = | ||
<ol> | <ol> | ||
| − | <li> | + | <li>In the VALTMenu, go to <b>3 SSL Settings</b>, then select <b>4 Enable SSL Renewal Watcher</b>.</li> |
| − | + | <li>Set the schedule in <code><b>/usr/local/valt/conf/ssl_renewer_config</b></code> (see <b>Execution Frequency Options</b> below).</li> | |
| − | + | <li>Copy a complete certificate set (either format above) into the /incoming directory.</li> | |
| − | <li> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
</ol> | </ol> | ||
| + | |||
| + | Based on the frequency: <b>instant</b> applies the set immediately, while <b>scheduled</b>, <b>weekly</b>, and <b>monthly</b> apply it at the configured time — copy in a fresh set before each scheduled run. Editing the config later automatically updates the schedule. All activity is logged to <code><b>/usr/local/valt/logs/SSLRenewalWatcher.log</b></code>. | ||
}} | }} | ||
| − | |||
| − | |||
{{hr}} | {{hr}} | ||
| Line 41: | Line 34: | ||
<tr> | <tr> | ||
<td><code><b>instant</b></code></td> | <td><code><b>instant</b></code></td> | ||
| − | <td> | + | <td>Applies the certificates <b>immediately.</b></td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><code><b>scheduled</b></code></td> | <td><code><b>scheduled</b></code></td> | ||
| − | <td> | + | <td>Runs <b>once</b> at the specified date and time, then removes itself.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><code><b>weekly</b></code></td> | <td><code><b>weekly</b></code></td> | ||
| − | <td> | + | <td>Runs <b>every week</b> on the specified day and time.</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td><code><b>monthly</b></code></td> | <td><code><b>monthly</b></code></td> | ||
| − | <td> | + | <td>Runs <b>every month</b> on the specified day and time.</td> |
</tr> | </tr> | ||
</table> | </table> | ||
| − | |||
{{hr}} | {{hr}} | ||
<h1>Error Checking</h1> | <h1>Error Checking</h1> | ||
| − | + | All activity is logged to <code>/usr/local/valt/logs/SSLRenewalWatcher.log</code>. Before installing, the watcher confirms: | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<ul> | <ul> | ||
| − | <li> | + | <li>A complete set was updated within the 10-minute window.</li> |
| − | <li> | + | <li>Each certificate is a valid x509 certificate and the private key is valid (RSA or EC).</li> |
| − | <li> | + | <li>The leaf certificate and private key match, the certificate is not expired, and the chain is valid.</li> |
| − | <li> | + | <li>The incoming certificates differ from the ones already installed (otherwise it skips; override with <code>SSLRenewer.bash --force</code>).</li> |
| − | |||
| − | |||
</ul> | </ul> | ||
| − | + | Any files that are not part of a valid set are logged and ignored. | |
| − | |||
{{Top of Page}} | {{Top of Page}} | ||
}} | }} | ||
Latest revision as of 10:31, 23 July 2026
Summary
As of version 6.5, VALT can automatically apply renewed SSL certificates for you.
When enabled from the VALTMenu, the SSL Renewal Watcher watches the /usr/local/valt/ssl/incoming/ directory. When a complete certificate set appears within a 10-minute window, VALT installs it over the existing set and restarts the Web, Wowza, and Nginx containers so they use the new files (deferred, and noted in the log, if there are active recordings). A complete set is either:
fullchain.pem+privkey.pem(also use this form for a leaf-only certificate)cert.pem+chain.pem+privkey.pem
How It Functions
Order of Operations
- In the VALTMenu, go to 3 SSL Settings, then select 4 Enable SSL Renewal Watcher.
- Set the schedule in
/usr/local/valt/conf/ssl_renewer_config(see Execution Frequency Options below). - Copy a complete certificate set (either format above) into the /incoming directory.
Based on the frequency: instant applies the set immediately, while scheduled, weekly, and monthly apply it at the configured time — copy in a fresh set before each scheduled run. Editing the config later automatically updates the schedule. All activity is logged to /usr/local/valt/logs/SSLRenewalWatcher.log.
Execution Frequency Options
| Execution Frequency | What happens? |
|---|---|
instant |
Applies the certificates immediately. |
scheduled |
Runs once at the specified date and time, then removes itself. |
weekly |
Runs every week on the specified day and time. |
monthly |
Runs every month on the specified day and time. |
Error Checking
All activity is logged to /usr/local/valt/logs/SSLRenewalWatcher.log. Before installing, the watcher confirms:
- A complete set was updated within the 10-minute window.
- Each certificate is a valid x509 certificate and the private key is valid (RSA or EC).
- The leaf certificate and private key match, the certificate is not expired, and the chain is valid.
- The incoming certificates differ from the ones already installed (otherwise it skips; override with
SSLRenewer.bash --force).
Any files that are not part of a valid set are logged and ignored.
⇧ Back to Top