Project

General

Profile

« Previous | Next » 

Revision dace81a7

Added by Viktor Gurov almost 6 years ago

additions

View differences:

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