Revision dace81a7
Added by Viktor Gurov almost 6 years ago
src/usr/local/www/system_certmanager.php | ||
---|---|---|
41 | 41 |
); |
42 | 42 |
|
43 | 43 |
$cert_keylens = array("1024", "2048", "3072", "4096", "6144", "7680", "8192", "15360", "16384"); |
44 |
$cert_eckeys = array("brainpoolP160r1", "brainpoolP192r1");
|
|
44 |
$cert_eckeys = array("secp112r1", "secp112r2", "secp128r1", "secp128r2", "secp160k1", "secp160r1", "secp160r2", "secp192k1", "secp224k1", "secp224r1", "secp256k1", "secp384r1", "secp521r1", "prime192v1", "prime192v2", "prime192v3", "prime239v1", "prime239v2", "prime239v3", "prime256v1", "sect113r1", "sect113r2", "sect131r1", "sect131r2", "sect163k1", "sect163r1", "sect163r2", "sect193r1", "sect193r2", "sect233k1", "sect233r1", "sect239k1", "sect283k1", "sect283r1", "sect409k1", "sect409r1", "sect571k1", "sect571r1", "c2pnb163v1", "c2pnb163v2", "c2pnb163v3", "c2pnb176v1", "c2tnb191v1", "c2tnb191v2", "c2tnb191v3", "c2pnb208w1", "c2tnb239v1", "c2tnb239v2", "c2tnb239v3", "c2pnb272w1", "c2pnb304w1", "c2tnb359v1", "c2pnb368w1", "c2tnb431r1", "wap-wsg-idm-ecid-wtls1", "wap-wsg-idm-ecid-wtls3", "wap-wsg-idm-ecid-wtls4", "wap-wsg-idm-ecid-wtls5", "wap-wsg-idm-ecid-wtls6", "wap-wsg-idm-ecid-wtls7", "wap-wsg-idm-ecid-wtls8", "wap-wsg-idm-ecid-wtls9", "wap-wsg-idm-ecid-wtls10", "wap-wsg-idm-ecid-wtls11", "wap-wsg-idm-ecid-wtls12", "brainpoolP160r1", "brainpoolP160t1", "brainpoolP192r1", "brainpoolP192t1", "brainpoolP224r1", "brainpoolP224t1", "brainpoolP256r1", "brainpoolP256t1", "brainpoolP320r1", "brainpoolP320t1", "brainpoolP384r1", "brainpoolP384t1", "brainpoolP512r1", "brainpoolP512t1");
|
|
45 | 45 |
$cert_keytypes = array("RSA", "ECDSA"); |
46 | 46 |
$cert_types = array( |
47 | 47 |
"server" => "Server Certificate", |
... | ... | |
97 | 97 |
$pconfig['method'] = $_POST['method']; |
98 | 98 |
$pconfig['keytype'] = "RSA"; |
99 | 99 |
$pconfig['keylen'] = "2048"; |
100 |
$pconfig['eckey'] = "brainpoolP160r1"; |
|
100 | 101 |
$pconfig['digest_alg'] = "sha256"; |
101 | 102 |
$pconfig['csr_keytype'] = "RSA"; |
102 | 103 |
$pconfig['csr_keylen'] = "2048"; |
104 |
$pconfig['csr_eckey'] = "brainpoolP160r1"; |
|
103 | 105 |
$pconfig['csr_digest_alg'] = "sha256"; |
104 | 106 |
$pconfig['csrsign_digest_alg'] = "sha256"; |
105 | 107 |
$pconfig['type'] = "user"; |
... | ... | |
245 | 247 |
|
246 | 248 |
if ($pconfig['method'] == "internal") { |
247 | 249 |
$reqdfields = explode(" ", |
248 |
"descr caref keylen type keytype lifetime dn_commonname"); |
|
250 |
"descr caref keylen eckey type keytype lifetime dn_commonname");
|
|
249 | 251 |
$reqdfieldsn = array( |
250 | 252 |
gettext("Descriptive name"), |
251 | 253 |
gettext("Certificate authority"), |
252 | 254 |
gettext("Key length"), |
255 |
gettext("EC key"), |
|
253 | 256 |
gettext("Key type"), |
254 | 257 |
gettext("Certificate Type"), |
255 | 258 |
gettext("Lifetime"), |
... | ... | |
258 | 261 |
|
259 | 262 |
if ($pconfig['method'] == "external") { |
260 | 263 |
$reqdfields = explode(" ", |
261 |
"descr csr_keylen csr_dn_commonname"); |
|
264 |
"descr csr_keylen csr_eckey csr_keytype csr_dn_commonname");
|
|
262 | 265 |
$reqdfieldsn = array( |
263 | 266 |
gettext("Descriptive name"), |
264 | 267 |
gettext("Key length"), |
268 |
gettext("EC key"), |
|
269 |
gettext("Key type"), |
|
265 | 270 |
gettext("Common Name")); |
266 | 271 |
} |
267 | 272 |
|
... | ... | |
340 | 345 |
|
341 | 346 |
switch ($pconfig['method']) { |
342 | 347 |
case "internal": |
348 |
if (isset($_POST["keytype"]) && !in_array($_POST["keytype"], $cert_keytypes)) { |
|
349 |
array_push($input_errors, gettext("Please select a valid Key Type.")); |
|
350 |
} |
|
343 | 351 |
if (isset($_POST["keylen"]) && !in_array($_POST["keylen"], $cert_keylens)) { |
344 | 352 |
array_push($input_errors, gettext("Please select a valid Key Length.")); |
345 | 353 |
} |
354 |
if (isset($_POST["eckey"]) && !in_array($_POST["eckey"], $cert_eckeys)) { |
|
355 |
array_push($input_errors, gettext("Please select a valid EC Key.")); |
|
356 |
} |
|
346 | 357 |
if (!in_array($_POST["digest_alg"], $openssl_digest_algs)) { |
347 | 358 |
array_push($input_errors, gettext("Please select a valid Digest Algorithm.")); |
348 | 359 |
} |
349 | 360 |
break; |
350 | 361 |
case "external": |
362 |
if (isset($_POST["csr_keytype"]) && !in_array($_POST["csr_keytype"], $cert_keytypes)) { |
|
363 |
array_push($input_errors, gettext("Please select a valid Key Type.")); |
|
364 |
} |
|
351 | 365 |
if (isset($_POST["csr_keylen"]) && !in_array($_POST["csr_keylen"], $cert_keylens)) { |
352 | 366 |
array_push($input_errors, gettext("Please select a valid Key Length.")); |
353 | 367 |
} |
368 |
if (isset($_POST["csr_eckey"]) && !in_array($_POST["csr_eckey"], $cert_eckeys)) { |
|
369 |
array_push($input_errors, gettext("Please select a valid EC Key.")); |
|
370 |
} |
|
354 | 371 |
if (!in_array($_POST["csr_digest_alg"], $openssl_digest_algs)) { |
355 | 372 |
array_push($input_errors, gettext("Please select a valid Digest Algorithm.")); |
356 | 373 |
} |
... | ... | |
783 | 800 |
array_combine($cert_keytypes, $cert_keytypes) |
784 | 801 |
)); |
785 | 802 |
|
786 |
$section->addInput(new Form_Select( |
|
803 |
$group = new Form_Group($i == 0 ? '*Key length':''); |
|
804 |
$group->addClass('rsakeys'); |
|
805 |
$group->add(new Form_Select( |
|
787 | 806 |
'keylen', |
788 |
'*Key length',
|
|
807 |
null,
|
|
789 | 808 |
$pconfig['keylen'], |
790 |
($pconfig['keytype'] == 'RSA') ? array_combine($cert_keylens, $cert_keylens) : array_combine($cert_eckeys, $cert_eckeys) |
|
809 |
array_combine($cert_keylens, $cert_keylens) |
|
810 |
)); |
|
811 |
$section->add($group); |
|
812 |
|
|
813 |
$group = new Form_Group($i == 0 ? '*EC key':''); |
|
814 |
$group->addClass('eckeys'); |
|
815 |
$group->add(new Form_Select( |
|
816 |
'eckey', |
|
817 |
null, |
|
818 |
$pconfig['eckey'], |
|
819 |
array_combine($cert_eckeys, $cert_eckeys) |
|
791 | 820 |
)); |
821 |
$section->add($group); |
|
792 | 822 |
|
793 | 823 |
$section->addInput(new Form_Select( |
794 | 824 |
'digest_alg', |
... | ... | |
868 | 898 |
array_combine($cert_keytypes, $cert_keytypes) |
869 | 899 |
)); |
870 | 900 |
|
871 |
$section->addInput(new Form_Select( |
|
901 |
$group = new Form_Group($i == 0 ? '*Key length':''); |
|
902 |
$group->addClass('csr_rsakeys'); |
|
903 |
$group->add(new Form_Select( |
|
872 | 904 |
'csr_keylen', |
873 |
'*Key length',
|
|
905 |
null,
|
|
874 | 906 |
$pconfig['csr_keylen'], |
875 | 907 |
array_combine($cert_keylens, $cert_keylens) |
876 | 908 |
)); |
909 |
$section->add($group); |
|
910 |
|
|
911 |
$group = new Form_Group($i == 0 ? '*EC key':''); |
|
912 |
$group->addClass('csr_eckeys'); |
|
913 |
$group->add(new Form_Select( |
|
914 |
'csr_eckey', |
|
915 |
null, |
|
916 |
$pconfig['csr_eckey'], |
|
917 |
array_combine($cert_eckeys, $cert_eckeys) |
|
918 |
)); |
|
919 |
$section->add($group); |
|
877 | 920 |
|
878 | 921 |
$section->addInput(new Form_Select( |
879 | 922 |
'csr_digest_alg', |
... | ... | |
1440 | 1483 |
set_csr_ro(); |
1441 | 1484 |
}); |
1442 | 1485 |
|
1486 |
function change_keytype() { |
|
1487 |
hideClass('rsakeys', ($('#keytype').val() != 'RSA')); |
|
1488 |
hideClass('eckeys', ($('#keytype').val() != 'ECDSA')); |
|
1489 |
} |
|
1490 |
|
|
1491 |
$('#keytype').change(function () { |
|
1492 |
change_keytype(); |
|
1493 |
}); |
|
1494 |
|
|
1495 |
function change_csrkeytype() { |
|
1496 |
hideClass('csr_rsakeys', ($('#csr_keytype').val() != 'RSA')); |
|
1497 |
hideClass('csr_eckeys', ($('#csr_keytype').val() != 'ECDSA')); |
|
1498 |
} |
|
1499 |
|
|
1500 |
$('#csr_keytype').change(function () { |
|
1501 |
change_csrkeytype(); |
|
1502 |
}); |
|
1503 |
|
|
1443 | 1504 |
// ---------- On initial page load ------------------------------------------------------------ |
1444 | 1505 |
|
1445 | 1506 |
internalca_change(); |
1446 | 1507 |
set_csr_ro(); |
1508 |
change_keytype(); |
|
1509 |
change_csrkeytype(); |
|
1447 | 1510 |
|
1448 | 1511 |
// Suppress "Delete row" button if there are fewer than two rows |
1449 | 1512 |
checkLastRow(); |
1450 | 1513 |
|
1514 |
|
|
1451 | 1515 |
<?php endif; ?> |
1452 | 1516 |
|
1453 | 1517 |
|
Also available in: Unified diff
additions