mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-07-08 11:40:25 +00:00
- Read Apache configuration to find the list of all available certificates and their associated domains. Use this for setting UIDs properly. - Solve the issue of re-importing renewed certficiate. Use the SSH fingerprints as unique keys instead of domain names. Compute SSH fingerprints for SSH keys and HTTPS certficates inorder accurately identify if they are currently imported into monkeysphere. - Allow having more than one domains for a certficiate. Add action to import new domains to an existing monkeysphere OpenPGP key. - Import only once for a given certficiate and keep adding UIDs when domains get added. - Merge services SSH and HTTPS giving us the ability to deals with many more services. Remove special handling for different kinds of certificate sources. - Supress monkeysphere prompts in case of reusing UIDs.
160 lines
5.0 KiB
HTML
160 lines
5.0 KiB
HTML
{% extends "app.html" %}
|
|
{% comment %}
|
|
#
|
|
# This file is part of Plinth.
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
{% endcomment %}
|
|
|
|
{% load bootstrap %}
|
|
{% load i18n %}
|
|
|
|
{% block page_head %}
|
|
|
|
{% if running %}
|
|
<meta http-equiv="refresh" content="3"/>
|
|
{% endif %}
|
|
|
|
<style type="text/css">
|
|
td li {
|
|
list-style: none;
|
|
line-height: 2em;
|
|
}
|
|
|
|
td ul {
|
|
padding: 0;
|
|
}
|
|
|
|
.form.pull-right {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.form button {
|
|
width: 9em;
|
|
}
|
|
</style>
|
|
|
|
{% endblock %}
|
|
|
|
|
|
{% block configuration %}
|
|
|
|
{% if running %}
|
|
<p class="running-status-parent">
|
|
<span class="running-status active"></span>
|
|
{% trans "Publishing key to keyserver..." %}
|
|
|
|
<form class="form" method="post"
|
|
action="{% url 'monkeysphere:cancel' %}">
|
|
{% csrf_token %}
|
|
|
|
<button type="submit" class="btn btn-warning btn-sm">
|
|
{% trans "Cancel" %}</button>
|
|
</form>
|
|
</p>
|
|
{% endif %}
|
|
|
|
<div class="row">
|
|
<div class="col-sm-10">
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>{% trans "Service" %}</th>
|
|
<th>{% trans "Domains" %}</th>
|
|
<th>{% trans "OpenPGP Fingerprint" %}</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for key in status.keys.values %}
|
|
<tr>
|
|
<td>
|
|
{% if key.service == 'ssh' %}
|
|
{% trans "Secure Shell" %}
|
|
{% elif key.service == 'https' %}
|
|
{% trans "Web Server" %}
|
|
{% else %}
|
|
{% trans "Other" %}
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<ul>
|
|
{% for domain in key.available_domains %}
|
|
<li>
|
|
{% if domain in key.imported_domains %}
|
|
<span class="label label-success"
|
|
><span class="glyphicon glyphicon-ok" aria-hidden="true"
|
|
></span></span>
|
|
{% else %}
|
|
<span class="label label-default"
|
|
><span class="glyphicon glyphicon-remove" aria-hidden="true"
|
|
></span></span>
|
|
{% endif %}
|
|
{{ domain }}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</td>
|
|
<td>
|
|
{% if key.openpgp_fingerprint %}
|
|
<a href="{% url 'monkeysphere:details' key.openpgp_fingerprint %}"
|
|
title="{% blocktrans trimmed with fingerprint=key.openpgp_fingerprint %}
|
|
Show details for key {{ fingerprint }}
|
|
{% endblocktrans %}">
|
|
{{ key.openpgp_fingerprint }}
|
|
</a>
|
|
{% else %}
|
|
{% trans "-" %}
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
{% if not key.openpgp_fingerprint %}
|
|
<form class="form pull-right" method="post"
|
|
action="{% url 'monkeysphere:import' key.ssh_fingerprint %}">
|
|
{% csrf_token %}
|
|
|
|
<button type="submit" class="btn btn-primary btn-sm pull-right">
|
|
{% trans "Import Key" %}</button>
|
|
</form>
|
|
{% else %}
|
|
{% if not running %}
|
|
<form class="form pull-right" method="post"
|
|
action="{% url 'monkeysphere:publish' key.openpgp_fingerprint %}">
|
|
{% csrf_token %}
|
|
|
|
<button type="submit" class="btn btn-warning btn-sm pull-right">
|
|
{% trans "Publish Key" %}</button>
|
|
</form>
|
|
{% endif %}
|
|
{% if key.imported_domains != key.available_domains %}
|
|
<form class="form pull-right" method="post"
|
|
action="{% url 'monkeysphere:import' key.ssh_fingerprint %}">
|
|
{% csrf_token %}
|
|
|
|
<button type="submit" class="btn btn-primary btn-sm pull-right">
|
|
{% trans "Add Domains" %}</button>
|
|
</form>
|
|
{% endif %}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|