111 lines
4.2 KiB
PHP
111 lines
4.2 KiB
PHP
<?php include "../top.inc.php"; ?>
|
|
|
|
<form method="post">
|
|
<label for="zone">Domaine</label>
|
|
<br>
|
|
<select required="" name="zone" id="zone">
|
|
<option value="" disabled="" selected="">---</option>
|
|
|
|
<?php
|
|
$domains = regListUserDomains($_SESSION['username']);
|
|
|
|
if ($domains) {
|
|
foreach($domains as $domain) {
|
|
echo "<option value='" . $domain . "'>" . $domain . "</option>";
|
|
}
|
|
}
|
|
|
|
?>
|
|
|
|
</select>
|
|
<br>
|
|
<label for="keytag">Tag de la clé</label>
|
|
<br>
|
|
<input required="" id="keytag" placeholder="32768" min="1" max="65535" name="keytag" type="number"><span></span>
|
|
<br>
|
|
<label for="algo">Algorithme</label>
|
|
<br>
|
|
<select required="" name="algo" id="algo">
|
|
<!-- RFC 8624 : Algorithm Implementation Requirements and Usage Guidance for DNSSEC > Algorithm Selection > DNSKEY Algorithms -->
|
|
<!-- https://tools.ietf.org/html/rfc8624.html#section-3.1 -->
|
|
<option value="1" disabled="">1 (RSAMD5)</option>
|
|
<option value="3" disabled="">3 (DSA)</option>
|
|
<option value="5" disabled="">5 (RSASHA1)</option>
|
|
<option value="6" disabled="">6 (DSA-NSEC3-SHA1)</option>
|
|
<option value="7" disabled="">7 (RSASHA1-NSEC3-SHA1)</option>
|
|
<option value="8">8 (RSASHA256)</option>
|
|
<option value="10" disabled="">10 (RSASHA512)</option>
|
|
<option value="12" disabled="">12 (ECC-GOST)</option>
|
|
<option value="13">13 (ECDSAP256SHA256)</option>
|
|
<option value="14">14 (ECDSAP384SHA384)</option>
|
|
<option value="15" selected="">15 (ED25519)</option>
|
|
<option value="16">16 (ED448)</option>
|
|
</select>
|
|
<br>
|
|
<label for="dt">Type de condensat</label>
|
|
<br>
|
|
<select required="" name="dt" id="dt">
|
|
<!-- RFC 8624 : Algorithm Implementation Requirements and Usage Guidance for DNSSEC > Algorithm Selection > DS and CDS Algorithms -->
|
|
<!-- https://tools.ietf.org/html/rfc8624.html#section-3.3 -->
|
|
<option value="1" disabled="">1 (SHA-1)</option>
|
|
<option value="2" selected="">2 (SHA-256)</option>
|
|
<option value="3" disabled="">3 (GOST R 34.11-94)</option>
|
|
<option value="4">4 (SHA-384)</option>
|
|
</select>
|
|
<br>
|
|
<label for="key">Delegation Signer</label>
|
|
<br>
|
|
<input id="key" required="" name="key" type="text" placeholder="018F25E4A022463478C9E30136EC53771A1704A0F0B3CE5B883AC9C8A6A55D16B638B4DE70662ACA5295D3669E7CADD9">
|
|
<br>
|
|
<input value="Valider" type="submit">
|
|
</form>
|
|
|
|
<?php
|
|
|
|
if (isset($_POST['zone']) AND isset($_POST['keytag']) AND isset($_POST['algo']) AND isset($_POST['key']) AND isset($_SESSION['username'])) {
|
|
|
|
if (!($_POST['algo'] == "8")
|
|
AND !($_POST['algo'] == "13")
|
|
AND !($_POST['algo'] == "14")
|
|
AND !($_POST['algo'] == "15")
|
|
AND !($_POST['algo'] == "16")
|
|
)
|
|
exit("Incorrect value for algo");
|
|
|
|
$_POST['keytag'] = intval($_POST['keytag']);
|
|
if ((!preg_match("/^[0-9]{1,6}$/", $_POST['keytag'])) OR !($_POST['keytag'] >= 1) OR !($_POST['keytag'] <= 65535))
|
|
exit("Incorrect value for keytag");
|
|
|
|
if (!$_POST['dt'] == "2" AND !$_POST['dt'] == "4")
|
|
exit("Incorrect value for dt");
|
|
|
|
checkAbsoluteDomainFormat($_POST['zone']);
|
|
nsCheckZonePossession($_POST['zone']);
|
|
regCheckDomainPossession($_POST['zone']);
|
|
|
|
$suffix = regGetUpperDomain($_POST['zone']);
|
|
|
|
exec(KNOTC_PATH . " zone-begin " . $suffix);
|
|
exec(KNOTC_PATH . " zone-set " . $suffix . " " . $_POST['zone'] . " 86400 DS " . $_POST['keytag'] . " " . $_POST['algo'] . " " . $_POST['dt'] . " " . $_POST['key']);
|
|
exec(KNOTC_PATH . " zone-commit " . $suffix);
|
|
//secure.example. DS tag=12345 alg=3 digest_type=1 <foofoo>
|
|
echo "La requête a été envoyée à Knot";
|
|
|
|
/*
|
|
moomin3.atope.art. 0 DS 11168 13 1 D39D6B1ED58ECE9FA8AB6B7DB53E78338D45E2FF
|
|
moomin3.atope.art. 0 DS 11168 13 2 DB7C3B76CF40C1F7C0BF278AB46284BFEA5E7D44B382992E32BB5B3DC50BA7AB
|
|
moomin3.atope.art. 0 DS 11168 13 4 018F25E4A022463478C9E30136EC53771A1704A0F0B3CE5B883AC9C8A6A55D16B638B4DE70662ACA5295D3669E7CADD9
|
|
from rfc : secure.example. DS tag=12345 alg=3 digest_type=1 <foofoo>
|
|
*/
|
|
|
|
//exec("knotc zone-begin atope.art");
|
|
//exec("knotc zone-set atope.art " . $_POST['subdomain'] . ".atope.art. DS " . $_POST['ns'] . ".");
|
|
//exec("knotc zone-commit atope.art");
|
|
//echo "Modifications appliquées";
|
|
}
|
|
|
|
|
|
?>
|
|
|
|
<?php include "../bottom.inc.php"; ?>
|