From b8332debca8d8334fb51ed17638df7343c738e59 Mon Sep 17 00:00:00 2001 From: jim-p Date: Wed, 3 Aug 2016 10:47:13 -0400 Subject: Add a field to CA/Cert pages for OU, which is required by some external CAs and users. Fixes #6672 --- src/usr/local/www/system_camanager.php | 17 +++++++++++++++-- src/usr/local/www/system_certmanager.php | 28 +++++++++++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) (limited to 'src/usr/local') diff --git a/src/usr/local/www/system_camanager.php b/src/usr/local/www/system_camanager.php index 4c4a9f3..ce3e5ed 100644 --- a/src/usr/local/www/system_camanager.php +++ b/src/usr/local/www/system_camanager.php @@ -301,6 +301,9 @@ if ($_POST) { 'organizationName' => $pconfig['dn_organization'], 'emailAddress' => $pconfig['dn_email'], 'commonName' => $pconfig['dn_commonname']); + if (!empty($pconfig['dn_organizationalunit'])) { + $dn['organizationalUnitName'] = $pconfig['dn_organizationalunit']; + } if (!ca_create($ca, $pconfig['keylen'], $pconfig['lifetime'], $dn, $pconfig['digest_alg'])) { while ($ssl_err = openssl_error_string()) { $input_errors = array(); @@ -315,7 +318,9 @@ if ($_POST) { 'organizationName' => $pconfig['dn_organization'], 'emailAddress' => $pconfig['dn_email'], 'commonName' => $pconfig['dn_commonname']); - + if (!empty($pconfig['dn_organizationalunit'])) { + $dn['organizationalUnitName'] = $pconfig['dn_organizationalunit']; + } if (!ca_inter_create($ca, $pconfig['keylen'], $pconfig['lifetime'], $dn, $pconfig['caref'], $pconfig['digest_alg'])) { while ($ssl_err = openssl_error_string()) { $input_errors = array(); @@ -600,7 +605,15 @@ $section->addInput(new Form_Input( 'Organization', 'text', $pconfig['dn_organization'], - ['placeholder' => 'e.g. My Company Inc.'] + ['placeholder' => 'e.g. My Company Inc'] +)); + +$section->addInput(new Form_Input( + 'dn_organizationalunit', + 'Organizational Unit', + 'text', + $pconfig['dn_organizationalunit'], + ['placeholder' => 'e.g. My Department Name (optional)'] )); $section->addInput(new Form_Input( diff --git a/src/usr/local/www/system_certmanager.php b/src/usr/local/www/system_certmanager.php index 08e8b88..6560c57 100644 --- a/src/usr/local/www/system_certmanager.php +++ b/src/usr/local/www/system_certmanager.php @@ -423,7 +423,9 @@ if ($_POST) { 'organizationName' => $pconfig['dn_organization'], 'emailAddress' => $pconfig['dn_email'], 'commonName' => $pconfig['dn_commonname']); - + if (!empty($pconfig['dn_organizationalunit'])) { + $dn['organizationalUnitName'] = $pconfig['dn_organizationalunit']; + } if (count($altnames)) { $altnames_tmp = ""; foreach ($altnames as $altname) { @@ -449,6 +451,9 @@ if ($_POST) { 'organizationName' => $pconfig['csr_dn_organization'], 'emailAddress' => $pconfig['csr_dn_email'], 'commonName' => $pconfig['csr_dn_commonname']); + if (!empty($pconfig['csr_dn_organizationalunit'])) { + $dn['organizationalUnitName'] = $pconfig['csr_dn_organizationalunit']; + } if (count($altnames)) { $altnames_tmp = ""; foreach ($altnames as $altname) { @@ -718,7 +723,15 @@ if ($act == "new" || (($_POST['save'] == gettext("Save")) && $input_errors)) { 'Organization', 'text', $pconfig['dn_organization'], - ['placeholder' => 'e.g. My Company Inc.'] + ['placeholder' => 'e.g. My Company Inc'] + )); + + $section->addInput(new Form_Input( + 'dn_organizationalunit', + 'Organizational Unit', + 'text', + $pconfig['dn_organizationalunit'], + ['placeholder' => 'e.g. My Department Name (optional)'] )); $section->addInput(new Form_Input( @@ -837,7 +850,15 @@ if ($act == "new" || (($_POST['save'] == gettext("Save")) && $input_errors)) { 'Organization', 'text', $pconfig['csr_dn_organization'], - ['placeholder' => 'e.g. My Company Inc.'] + ['placeholder' => 'e.g. My Company Inc'] + )); + + $section->addInput(new Form_Input( + 'csr_dn_organizationalunit', + 'Organizational Unit', + 'text', + $pconfig['csr_dn_organizationalunit'], + ['placeholder' => 'e.g. My Department Name (optional)'] )); $section->addInput(new Form_Input( @@ -1125,6 +1146,7 @@ events.push(function() { $('#dn_city').val(""); $('#dn_organization').val(""); $('#dn_email').val(""); + $('#dn_organizationalunit').val(""); break;