Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpnSense
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kulya
OpnSense
Commits
375d4a2c
Commit
375d4a2c
authored
Dec 11, 2015
by
Ad Schellevis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(legacy) refactor system_certmanager.php
parent
95ed1a45
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
967 additions
and
1066 deletions
+967
-1066
system_certmanager.php
src/www/system_certmanager.php
+967
-1066
No files found.
src/www/system_certmanager.php
View file @
375d4a2c
...
@@ -80,94 +80,77 @@ function csr_get_modulus($str_crt, $decode = true)
...
@@ -80,94 +80,77 @@ function csr_get_modulus($str_crt, $decode = true)
return
cert_get_modulus
(
$str_crt
,
$decode
,
'csr'
);
return
cert_get_modulus
(
$str_crt
,
$decode
,
'csr'
);
}
}
// types
$cert_methods
=
array
(
$cert_methods
=
array
(
"import"
=>
gettext
(
"Import an existing Certificate"
),
"import"
=>
gettext
(
"Import an existing Certificate"
),
"internal"
=>
gettext
(
"Create an internal Certificate"
),
"internal"
=>
gettext
(
"Create an internal Certificate"
),
"external"
=>
gettext
(
"Create a Certificate Signing Request"
),
"external"
=>
gettext
(
"Create a Certificate Signing Request"
),
);
);
$cert_keylens
=
array
(
"512"
,
"1024"
,
"2048"
,
"4096"
);
$cert_keylens
=
array
(
"512"
,
"1024"
,
"2048"
,
"4096"
);
$altname_types
=
array
(
"DNS"
,
"IP"
,
"email"
,
"URI"
);
$openssl_digest_algs
=
array
(
"sha1"
,
"sha224"
,
"sha256"
,
"sha384"
,
"sha512"
);
$openssl_digest_algs
=
array
(
"sha1"
,
"sha224"
,
"sha256"
,
"sha384"
,
"sha512"
);
if
(
isset
(
$_GET
[
'userid'
])
&&
is_numericint
(
$_GET
[
'userid'
]))
{
$userid
=
$_GET
[
'userid'
];
}
if
(
isset
(
$_POST
[
'userid'
])
&&
is_numericint
(
$_POST
[
'userid'
]))
{
$userid
=
$_POST
[
'userid'
];
}
if
(
isset
(
$userid
))
{
// config reference pointers
$cert_methods
[
"existing"
]
=
gettext
(
"Choose an existing certificate"
);
if
(
!
isset
(
$config
[
'system'
][
'user'
])
||
!
is_array
(
$config
[
'system'
][
'user'
]))
{
if
(
!
is_array
(
$config
[
'system'
][
'user'
]))
{
$config
[
'system'
][
'user'
]
=
array
();
$config
[
'system'
][
'user'
]
=
array
();
}
$a_user
=&
$config
[
'system'
][
'user'
];
}
}
$a_user
=&
$config
[
'system'
][
'user'
];
if
(
isset
(
$_GET
[
'id'
])
&&
is_numericint
(
$_GET
[
'id'
]))
{
$id
=
$_GET
[
'id'
];
}
if
(
isset
(
$_POST
[
'id'
])
&&
is_numericint
(
$_POST
[
'id'
]))
{
$id
=
$_POST
[
'id'
];
}
if
(
!
isset
(
$config
[
'ca'
])
||
!
is_array
(
$config
[
'ca'
]))
{
if
(
!
isset
(
$config
[
'ca'
])
||
!
is_array
(
$config
[
'ca'
]))
{
$config
[
'ca'
]
=
array
();
$config
[
'ca'
]
=
array
();
}
}
$a_ca
=&
$config
[
'ca'
];
$a_ca
=&
$config
[
'ca'
];
if
(
!
is_array
(
$config
[
'cert'
]))
{
if
(
!
is_array
(
$config
[
'cert'
]))
{
$config
[
'cert'
]
=
array
();
$config
[
'cert'
]
=
array
();
}
}
$a_cert
=&
$config
[
'cert'
];
$a_cert
=&
$config
[
'cert'
];
$internal_ca_count
=
0
;
foreach
(
$a_ca
as
$ca
)
{
// handle user GET/POST data
if
(
$ca
[
'prv'
])
{
if
(
$_SERVER
[
'REQUEST_METHOD'
]
===
'GET'
)
{
$internal_ca_count
++
;
if
(
isset
(
$a_user
[
$_GET
[
'userid'
]]))
{
$userid
=
$_GET
[
'userid'
];
$cert_methods
[
"existing"
]
=
gettext
(
"Choose an existing certificate"
);
}
if
(
isset
(
$a_cert
[
$_GET
[
'id'
]]))
{
$id
=
$_GET
[
'id'
];
}
}
}
$act
=
null
;
if
(
isset
(
$_GET
[
'act'
]))
{
if
(
isset
(
$_GET
[
'act'
]))
{
$act
=
$_GET
[
'act'
];
$act
=
$_GET
[
'act'
];
}
elseif
(
isset
(
$_POST
[
'act'
]))
{
}
else
{
$act
=
$_POST
[
'act'
];
$act
=
null
;
}
if
(
$act
==
"del"
)
{
if
(
!
isset
(
$a_cert
[
$id
]))
{
header
(
"Location: system_certmanager.php"
);
exit
;
}
}
$name
=
$a_cert
[
$id
][
'descr'
];
$pconfig
=
array
();
unset
(
$a_cert
[
$id
]);
if
(
$act
==
"new"
)
{
write_config
();
$savemsg
=
sprintf
(
gettext
(
"Certificate %s successfully deleted"
),
$name
)
.
"<br />"
;
header
(
"Location: system_certmanager.php"
);
exit
;
}
if
(
$act
==
"new"
)
{
if
(
isset
(
$_GET
[
'method'
]))
{
if
(
isset
(
$_GET
[
'method'
]))
{
$pconfig
[
'
method'
]
=
$_GET
[
'method'
];
$pconfig
[
'cert
method'
]
=
$_GET
[
'method'
];
}
else
{
}
else
{
$pconfig
[
'
method'
]
=
null
;
$pconfig
[
'cert
method'
]
=
null
;
}
}
$pconfig
[
'keylen'
]
=
"2048"
;
$pconfig
[
'keylen'
]
=
"2048"
;
$pconfig
[
'digest_alg'
]
=
"sha256"
;
$pconfig
[
'digest_alg'
]
=
"sha256"
;
$pconfig
[
'csr_keylen'
]
=
"2048"
;
$pconfig
[
'csr_keylen'
]
=
"2048"
;
$pconfig
[
'csr_digest_alg'
]
=
"sha256"
;
$pconfig
[
'csr_digest_alg'
]
=
"sha256"
;
$pconfig
[
'lifetime'
]
=
"365"
;
$pconfig
[
'lifetime'
]
=
"365"
;
}
$pconfig
[
'cert'
]
=
null
;
$pconfig
[
'key'
]
=
null
;
$pconfig
[
'dn_country'
]
=
null
;
$pconfig
[
'dn_state'
]
=
null
;
$pconfig
[
'dn_city'
]
=
null
;
$pconfig
[
'dn_organization'
]
=
null
;
$pconfig
[
'dn_email'
]
=
null
;
if
(
$act
==
"exp"
)
{
if
(
isset
(
$userid
))
{
if
(
!
$a_cert
[
$id
])
{
$pconfig
[
'descr'
]
=
$a_user
[
$userid
][
'name'
];
$pconfig
[
'dn_commonname'
]
=
$a_user
[
$userid
][
'name'
];
}
else
{
$pconfig
[
'descr'
]
=
null
;
$pconfig
[
'dn_commonname'
]
=
null
;
}
}
elseif
(
$act
==
"exp"
)
{
if
(
!
isset
(
$id
))
{
header
(
"Location: system_certmanager.php"
);
header
(
"Location: system_certmanager.php"
);
exit
;
exit
;
}
}
...
@@ -181,10 +164,8 @@ if ($act == "exp") {
...
@@ -181,10 +164,8 @@ if ($act == "exp") {
header
(
"Content-Length:
$exp_size
"
);
header
(
"Content-Length:
$exp_size
"
);
echo
$exp_data
;
echo
$exp_data
;
exit
;
exit
;
}
}
elseif
(
$act
==
"key"
)
{
if
(
!
isset
(
$id
))
{
if
(
$act
==
"key"
)
{
if
(
!
$a_cert
[
$id
])
{
header
(
"Location: system_certmanager.php"
);
header
(
"Location: system_certmanager.php"
);
exit
;
exit
;
}
}
...
@@ -198,10 +179,8 @@ if ($act == "key") {
...
@@ -198,10 +179,8 @@ if ($act == "key") {
header
(
"Content-Length:
$exp_size
"
);
header
(
"Content-Length:
$exp_size
"
);
echo
$exp_data
;
echo
$exp_data
;
exit
;
exit
;
}
}
elseif
(
$act
==
"p12"
)
{
if
(
!
isset
(
$id
))
{
if
(
$act
==
"p12"
)
{
if
(
!
$a_cert
[
$id
])
{
header
(
"Location: system_certmanager.php"
);
header
(
"Location: system_certmanager.php"
);
exit
;
exit
;
}
}
...
@@ -227,42 +206,88 @@ if ($act == "p12") {
...
@@ -227,42 +206,88 @@ if ($act == "p12") {
header
(
"Content-Length:
$exp_size
"
);
header
(
"Content-Length:
$exp_size
"
);
echo
$exp_data
;
echo
$exp_data
;
exit
;
exit
;
}
}
elseif
(
$act
==
"csr"
)
{
if
(
!
isset
(
$id
))
{
if
(
$act
==
"csr"
)
{
if
(
!
$a_cert
[
$id
])
{
header
(
"Location: system_certmanager.php"
);
header
(
"Location: system_certmanager.php"
);
exit
;
exit
;
}
}
$pconfig
[
'descr'
]
=
$a_cert
[
$id
][
'descr'
];
$pconfig
[
'descr'
]
=
$a_cert
[
$id
][
'descr'
];
$pconfig
[
'csr'
]
=
base64_decode
(
$a_cert
[
$id
][
'csr'
]);
$pconfig
[
'csr'
]
=
base64_decode
(
$a_cert
[
$id
][
'csr'
]);
}
$pconfig
[
'cert'
]
=
null
;
}
}
elseif
(
$_SERVER
[
'REQUEST_METHOD'
]
===
'POST'
)
{
if
(
isset
(
$a_cert
[
$_POST
[
'id'
]]))
{
$id
=
$_POST
[
'id'
];
}
if
(
isset
(
$a_user
[
$_POST
[
'userid'
]]))
{
$userid
=
$_POST
[
'userid'
];
}
if
(
isset
(
$_POST
[
'act'
]))
{
$act
=
$_POST
[
'act'
];
}
else
{
$act
=
null
;
}
if
(
$act
==
"del"
)
{
if
(
isset
(
$id
))
{
unset
(
$a_cert
[
$id
]);
write_config
();
}
header
(
"Location: system_certmanager.php"
);
exit
;
}
elseif
(
$act
==
"csr"
)
{
$input_errors
=
array
();
$pconfig
=
$_POST
;
if
(
!
isset
(
$id
))
{
header
(
"Location: system_certmanager.php"
);
exit
;
}
/* input validation */
$reqdfields
=
explode
(
" "
,
"descr cert"
);
$reqdfieldsn
=
array
(
gettext
(
"Descriptive name"
),
gettext
(
"Final Certificate data"
));
do_input_validation
(
$_POST
,
$reqdfields
,
$reqdfieldsn
,
$input_errors
);
$mod_csr
=
csr_get_modulus
(
$pconfig
[
'csr'
],
false
);
$mod_cert
=
cert_get_modulus
(
$pconfig
[
'cert'
],
false
);
if
(
strcmp
(
$mod_csr
,
$mod_cert
))
{
// simply: if the moduli don't match, then the private key and public key won't match
$input_errors
[]
=
gettext
(
"The certificate modulus does not match the signing request modulus."
);
$subject_mismatch
=
true
;
}
/* save modifications */
if
(
count
(
$input_errors
)
==
0
)
{
$cert
=
$a_cert
[
$id
];
csr_complete
(
$cert
,
$pconfig
[
'cert'
]);
if
(
$_POST
)
{
$a_cert
[
$id
]
=
$cert
;
if
(
$_POST
[
'save'
]
==
gettext
(
"Save"
))
{
write_config
();
header
(
"Location: system_certmanager.php"
);
exit
;
}
}
elseif
(
!
empty
(
$_POST
[
'save'
]))
{
$input_errors
=
array
();
$input_errors
=
array
();
$pconfig
=
$_POST
;
$pconfig
=
$_POST
;
/* input validation */
/* input validation */
if
(
$pconfig
[
'method'
]
==
"import"
)
{
if
(
$pconfig
[
'certmethod'
]
==
"import"
)
{
$reqdfields
=
explode
(
$reqdfields
=
explode
(
" "
,
"descr cert key"
);
" "
,
"descr cert key"
);
$reqdfieldsn
=
array
(
$reqdfieldsn
=
array
(
gettext
(
"Descriptive name"
),
gettext
(
"Descriptive name"
),
gettext
(
"Certificate data"
),
gettext
(
"Certificate data"
),
gettext
(
"Key data"
));
gettext
(
"Key data"
));
if
(
$_POST
[
'cert'
]
&&
(
!
strstr
(
$_POST
[
'cert'
],
"BEGIN CERTIFICATE"
)
||
!
strstr
(
$_POST
[
'cert'
],
"END CERTIFICATE"
)))
{
if
(
!
empty
(
$pconfig
[
'cert'
])
&&
(
!
strstr
(
$pconfig
[
'cert'
],
"BEGIN CERTIFICATE"
)
||
!
strstr
(
$pconfig
[
'cert'
],
"END CERTIFICATE"
)))
{
$input_errors
[]
=
gettext
(
"This certificate does not appear to be valid."
);
$input_errors
[]
=
gettext
(
"This certificate does not appear to be valid."
);
}
}
}
}
elseif
(
$pconfig
[
'certmethod'
]
==
"internal"
)
{
$reqdfields
=
explode
(
" "
,
"descr caref keylen lifetime dn_country dn_state dn_city "
.
if
(
$pconfig
[
'method'
]
==
"internal"
)
{
$reqdfields
=
explode
(
" "
,
"descr caref keylen lifetime dn_country dn_state dn_city "
.
"dn_organization dn_email dn_commonname"
"dn_organization dn_email dn_commonname"
);
);
$reqdfieldsn
=
array
(
$reqdfieldsn
=
array
(
...
@@ -276,12 +301,8 @@ if ($_POST) {
...
@@ -276,12 +301,8 @@ if ($_POST) {
gettext
(
"Distinguished name Organization"
),
gettext
(
"Distinguished name Organization"
),
gettext
(
"Distinguished name Email Address"
),
gettext
(
"Distinguished name Email Address"
),
gettext
(
"Distinguished name Common Name"
));
gettext
(
"Distinguished name Common Name"
));
}
}
elseif
(
$pconfig
[
'certmethod'
]
==
"external"
)
{
$reqdfields
=
explode
(
" "
,
"descr csr_keylen csr_dn_country csr_dn_state csr_dn_city "
.
if
(
$pconfig
[
'method'
]
==
"external"
)
{
$reqdfields
=
explode
(
" "
,
"descr csr_keylen csr_dn_country csr_dn_state csr_dn_city "
.
"csr_dn_organization csr_dn_email csr_dn_commonname"
"csr_dn_organization csr_dn_email csr_dn_commonname"
);
);
$reqdfieldsn
=
array
(
$reqdfieldsn
=
array
(
...
@@ -293,34 +314,23 @@ if ($_POST) {
...
@@ -293,34 +314,23 @@ if ($_POST) {
gettext
(
"Distinguished name Organization"
),
gettext
(
"Distinguished name Organization"
),
gettext
(
"Distinguished name Email Address"
),
gettext
(
"Distinguished name Email Address"
),
gettext
(
"Distinguished name Common Name"
));
gettext
(
"Distinguished name Common Name"
));
}
}
elseif
(
$pconfig
[
'certmethod'
]
==
"existing"
)
{
if
(
$pconfig
[
'method'
]
==
"existing"
)
{
$reqdfields
=
array
(
"certref"
);
$reqdfields
=
array
(
"certref"
);
$reqdfieldsn
=
array
(
gettext
(
"Existing Certificate Choice"
));
$reqdfieldsn
=
array
(
gettext
(
"Existing Certificate Choice"
));
}
}
$altnames
=
array
();
$altnames
=
array
();
do_input_validation
(
$
_POST
,
$reqdfields
,
$reqdfieldsn
,
$input_errors
);
do_input_validation
(
$
pconfig
,
$reqdfields
,
$reqdfieldsn
,
$input_errors
);
if
(
$pconfig
[
'method'
]
!=
"import"
&&
$pconfig
[
'
method'
]
!=
"existing"
)
{
if
(
isset
(
$pconfig
[
'altname_value'
])
&&
$pconfig
[
'certmethod'
]
!=
"import"
&&
$pconfig
[
'cert
method'
]
!=
"existing"
)
{
/* subjectAltNames */
/* subjectAltNames */
foreach
(
$_POST
as
$key
=>
$value
)
{
foreach
(
$pconfig
[
'altname_type'
]
as
$altname_seq
=>
$altname_type
)
{
$entry
=
''
;
if
(
!
empty
(
$pconfig
[
'altname_value'
][
$altname_seq
]))
{
if
(
!
substr_compare
(
'altname_type'
,
$key
,
0
,
12
))
{
$altnames
[]
=
array
(
"type"
=>
$altname_type
,
"value"
=>
$pconfig
[
'altname_value'
][
$altname_seq
]);
$entry
=
substr
(
$key
,
12
);
$field
=
'type'
;
}
elseif
(
!
substr_compare
(
'altname_value'
,
$key
,
0
,
13
))
{
$entry
=
substr
(
$key
,
13
);
$field
=
'value'
;
}
}
if
(
ctype_digit
(
$entry
))
{
$altnames
[
$entry
][
$field
]
=
$value
;
}
}
}
$pconfig
[
'altnames'
][
'item'
]
=
$altnames
;
/* Input validation for subjectAltNames */
/* Input validation for subjectAltNames */
foreach
(
$altnames
as
$
idx
=>
$
altname
)
{
foreach
(
$altnames
as
$altname
)
{
switch
(
$altname
[
'type'
])
{
switch
(
$altname
[
'type'
])
{
case
"DNS"
:
case
"DNS"
:
if
(
!
is_hostname
(
$altname
[
'value'
]))
{
if
(
!
is_hostname
(
$altname
[
'value'
]))
{
...
@@ -341,7 +351,6 @@ if ($_POST) {
...
@@ -341,7 +351,6 @@ if ($_POST) {
}
}
break
;
break
;
case
"URI"
:
case
"URI"
:
/* Close enough? */
if
(
!
is_URL
(
$altname
[
'value'
]))
{
if
(
!
is_URL
(
$altname
[
'value'
]))
{
$input_errors
[]
=
gettext
(
"URI subjectAltName types must be a valid URI"
);
$input_errors
[]
=
gettext
(
"URI subjectAltName types must be a valid URI"
);
}
}
...
@@ -354,40 +363,40 @@ if ($_POST) {
...
@@ -354,40 +363,40 @@ if ($_POST) {
/* Make sure we do not have invalid characters in the fields for the certificate */
/* Make sure we do not have invalid characters in the fields for the certificate */
for
(
$i
=
0
;
$i
<
count
(
$reqdfields
);
$i
++
)
{
for
(
$i
=
0
;
$i
<
count
(
$reqdfields
);
$i
++
)
{
if
(
preg_match
(
'/email/'
,
$reqdfields
[
$i
]))
{
if
(
preg_match
(
'/email/'
,
$reqdfields
[
$i
]))
{
/* dn_email or csr_dn_name */
/* dn_email or csr_dn_name */
if
(
preg_match
(
"/[\!\#
\$
\%\^\(\)\~\?\>\<\&\/
\\
\,
\"
\']/"
,
$
_POST
[
$reqdfields
[
$i
]]))
{
if
(
preg_match
(
"/[\!\#
\$
\%\^\(\)\~\?\>\<\&\/
\\
\,
\"
\']/"
,
$
pconfig
[
$reqdfields
[
$i
]]))
{
$input_errors
[]
=
gettext
(
"The field 'Distinguished name Email Address' contains invalid characters."
);
$input_errors
[]
=
gettext
(
"The field 'Distinguished name Email Address' contains invalid characters."
);
}
}
}
elseif
(
preg_match
(
'/commonname/'
,
$reqdfields
[
$i
]))
{
}
elseif
(
preg_match
(
'/commonname/'
,
$reqdfields
[
$i
]))
{
/* dn_commonname or csr_dn_commonname */
/* dn_commonname or csr_dn_commonname */
if
(
preg_match
(
"/[\!\@\#
\$
\%\^\(\)\~\?\>\<\&\/
\\
\,
\"
\']/"
,
$
_POST
[
$reqdfields
[
$i
]]))
{
if
(
preg_match
(
"/[\!\@\#
\$
\%\^\(\)\~\?\>\<\&\/
\\
\,
\"
\']/"
,
$
pconfig
[
$reqdfields
[
$i
]]))
{
$input_errors
[]
=
gettext
(
"The field 'Distinguished name Common Name' contains invalid characters."
);
$input_errors
[]
=
gettext
(
"The field 'Distinguished name Common Name' contains invalid characters."
);
}
}
}
elseif
((
$reqdfields
[
$i
]
!=
"descr"
)
&&
preg_match
(
"/[\!\@\#
\$
\%\^\(\)\~\?\>\<\&\/
\\
\,\.
\"
\']/"
,
$
_POST
[
$reqdfields
[
$i
]]))
{
}
elseif
((
$reqdfields
[
$i
]
!=
"descr"
)
&&
preg_match
(
"/[\!\@\#
\$
\%\^\(\)\~\?\>\<\&\/
\\
\,\.
\"
\']/"
,
$
pconfig
[
$reqdfields
[
$i
]]))
{
$input_errors
[]
=
sprintf
(
gettext
(
"The field '%s' contains invalid characters."
),
$reqdfieldsn
[
$i
]);
$input_errors
[]
=
sprintf
(
gettext
(
"The field '%s' contains invalid characters."
),
$reqdfieldsn
[
$i
]);
}
}
}
}
if
(
(
$pconfig
[
'method'
]
!=
"external"
)
&&
isset
(
$_POST
[
"keylen"
])
&&
!
in_array
(
$_POST
[
"keylen"
],
$cert_keylens
))
{
if
(
$pconfig
[
'certmethod'
]
!=
"external"
&&
isset
(
$pconfig
[
"keylen"
])
&&
!
in_array
(
$pconfig
[
"keylen"
],
$cert_keylens
))
{
$input_errors
[]
=
gettext
(
"Please select a valid Key Length."
);
$input_errors
[]
=
gettext
(
"Please select a valid Key Length."
);
}
}
if
(
(
$pconfig
[
'method'
]
!=
"external"
)
&&
!
in_array
(
$_POST
[
"digest_alg"
],
$openssl_digest_algs
))
{
if
(
$pconfig
[
'certmethod'
]
!=
"external"
&&
!
in_array
(
$pconfig
[
"digest_alg"
],
$openssl_digest_algs
))
{
$input_errors
[]
=
gettext
(
"Please select a valid Digest Algorithm."
);
$input_errors
[]
=
gettext
(
"Please select a valid Digest Algorithm."
);
}
}
if
(
(
$pconfig
[
'method'
]
==
"external"
)
&&
isset
(
$_POST
[
"csr_keylen"
])
&&
!
in_array
(
$_POST
[
"csr_keylen"
],
$cert_keylens
))
{
if
(
$pconfig
[
'certmethod'
]
==
"external"
&&
isset
(
$pconfig
[
"csr_keylen"
])
&&
!
in_array
(
$pconfig
[
"csr_keylen"
],
$cert_keylens
))
{
$input_errors
[]
=
gettext
(
"Please select a valid Key Length."
);
$input_errors
[]
=
gettext
(
"Please select a valid Key Length."
);
}
}
if
(
(
$pconfig
[
'method'
]
==
"external"
)
&&
!
in_array
(
$_POST
[
"csr_digest_alg"
],
$openssl_digest_algs
))
{
if
(
$pconfig
[
'certmethod'
]
==
"external"
&&
!
in_array
(
$pconfig
[
"csr_digest_alg"
],
$openssl_digest_algs
))
{
$input_errors
[]
=
gettext
(
"Please select a valid Digest Algorithm."
);
$input_errors
[]
=
gettext
(
"Please select a valid Digest Algorithm."
);
}
}
}
}
/* save modifications */
/* save modifications */
if
(
!
$input_errors
)
{
if
(
count
(
$input_errors
)
==
0
)
{
if
(
$pconfig
[
'method'
]
==
"existing"
)
{
if
(
$pconfig
[
'
cert
method'
]
==
"existing"
)
{
$cert
=
lookup_cert
(
$pconfig
[
'certref'
]);
$cert
=
lookup_cert
(
$pconfig
[
'certref'
]);
if
(
$cert
&&
$a_user
)
{
if
(
$cert
&&
!
empty
(
$userid
)
)
{
$a_user
[
$userid
][
'cert'
][]
=
$cert
[
'refid'
];
$a_user
[
$userid
][
'cert'
][]
=
$cert
[
'refid'
];
}
}
}
else
{
}
else
{
...
@@ -401,11 +410,11 @@ if ($_POST) {
...
@@ -401,11 +410,11 @@ if ($_POST) {
$old_err_level
=
error_reporting
(
0
);
/* otherwise openssl_ functions throw warings directly to a page screwing menu tab */
$old_err_level
=
error_reporting
(
0
);
/* otherwise openssl_ functions throw warings directly to a page screwing menu tab */
if
(
$pconfig
[
'method'
]
==
"import"
)
{
if
(
$pconfig
[
'
cert
method'
]
==
"import"
)
{
cert_import
(
$cert
,
$pconfig
[
'cert'
],
$pconfig
[
'key'
]);
cert_import
(
$cert
,
$pconfig
[
'cert'
],
$pconfig
[
'key'
]);
}
}
if
(
$pconfig
[
'method'
]
==
"internal"
)
{
if
(
$pconfig
[
'
cert
method'
]
==
"internal"
)
{
$dn
=
array
(
$dn
=
array
(
'countryName'
=>
$pconfig
[
'dn_country'
],
'countryName'
=>
$pconfig
[
'dn_country'
],
'stateOrProvinceName'
=>
$pconfig
[
'dn_state'
],
'stateOrProvinceName'
=>
$pconfig
[
'dn_state'
],
...
@@ -420,6 +429,7 @@ if ($_POST) {
...
@@ -420,6 +429,7 @@ if ($_POST) {
}
}
$dn
[
'subjectAltName'
]
=
implode
(
","
,
$altnames_tmp
);
$dn
[
'subjectAltName'
]
=
implode
(
","
,
$altnames_tmp
);
}
}
if
(
!
cert_create
(
if
(
!
cert_create
(
$cert
,
$cert
,
$pconfig
[
'caref'
],
$pconfig
[
'caref'
],
...
@@ -435,7 +445,7 @@ if ($_POST) {
...
@@ -435,7 +445,7 @@ if ($_POST) {
}
}
}
}
if
(
$pconfig
[
'method'
]
==
"external"
)
{
if
(
$pconfig
[
'
cert
method'
]
==
"external"
)
{
$dn
=
array
(
$dn
=
array
(
'countryName'
=>
$pconfig
[
'csr_dn_country'
],
'countryName'
=>
$pconfig
[
'csr_dn_country'
],
'stateOrProvinceName'
=>
$pconfig
[
'csr_dn_state'
],
'stateOrProvinceName'
=>
$pconfig
[
'csr_dn_state'
],
...
@@ -459,7 +469,7 @@ if ($_POST) {
...
@@ -459,7 +469,7 @@ if ($_POST) {
}
}
error_reporting
(
$old_err_level
);
error_reporting
(
$old_err_level
);
if
(
isset
(
$id
)
&&
$a_cert
[
$id
]
)
{
if
(
isset
(
$id
))
{
$a_cert
[
$id
]
=
$cert
;
$a_cert
[
$id
]
=
$cert
;
}
else
{
}
else
{
$a_cert
[]
=
$cert
;
$a_cert
[]
=
$cert
;
...
@@ -468,614 +478,566 @@ if ($_POST) {
...
@@ -468,614 +478,566 @@ if ($_POST) {
$a_user
[
$userid
][
'cert'
][]
=
$cert
[
'refid'
];
$a_user
[
$userid
][
'cert'
][]
=
$cert
[
'refid'
];
}
}
}
}
if
(
count
(
$input_errors
)
==
0
)
{
if
(
!
$input_errors
)
{
write_config
();
write_config
();
}
if
(
isset
(
$userid
))
{
if
(
isset
(
$userid
))
{
header
(
"Location: system_usermanager.php?act=edit&userid="
.
$userid
);
header
(
"Location: system_usermanager.php?act=edit&userid="
.
$userid
);
exit
;
}
else
{
}
header
(
"Location: system_certmanager.php"
);
}
}
}
exit
;
if
(
$_POST
[
'save'
]
==
gettext
(
"Update"
))
{
unset
(
$input_errors
);
$pconfig
=
$_POST
;
/* input validation */
$reqdfields
=
explode
(
" "
,
"descr cert"
);
$reqdfieldsn
=
array
(
gettext
(
"Descriptive name"
),
gettext
(
"Final Certificate data"
));
do_input_validation
(
$_POST
,
$reqdfields
,
$reqdfieldsn
,
$input_errors
);
// old way
/* make sure this csr and certificate subjects match */
// $subj_csr = csr_get_subject($pconfig['csr'], false);
// $subj_cert = cert_get_subject($pconfig['cert'], false);
//
// if ( !isset($_POST['ignoresubjectmismatch']) && !($_POST['ignoresubjectmismatch'] == "yes") ) {
// if (strcmp($subj_csr,$subj_cert)) {
// $input_errors[] = sprintf(gettext("The certificate subject '%s' does not match the signing request subject."),$subj_cert);
// $subject_mismatch = true;
// }
// }
$mod_csr
=
csr_get_modulus
(
$pconfig
[
'csr'
],
false
);
$mod_cert
=
cert_get_modulus
(
$pconfig
[
'cert'
],
false
);
if
(
strcmp
(
$mod_csr
,
$mod_cert
))
{
// simply: if the moduli don't match, then the private key and public key won't match
$input_errors
[]
=
gettext
(
"The certificate modulus does not match the signing request modulus."
);
$subject_mismatch
=
true
;
}
}
/* save modifications */
if
(
!
$input_errors
)
{
$cert
=
$a_cert
[
$id
];
$cert
[
'descr'
]
=
$pconfig
[
'descr'
];
csr_complete
(
$cert
,
$pconfig
[
'cert'
]);
$a_cert
[
$id
]
=
$cert
;
write_config
();
header
(
"Location: system_certmanager.php"
);
}
}
}
}
}
}
include
(
"head.inc"
);
include
(
"head.inc"
);
$main_buttons
=
array
(
if
(
empty
(
$act
))
{
$main_buttons
=
array
(
array
(
'label'
=>
gettext
(
"add or import certificate"
),
'href'
=>
'system_certmanager.php?act=new'
),
array
(
'label'
=>
gettext
(
"add or import certificate"
),
'href'
=>
'system_certmanager.php?act=new'
),
);
);
}
?>
?>
<body>
<body>
<?php
include
(
"fbegin.inc"
);
?>
<script
type=
"text/javascript"
>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
()
{
//
<!
[
CDATA
[
// delete entry
$
(
"
.act_delete
"
).
click
(
function
(
event
){
function
method_change
()
{
event
.
preventDefault
();
var
id
=
$
(
this
).
data
(
'
id
'
);
<?php
BootstrapDialog
.
show
({
if
(
$internal_ca_count
)
{
type
:
BootstrapDialog
.
TYPE_INFO
,
$submit_style
=
""
;
title
:
"
<?=
gettext
(
"Certificates"
);
?>
"
,
}
else
{
message
:
"
<?=
gettext
(
"Do you really want to delete this Certificate?"
);
?>
"
,
$submit_style
=
"none"
;
buttons
:
[{
}
label
:
"
<?=
gettext
(
"No"
);
?>
"
,
?>
action
:
function
(
dialogRef
)
{
dialogRef
.
close
();
method
=
document
.
iform
.
method
.
selectedIndex
;
}},
{
label
:
"
<?=
gettext
(
"Yes"
);
?>
"
,
action
:
function
(
dialogRef
)
{
$
(
"
#id
"
).
val
(
id
);
$
(
"
#action
"
).
val
(
"
del
"
);
$
(
"
#iform
"
).
submit
()
}
}]
});
});
/**
* remove row from altNametable
*/
function
removeRowAltNm
()
{
if
(
$
(
'
#altNametable > tbody > tr
'
).
length
==
1
)
{
$
(
'
#altNametable > tbody > tr:last > td > input
'
).
each
(
function
(){
$
(
this
).
val
(
""
);
});
}
else
{
$
(
this
).
parent
().
parent
().
remove
();
}
}
// javascript only for edit forms
if
(
$
(
'
#certmethod
'
).
length
)
{
// no ca's found, display message
if
(
$
(
"
#caref option
"
).
size
()
==
0
)
{
$
(
"
#no_caref
"
).
removeClass
(
"
hidden
"
);
$
(
"
#caref
"
).
addClass
(
"
hidden
"
);
}
// add new detail record
$
(
"
#addNewAltNm
"
).
click
(
function
(){
// copy last row and reset values
$
(
'
#altNametable > tbody
'
).
append
(
'
<tr>
'
+
$
(
'
#altNametable > tbody > tr:last
'
).
html
()
+
'
</tr>
'
);
$
(
'
#altNametable > tbody > tr:last > td > input
'
).
each
(
function
(){
$
(
this
).
val
(
""
);
});
$
(
"
.act-removerow-altnm
"
).
click
(
removeRowAltNm
);
});
$
(
"
.act-removerow-altnm
"
).
click
(
removeRowAltNm
);
$
(
"
#certmethod
"
).
change
(
function
(){
$
(
"
#import
"
).
addClass
(
"
hidden
"
);
$
(
"
#internal
"
).
addClass
(
"
hidden
"
);
$
(
"
#external
"
).
addClass
(
"
hidden
"
);
$
(
"
#existing
"
).
addClass
(
"
hidden
"
);
if
(
$
(
this
).
val
()
==
"
import
"
)
{
$
(
"
#import
"
).
removeClass
(
"
hidden
"
);
}
else
if
(
$
(
this
).
val
()
==
"
internal
"
)
{
$
(
"
#internal
"
).
removeClass
(
"
hidden
"
);
}
else
if
(
$
(
this
).
val
()
==
"
external
"
)
{
$
(
"
#external
"
).
removeClass
(
"
hidden
"
);
}
else
{
$
(
"
#existing
"
).
removeClass
(
"
hidden
"
);
}
});
switch
(
method
)
{
$
(
"
#certmethod
"
).
change
();
case
0
:
document
.
getElementById
(
"
import
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
internal
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
external
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
existing
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
descriptivename
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
submit
"
).
style
.
display
=
""
;
break
;
case
1
:
document
.
getElementById
(
"
import
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
internal
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
external
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
existing
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
descriptivename
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
submit
"
).
style
.
display
=
"
<?=
$submit_style
;
?>
"
;
break
;
case
2
:
document
.
getElementById
(
"
import
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
internal
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
external
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
existing
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
descriptivename
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
submit
"
).
style
.
display
=
""
;
break
;
case
3
:
document
.
getElementById
(
"
import
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
internal
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
external
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
existing
"
).
style
.
display
=
""
;
document
.
getElementById
(
"
descriptivename
"
).
style
.
display
=
"
none
"
;
document
.
getElementById
(
"
submit
"
).
style
.
display
=
""
;
break
;
}
}
}
});
</script>
<?php
if
(
$internal_ca_count
)
:
<?php
include
(
"fbegin.inc"
);
?>
?>
<script
type=
"text/javascript"
>
function
internalca_change
()
{
$
(
document
).
ready
(
function
()
{
//
<!
[
CDATA
[
function
internalca_change
()
{
index
=
document
.
iform
.
caref
.
selectedIndex
;
index
=
document
.
iform
.
caref
.
selectedIndex
;
caref
=
document
.
iform
.
caref
[
index
].
value
;
caref
=
document
.
iform
.
caref
[
index
].
value
;
switch
(
caref
)
{
switch
(
caref
)
{
<?php
<?php
foreach
(
$a_ca
as
$ca
)
:
foreach
(
$a_ca
as
$ca
)
:
if
(
!
$ca
[
'prv'
])
{
if
(
!
$ca
[
'prv'
])
{
continue
;
continue
;
}
}
$subject
=
cert_get_subject_array
(
$ca
[
'crt'
]);
$subject
=
cert_get_subject_array
(
$ca
[
'crt'
]);
?>
?>
case
"
<?=
$ca
[
'refid'
];
?>
"
:
case
"
<?=
$ca
[
'refid'
];
?>
"
:
document
.
iform
.
dn_country
.
value
=
"
<?=
$subject
[
0
][
'v'
];
?>
"
;
$
(
"
#dn_state
"
).
val
(
"
<?=
$subject
[
1
][
'v'
];
?>
"
);
document
.
iform
.
dn_state
.
value
=
"
<?=
$subject
[
1
][
'v'
];
?>
"
;
$
(
"
#dn_city
"
).
val
(
"
<?=
$subject
[
2
][
'v'
];
?>
"
);
document
.
iform
.
dn_city
.
value
=
"
<?=
$subject
[
2
][
'v'
];
?>
"
;
$
(
"
#dn_organization
"
).
val
(
"
<?=
$subject
[
3
][
'v'
];
?>
"
);
document
.
iform
.
dn_organization
.
value
=
"
<?=
$subject
[
3
][
'v'
];
?>
"
;
$
(
"
#dn_email
"
).
val
(
"
<?=
$subject
[
4
][
'v'
];
?>
"
);
document
.
iform
.
dn_email
.
value
=
"
<?=
$subject
[
4
][
'v'
];
?>
"
;
$
(
'
#dn_country option
'
).
removeAttr
(
'
selected
'
);
$
(
'
#dn_country option
'
).
filter
(
'
[value="
<?=
$subject
[
0
][
'v'
];
?>
"]
'
).
prop
(
'
selected
'
,
true
);
$
(
"
#dn_country
"
).
selectpicker
(
'
refresh
'
);
break
;
break
;
<?php
<?php
endforeach
;
?>
endforeach
;
?>
}
}
}
}
<?php
endif
;
?>
//]]>
// only trigger change event when in edit mode.
</script>
if
(
$
(
'
#certmethod
'
).
length
)
{
<script
type=
"text/javascript"
src=
"/javascript/row_helper_dynamic.js"
></script>
$
(
"
#caref
"
).
change
(
internalca_change
);
<input
type=
'hidden'
name=
'altname_value_type'
value=
'select'
/>
$
(
"
#caref
"
).
change
();
<input
type=
'hidden'
name=
'altname_type_type'
value=
'textbox'
/>
}
<script
type=
"text/javascript"
>
});
//
<!
[
CDATA
[
rowname
[
0
]
=
"
altname_type
"
;
rowtype
[
0
]
=
"
textbox
"
;
rowsize
[
0
]
=
"
10
"
;
rowname
[
1
]
=
"
altname_value
"
;
rowtype
[
1
]
=
"
textbox
"
;
rowsize
[
1
]
=
"
30
"
;
//]]>
//]]>
</script>
</script>
<!-- row -->
<!-- row -->
<section
class=
"page-content-main"
>
<section
class=
"page-content-main"
>
<div
class=
"container-fluid"
>
<div
class=
"container-fluid"
>
<div
class=
"row"
>
<div
class=
"row"
>
<?php
<?php
if
(
isset
(
$input_errors
)
&&
count
(
$input_errors
)
>
0
)
{
if
(
isset
(
$input_errors
)
&&
count
(
$input_errors
)
>
0
)
{
print_input_errors
(
$input_errors
);
print_input_errors
(
$input_errors
);
}
}
if
(
isset
(
$savemsg
))
{
if
(
isset
(
$savemsg
))
{
print_info_box
(
$savemsg
);
print_info_box
(
$savemsg
);
}
}
?>
?>
<section
class=
"col-xs-12"
>
<section
class=
"col-xs-12"
>
<div
class=
"content-box tab-content table-responsive"
>
<div
class=
"content-box tab-content table-responsive"
>
<?php
if
(
$act
==
"new"
||
((
isset
(
$_POST
[
'save'
])
&&
$_POST
[
'save'
]
==
gettext
(
"Save"
))
&&
$input_errors
))
:
<?php
?>
if
(
$act
==
"new"
)
:?>
<
form
action
=
"system_certmanager.php"
method
=
"post"
name
=
"iform"
id
=
"iform"
>
<
form
action
=
"system_certmanager.php"
method
=
"post"
name
=
"iform"
id
=
"iform"
>
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
summary=
"main area"
class=
"table table-striped"
>
<
input
type
=
"hidden"
name
=
"act"
value
=
"<?=
$act
;?>"
/>
<?php
if
(
!
isset
(
$id
))
:
<?
php
?>
if
(
isset
(
$userid
))
:?>
<
input
name
=
"userid"
type
=
"hidden"
value
=
"<?=htmlspecialchars(
$userid
);?>"
/>
<?
php
endif
;
?>
<?php
if
(
isset
(
$id
))
:?>
<
input
name
=
"id"
type
=
"hidden"
value
=
"<?=
$id
;?>"
/>
<?
php
endif
;
?>
<table
class=
"table table-striped"
>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Method"
);
?>
</td>
<td
width=
"22%"
></td>
<td
width=
"78%"
class=
"vtable"
>
<td
width=
"78%"
align=
"right"
>
<select
name=
'method'
id=
'method'
class=
"formselect"
onchange=
'method_change()'
>
<small>
<?=
gettext
(
"full help"
);
?>
</small>
<?php
<i
class=
"fa fa-toggle-off text-danger"
style=
"cursor: pointer;"
id=
"show_all_help_page"
type=
"button"
></i></a>
foreach
(
$cert_methods
as
$method
=>
$desc
)
:
</td>
$selected
=
""
;
</tr>
if
(
$pconfig
[
'method'
]
==
$method
)
{
<tr>
$selected
=
" selected=
\"
selected
\"
"
;
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Method"
);
?>
</td>
}
<td>
?>
<select
name=
"certmethod"
id=
"certmethod"
>
<option
value=
"
<?=
$method
;
<?php
?>
"
<?=
$selected
;
foreach
(
$cert_methods
as
$method
=>
$desc
)
:?>
?>
>
<?=
$desc
;
?>
</option>
<
option
value
=
"<?=
$method
;?>"
<?=
$pconfig
[
'certmethod'
]
==
$method
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?php
<?=
$desc
;
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
</td>
</td>
</tr>
</tr>
<?php
<tr>
endif
;
?>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Descriptive name"
);
?>
</td>
<tr
id=
"descriptivename"
>
<td>
<?php
<input
name=
"descr"
type=
"text"
id=
"descr"
size=
"20"
value=
"
<?=
$pconfig
[
'descr'
];
?>
"
/>
if
(
isset
(
$a_user
)
&&
empty
(
$pconfig
[
'descr'
]))
{
$pconfig
[
'descr'
]
=
$a_user
[
$userid
][
'name'
];
}
?>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Descriptive name"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<input
name=
"descr"
type=
"text"
class=
"formfld unknown"
id=
"descr"
size=
"20"
value=
"
<?php
if
(
isset
(
$pconfig
[
'descr'
]))
echo
htmlspecialchars
(
$pconfig
[
'descr'
]);
?>
"
/>
</td>
</td>
</tr>
</tr>
</table>
</table>
<!-- existing cert -->
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
id=
"import"
summary
=
"import"
class=
"table table-striped"
>
<table
id
=
"import"
class=
"table table-striped"
>
<thead>
<thead>
<tr>
<tr>
<th
colspan=
"2"
valign=
"top"
class=
"listtopic
"
>
<?=
gettext
(
"Import Certificate"
);
?>
</th>
<th
colspan=
"2
"
>
<?=
gettext
(
"Import Certificate"
);
?>
</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Certificate data"
);
?>
</td>
<td
width=
"22%"
><a
id=
"help_for_cert"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Certificate data"
);
?>
</td>
<td
width=
"78%"
class=
"vtable
"
>
<td
width=
"78%
"
>
<textarea
name=
"cert"
id=
"cert"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
>
<?php
if
(
isset
(
$pconfig
[
'cert'
]))
echo
htmlspecialchars
(
$pconfig
[
'cert'
])
;
?>
</textarea>
<textarea
name=
"cert"
id=
"cert"
cols=
"65"
rows=
"7"
>
<?=
$pconfig
[
'cert'
]
;
?>
</textarea>
<br
/
>
<div
class=
"hidden"
for=
"help_for_cert"
>
<?=
gettext
(
"Paste a certificate in X.509 PEM format here."
);
?>
<?=
gettext
(
"Paste a certificate in X.509 PEM format here."
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Private key data"
);
?>
</td>
<td><a
id=
"help_for_key"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Private key data"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
>
<textarea
name=
"key"
id=
"key"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
>
<?php
if
(
isset
(
$pconfig
[
'key'
]))
echo
htmlspecialchars
(
$pconfig
[
'key'
])
;
?>
</textarea>
<textarea
name=
"key"
id=
"key"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
>
<?=
$pconfig
[
'key'
]
;
?>
</textarea>
<br
/
>
<div
class=
"hidden"
for=
"help_for_key"
>
<?=
gettext
(
"Paste a private key in X.509 PEM format here."
);
?>
<?=
gettext
(
"Paste a private key in X.509 PEM format here."
);
?>
</div>
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
<!-- internal cert -->
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
id=
"internal"
summary
=
"internal"
class=
"table table-striped"
>
<table
id
=
"internal"
class=
"table table-striped"
>
<thead>
<thead>
<tr>
<tr>
<th
colspan=
"2"
valign=
"top"
class=
"listtopic
"
>
<?=
gettext
(
"Internal Certificate"
);
?>
</th>
<th
colspan=
"2
"
>
<?=
gettext
(
"Internal Certificate"
);
?>
</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<?php
if
(
!
$internal_ca_count
)
:
?>
<tr>
<tr>
<td
colspan=
"2"
align=
"center"
class=
"vtable"
>
<td
width=
"22%"
>
<?=
gettext
(
"Certificate authority"
);
?>
</td>
<?=
gettext
(
"No internal Certificate Authorities have been defined. You must"
);
?>
<td
width=
"78%"
>
<a
href=
"system_camanager.php?act=new&method=internal"
>
<?=
gettext
(
"create"
);
?>
</a>
<select
name=
'caref'
id=
'caref'
>
<?=
gettext
(
"an internal CA before creating an internal certificate."
);
?>
<?php
</td>
</tr>
<?php
else
:
?>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Certificate authority"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<select
name=
'caref'
id=
'caref'
class=
"formselect"
onchange=
'internalca_change()'
>
<?php
foreach
(
$a_ca
as
$ca
)
:
foreach
(
$a_ca
as
$ca
)
:
if
(
!
$ca
[
'prv'
])
{
if
(
!
$ca
[
'prv'
])
{
continue
;
continue
;
}
}
?>
$selected
=
""
;
<option
value=
"
<?=
$ca
[
'refid'
];
?>
"
<?=
isset
(
$pconfig
[
'caref'
])
&&
isset
(
$ca
[
'refid'
])
&&
$pconfig
[
'caref'
]
==
$ca
[
'refid'
]
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
$ca
[
'descr'
];
?>
</option>
if
(
isset
(
$pconfig
[
'caref'
])
&&
isset
(
$ca
[
'refid'
])
&&
$pconfig
[
'caref'
]
==
$ca
[
'refid'
])
{
<?php
$selected
=
" selected=
\"
selected
\"
"
;
}
?>
<option
value=
"
<?=
$ca
[
'refid'
];
?>
"
<?=
$selected
;
?>
>
<?=
$ca
[
'descr'
];
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
<div
class=
"hidden"
id=
"no_caref"
>
<?=
gettext
(
"No internal Certificate Authorities have been defined. You must"
);
?>
<a
href=
"system_camanager.php?act=new&method=internal"
>
<?=
gettext
(
"create"
);
?>
</a>
<?=
gettext
(
"an internal CA before creating an internal certificate."
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Key length"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Key length"
);
?>
(
<?=
gettext
(
"bits"
);
?>
)
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
>
<select
name=
'keylen'
class=
"formselect"
>
<select
name=
'keylen'
class=
"formselect"
>
<?php
<?php
foreach
(
$cert_keylens
as
$len
)
:
foreach
(
$cert_keylens
as
$len
)
:?>
$selected
=
""
;
<
option
value
=
"<?=
$len
;?>"
<?=
$pconfig
[
'keylen'
]
==
$len
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
$len
;
?>
</option>
if
(
$pconfig
[
'keylen'
]
==
$len
)
{
<?php
$selected
=
" selected=
\"
selected
\"
"
;
}
?>
<option
value=
"
<?=
$len
;
?>
"
<?=
$selected
;
?>
>
<?=
$len
;
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
<?=
gettext
(
"bits"
);
?>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Digest Algorithm"
);
?>
</td>
<td><a
id=
"help_for_digest_alg"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Digest Algorithm"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
>
<select
name=
'digest_alg'
id=
'digest_alg'
class=
"formselect"
>
<select
name=
'digest_alg'
id=
'digest_alg'
class=
"formselect"
>
<?php
<?php
foreach
(
$openssl_digest_algs
as
$digest_alg
)
:
foreach
(
$openssl_digest_algs
as
$digest_alg
)
:?>
$selected
=
""
;
<
option
value
=
"<?=
$digest_alg
;?>"
<?=
$pconfig
[
'digest_alg'
]
==
$digest_alg
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
if
(
$pconfig
[
'digest_alg'
]
==
$digest_alg
)
{
<?=
strtoupper
(
$digest_alg
);
?>
$selected
=
" selected=
\"
selected
\"
"
;
</option>
}
<?php
?>
<option
value=
"
<?=
$digest_alg
;
?>
"
<?=
$selected
;
?>
>
<?=
strtoupper
(
$digest_alg
);
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
<br
/>
<?=
gettext
(
"NOTE: It is recommended to use an algorithm stronger than SHA1 when possible."
)
?>
<div
class=
"hidden"
for=
"help_for_digest_alg"
>
<?=
gettext
(
"NOTE: It is recommended to use an algorithm stronger than SHA1 when possible."
)
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Lifetime"
);
?>
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Lifetime"
);
?>
(
<?=
gettext
(
"days"
);
?>
)
</td>
<td
width=
"78%"
class=
"vtable"
>
<td>
<input
name=
"lifetime"
type=
"text"
class=
"formfld unknown"
id=
"lifetime"
size=
"5"
value=
"
<?=
htmlspecialchars
(
$pconfig
[
'lifetime'
]);
?>
"
/>
<input
name=
"lifetime"
type=
"text"
id=
"lifetime"
size=
"5"
value=
"
<?=
$pconfig
[
'lifetime'
];
?>
"
/>
<?=
gettext
(
"days"
);
?>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Distinguished name"
);
?>
</td>
<th
colspan=
"2"
>
<?=
gettext
(
"Distinguished name"
);
?>
</th>
<td
width=
"78%"
class=
"vtable"
>
</tr>
<table
border=
"0"
cellspacing=
"0"
cellpadding=
"2"
summary=
"name"
>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Country Code"
);
?>
:
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Country Code"
);
?>
:
</td>
<td
align=
"left"
>
<td>
<input
name=
"dn_country"
type=
"text"
class=
"formfld unknown"
maxlength=
"2"
size=
"2"
value=
"
<?php
if
(
isset
(
$pconfig
[
'dn_country'
]))
echo
htmlspecialchars
(
$pconfig
[
'dn_country'
]);
?>
"
/>
<select
name=
"dn_country"
id=
"dn_country"
class=
"selectpicker"
>
<?php
foreach
(
get_country_codes
()
as
$cc
=>
$cn
)
:?>
<
option
value
=
"<?=
$cc
;?>"
<?=
$pconfig
[
'dn_country'
]
==
$cc
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
$cc
;
?>
(
<?=
$cn
;
?>
)
</option>
<?php
endforeach
;
?>
</select>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"State or Province"
);
?>
:
</td>
<td><a
id=
"help_for_digest_dn_state"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"State or Province"
);
?>
:
</td>
<td
align=
"left"
>
<td>
<input
name=
"dn_state"
type=
"text"
class=
"formfld unknown"
size=
"40"
value=
"
<?php
if
(
isset
(
$pconfig
[
'dn_state'
]))
echo
htmlspecialchars
(
$pconfig
[
'dn_state'
]);
?>
"
/>
<input
name=
"dn_state"
id=
"dn_state"
type=
"text"
size=
"40"
value=
"
<?=
$pconfig
[
'dn_state'
];
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_dn_state"
>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"Sachsen"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"City"
);
?>
:
</td>
<td><a
id=
"help_for_digest_dn_city"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"City"
);
?>
:
</td>
<td
align=
"left"
>
<td>
<input
name=
"dn_city"
type=
"text"
class=
"formfld unknown"
size=
"40"
value=
"
<?php
if
(
isset
(
$pconfig
[
'dn_city'
]))
echo
htmlspecialchars
(
$pconfig
[
'dn_city'
]);
?>
"
/>
<input
name=
"dn_city"
id=
"dn_city"
type=
"text"
size=
"40"
value=
"
<?=
$pconfig
[
'dn_city'
];
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_dn_city"
>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"Leipzig"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Organization"
);
?>
:
</td>
<td><a
id=
"help_for_digest_dn_organization"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Organization"
);
?>
:
</td>
<td
align=
"left"
>
<td>
<input
name=
"dn_organization"
type=
"text"
class=
"formfld unknown"
size=
"40"
value=
"
<?php
if
(
isset
(
$pconfig
[
'dn_organization'
]))
echo
htmlspecialchars
(
$pconfig
[
'dn_organization'
]);
?>
"
/>
<input
name=
"dn_organization"
id=
"dn_organization"
type=
"text"
size=
"40"
value=
"
<?=
$pconfig
[
'dn_organization'
];
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_dn_organization"
>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"My Company Inc"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Email Address"
);
?>
:
</td>
<td><a
id=
"help_for_digest_dn_email"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Email Address"
);
?>
:
</td>
<td
align=
"left"
>
<td
>
<input
name=
"dn_email"
type=
"text"
class=
"formfld unknown"
size=
"25"
value=
"
<?php
if
(
isset
(
$pconfig
[
'dn_email'
]))
echo
htmlspecialchars
(
$pconfig
[
'dn_email'
])
;
?>
"
/>
<input
name=
"dn_email"
id=
"dn_email"
type=
"text"
size=
"25"
value=
"
<?=
$pconfig
[
'dn_email'
]
;
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_dn_email"
>
<em>
ex:
</em>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"webadmin@mycompany.com"
);
?>
<?=
gettext
(
"admin@mycompany.com"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Common Name"
);
?>
:
</td>
<td><a
id=
"help_for_digest_dn_commonname"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Common Name"
);
?>
:
</td>
<td
align=
"left"
>
<td>
<?php
<input
name=
"dn_commonname"
id=
"dn_commonname"
type=
"text"
size=
"25"
value=
"
<?=
$pconfig
[
'dn_commonname'
];
?>
"
/>
if
(
isset
(
$a_user
)
&&
empty
(
$pconfig
[
'dn_commonname'
]))
{
<div
class=
"hidden"
for=
"help_for_digest_dn_commonname"
>
$pconfig
[
'dn_commonname'
]
=
$a_user
[
$userid
][
'name'
];
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
}
?>
<input
name=
"dn_commonname"
type=
"text"
class=
"formfld unknown"
size=
"25"
value=
"
<?php
if
(
isset
(
$pconfig
[
'dn_commonname'
]))
htmlspecialchars
(
$pconfig
[
'dn_commonname'
]);
?>
"
/>
<em>
ex:
</em>
<?=
gettext
(
"www.example.com"
);
?>
<?=
gettext
(
"internal-ca"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Alternative Names"
);
?>
:
</td>
<td>
<?=
gettext
(
"Alternative Names"
);
?>
</td>
<td
align=
"left"
>
<td
>
<table
id=
"altNametable"
>
<table
class=
"table table-condensed"
id=
"altNametable"
>
<thead>
<thead>
<tr>
<tr>
<th><div
id=
"onecolumn"
>
<?=
gettext
(
"Type"
);
?>
</div></th>
<th>
<?=
gettext
(
"Type"
);
?>
</th>
<th><div
id=
"twocolumn"
>
<?=
gettext
(
"Value"
);
?>
</div></th>
<th>
<?=
gettext
(
"Value"
);
?>
</th>
<th></th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<?php
<?php
$counter
=
0
;
if
(
!
isset
(
$pconfig
[
'altname_value'
])
||
count
(
$pconfig
[
'altname_value'
])
==
0
)
:?>
if
(
isset
(
$pconfig
[
'altnames'
][
'item'
]))
:
foreach
(
$pconfig
[
'altnames'
][
'item'
]
as
$item
)
:
$type
=
$item
[
'type'
];
$value
=
$item
[
'value'
];
?>
<
tr
>
<
tr
>
<
td
>
<
td
>
<input
autocomplete=
"off"
name=
"altname_type
<?php
echo
$counter
;
?>
"
type=
"text"
class=
"formfld unknown"
id=
"altname_type
<?php
echo
$counter
;
<
select
name
=
"altname_type[]"
id
=
"altname_type"
>
?>
"
size=
"20"
value=
"
<?=
htmlspecialchars
(
$type
);
?>
"
/>
<
option
value
=
"DNS"
><?=
gettext
(
"DNS"
);
?>
</option>
<option
value=
"IP"
>
<?=
gettext
(
"IP"
);
?>
</option>
<option
value=
"email"
>
<?=
gettext
(
"email"
);
?>
</option>
<option
value=
"URI"
>
<?=
gettext
(
"URI"
);
?>
</option>
</select>
</td>
</td>
<td>
<td>
<input
autocomplete=
"off"
name=
"altname_value
<?php
echo
$counter
;
?>
"
type=
"text"
class=
"formfld unknown"
id=
"altname_value
<?php
echo
$counter
;
<input
name=
"altname_value[]"
type=
"text"
size=
"20"
value=
""
/>
?>
"
size=
"20"
value=
"
<?=
htmlspecialchars
(
$value
);
?>
"
/>
</td>
</td>
<td>
<td>
<a
onclick=
"removeRow(this); return false;"
href=
"#"
title=
"
<?=
gettext
(
"remove this entry"
);
?>
"
class=
"btn btn-default btn-xs"
><span
class=
"glyphicon glyphicon-remove"
></span></a
>
<div
style=
"cursor:pointer;"
class=
"act-removerow-altnm btn btn-default btn-xs"
alt=
"remove"
><span
class=
"glyphicon glyphicon-minus"
></span></div
>
</td>
</td>
</tr>
</tr>
<?php
<?php
$counter
++
;
else
:
foreach
(
$pconfig
[
'altname_value'
]
as
$itemid
=>
$item
)
:
$altname_type
=
isset
(
$pconfig
[
'altname_type'
][
$itemid
])
?
$pconfig
[
'altname_type'
][
$itemid
]
:
null
;
?>
<tr>
<td>
<select
name=
"altname_type[]"
id=
"altname_type"
>
<option
value=
"DNS"
<?=
$altname_type
==
"DNS"
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
gettext
(
"DNS"
);
?>
</option>
<option
value=
"IP"
<?=
$altname_type
==
"IP"
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
gettext
(
"IP"
);
?>
</option>
<option
value=
"email"
<?=
$altname_type
==
"email"
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
gettext
(
"email"
);
?>
</option>
<option
value=
"URI"
<?=
$altname_type
==
"URI"
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
gettext
(
"URI"
);
?>
</option>
</select>
</td>
<td>
<input
name=
"altname_value[]"
type=
"text"
size=
"20"
value=
"
<?=
$item
;
?>
"
/>
</td>
<td>
<div
style=
"cursor:pointer;"
class=
"act-removerow-altnm btn btn-default btn-xs"
alt=
"remove"
><span
class=
"glyphicon glyphicon-minus"
></span></div>
</td>
</tr>
<?php
endforeach
;
endforeach
;
endif
;
endif
;
?>
?>
<tr><td>
</td></tr>
</tbody>
</tbody>
</table>
<tfoot>
<a
onclick=
"javascript:addRowTo('altNametable', 'formfldalias'); return false;"
href=
"#"
title=
"
<?=
gettext
(
"add another entry"
);
?>
"
class=
"btn btn-default btn-xs"
><span
class=
"glyphicon glyphicon-plus"
></span></a>
<tr>
<script
type=
"text/javascript"
>
<td
colspan=
"2"
></td>
//
<!
[
CDATA
[
<td>
field_counter_js
=
3
;
<div
id=
"addNewAltNm"
style=
"cursor:pointer;"
class=
"btn btn-default btn-xs"
alt=
"add"
><span
class=
"glyphicon glyphicon-plus"
></span></div>
rows
=
1
;
totalrows
=
<?php
echo
$counter
;
?>
;
loaded
=
<?php
echo
$counter
;
?>
;
//]]>
</script>
<br
/>
<?=
gettext
(
'NOTE: Type must be one of DNS (FQDN or Hostname), IP (IP address), URI, or email.'
)
?>
</td>
</td>
</tr>
</tr>
</tfoot>
</table>
</table>
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
<?php
endif
;
?>
</table>
</table>
<!-- external cert -->
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
id=
"external"
summary
=
"external"
class=
"table table-striped"
>
<table
id
=
"external"
class=
"table table-striped"
>
<thead>
<thead>
<tr>
<tr>
<td
colspan=
"2"
valign=
"top"
class=
"listtopic
"
>
<?=
gettext
(
"External Signing Request"
);
?>
</td>
<td
colspan=
"2
"
>
<?=
gettext
(
"External Signing Request"
);
?>
</td>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Key length"
);
?>
</td>
<td
width=
"22%"
><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Key length"
);
?>
(
<?=
gettext
(
"bits"
);
?>
)
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
width=
"78%"
>
<select
name=
'csr_keylen'
class=
"formselect"
>
<select
name=
'csr_keylen'
class=
"selectpicker"
>
<?php
<?php
if
(
!
isset
(
$pconfig
[
'csr_keylen'
])
&&
isset
(
$pconfig
[
'csr_keylen'
]))
{
foreach
(
$cert_keylens
as
$len
)
:?>
$pconfig
[
'csr_keylen'
]
=
$pconfig
[
'csr_keylen'
];
<
option
value
=
"<?=
$len
;?>"
<?=
$pconfig
[
'csr_keylen'
]
==
$len
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
<?=
$len
;
?>
</option>
}
<?php
foreach
(
$cert_keylens
as
$len
)
:
$selected
=
""
;
if
(
$pconfig
[
'csr_keylen'
]
==
$len
)
{
$selected
=
" selected=
\"
selected
\"
"
;
}
?>
<option
value=
"
<?=
$len
;
?>
"
<?=
$selected
;
?>
>
<?=
$len
;
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
bits
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Digest Algorithm"
);
?>
</td>
<td><a
id=
"help_for_csr_digest_alg"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Digest Algorithm"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<td>
<select
name=
'csr_digest_alg'
id=
'csr_digest_alg'
class=
"formselect"
>
<select
name=
'csr_digest_alg'
class=
"formselect"
>
<?php
<?php
foreach
(
$openssl_digest_algs
as
$csr_digest_alg
)
:
foreach
(
$openssl_digest_algs
as
$csr_digest_alg
)
:?>
$selected
=
""
;
<
option
value
=
"<?=
$csr_digest_alg
;?>"
<?=
$pconfig
[
'csr_digest_alg'
]
==
$csr_digest_alg
?
$pconfig
[
'csr_digest_alg'
]
==
$csr_digest_alg
:
""
;
?>
>
if
(
$pconfig
[
'csr_digest_alg'
]
==
$csr_digest_alg
)
{
<?=
strtoupper
(
$csr_digest_alg
);
?>
$selected
=
" selected=
\"
selected
\"
"
;
</option>
}
<?php
?>
<option
value=
"
<?=
$csr_digest_alg
;
?>
"
<?=
$selected
;
?>
>
<?=
strtoupper
(
$csr_digest_alg
);
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
<br
/>
<?=
gettext
(
"NOTE: It is recommended to use an algorithm stronger than SHA1 when possible."
)
?>
<div
class=
"hidden"
for=
"help_for_csr_digest_alg"
>
<?=
gettext
(
"NOTE: It is recommended to use an algorithm stronger than SHA1 when possible."
)
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Distinguished name"
);
?>
</td>
<th
colspan=
"2"
>
<?=
gettext
(
"Distinguished name"
);
?>
</th>
<td
width=
"78%"
class=
"vtable"
>
</tr>
<table
border=
"0"
cellspacing=
"0"
cellpadding=
"2"
summary=
"name"
>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Country Code"
);
?>
:
</td>
<td><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Country Code"
);
?>
:
</td>
<td
align=
"left"
>
<td>
<select
name=
'csr_dn_country'
class=
"formselect"
>
<select
name=
"csr_dn_country"
id=
"csr_dn_country"
class=
"selectpicker"
>
<?php
<?php
$dn_cc
=
get_country_codes
();
foreach
(
get_country_codes
()
as
$cc
=>
$cn
)
:?>
foreach
(
$dn_cc
as
$cc
=>
$cn
)
{
<
option
value
=
"<?=
$cc
;?>"
<?=
$pconfig
[
'csr_dn_country'
]
==
$cc
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
$selected
=
''
;
<?=
$cc
;
?>
(
<?=
$cn
;
?>
)
if
(
isset
(
$pconfig
[
'csr_dn_country'
])
&&
$pconfig
[
'csr_dn_country'
]
==
$cc
)
{
</option>
$selected
=
' selected="selected"'
;
<?php
}
endforeach
;
?>
print
"<option value=
\"
$cc
\"
$selected
>
$cc
(
$cn
)</option>"
;
}
?>
</select>
</select>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"State or Province"
);
?>
:
</td>
<td><a
id=
"help_for_digest_csr_dn_state"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"State or Province"
);
?>
:
</td>
<td
align=
"left"
>
<td
>
<input
name=
"csr_dn_state"
type=
"text"
class=
"formfld unknown"
size=
"40"
value=
"
<?php
if
(
isset
(
$pconfig
[
'csr_dn_state'
]))
echo
htmlspecialchars
(
$pconfig
[
'csr_dn_state'
]);
?>
"
/>
<input
name=
"csr_dn_state"
type=
"text"
size=
"40"
value=
"
<?=
$pconfig
[
'csr_dn_state'
];
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_csr_dn_state"
>
<em>
ex:
</em>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"Sachsen"
);
?>
<?=
gettext
(
"Sachsen"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"City"
);
?>
:
</td>
<td><a
id=
"help_for_digest_csr_dn_city"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"City"
);
?>
:
</td>
<td
align=
"left"
>
<td
>
<input
name=
"csr_dn_city"
type=
"text"
class=
"formfld unknown"
size=
"40"
value=
"
<?php
if
(
isset
(
$pconfig
[
'csr_dn_city'
]))
echo
htmlspecialchars
(
$pconfig
[
'csr_dn_city'
]);
?>
"
/>
<input
name=
"csr_dn_city"
type=
"text"
size=
"40"
value=
"
<?=
$pconfig
[
'csr_dn_city'
];
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_csr_dn_city"
>
<em>
ex:
</em>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"Leipzig"
);
?>
<?=
gettext
(
"Leipzig"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Organization"
);
?>
:
</td>
<td><a
id=
"help_for_digest_csr_dn_organization"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Organization"
);
?>
:
</td>
<td
align=
"left"
>
<td
>
<input
name=
"csr_dn_organization"
type=
"text"
class=
"formfld unknown"
size=
"40"
value=
"
<?php
if
(
isset
(
$pconfig
[
'csr_dn_organization'
]))
echo
htmlspecialchars
(
$pconfig
[
'csr_dn_organization'
]);
?>
"
/>
<input
name=
"csr_dn_organization"
type=
"text"
size=
"40"
value=
"
<?=
$pconfig
[
'csr_dn_organization'
];
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_csr_dn_organization"
>
<em>
ex:
</em>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"My Company Inc."
);
?>
<?=
gettext
(
"My Company Inc"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Email Address"
);
?>
:
</td>
<td><a
id=
"help_for_digest_csr_dn_email"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Email Address"
);
?>
:
</td>
<td
align=
"left"
>
<td
>
<input
name=
"csr_dn_email"
type=
"text"
class=
"formfld unknown"
size=
"25"
value=
"
<?php
if
(
isset
(
$pconfig
[
'csr_dn_email'
]))
echo
htmlspecialchars
(
$pconfig
[
'csr_dn_email'
])
;
?>
"
/>
<input
name=
"csr_dn_email"
type=
"text"
size=
"25"
value=
"
<?=
$pconfig
[
'csr_dn_email'
]
;
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_csr_dn_email"
>
<em>
ex:
</em>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"webadmin@mycompany.com"
);
?>
<?=
gettext
(
"admin@mycompany.com"
);
?>
</div>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
align=
"right"
>
<?=
gettext
(
"Common Name"
);
?>
:
</td>
<td><a
id=
"help_for_digest_csr_dn_commonname"
href=
"#"
class=
"showhelp"
><i
class=
"fa fa-info-circle"
></i></a>
<?=
gettext
(
"Common Name"
);
?>
:
</td>
<td
align=
"left"
>
<td
>
<input
name=
"csr_dn_commonname"
type=
"text"
class=
"formfld unknown"
size=
"25"
value=
"
<?php
if
(
isset
(
$pconfig
[
'csr_dn_commonname'
]))
echo
htmlspecialchars
(
$pconfig
[
'csr_dn_commonname'
])
;
?>
"
/>
<input
name=
"csr_dn_commonname"
type=
"text"
size=
"25"
value=
"
<?=
$pconfig
[
'csr_dn_commonname'
]
;
?>
"
/>
<div
class=
"hidden"
for=
"help_for_digest_csr_dn_commonname"
>
<em>
ex:
</em>
<em>
<?=
gettext
(
"ex:"
);
?>
</em>
<?=
gettext
(
"www.example.com"
);
?>
<?=
gettext
(
"internal-ca"
);
?>
</td>
</div>
</tr>
</table>
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
<!-- choose existing cert -->
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
id=
"existing"
summary
=
"existing"
class=
"table table-striped"
>
<table
id
=
"existing"
class=
"table table-striped"
>
<thead>
<thead>
<tr>
<tr>
<th
colspan=
"2"
valign=
"top"
class=
"listtopic
"
>
<?=
gettext
(
"Choose an Existing Certificate"
);
?>
</th>
<th
colspan=
"2
"
>
<?=
gettext
(
"Choose an Existing Certificate"
);
?>
</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Existing Certificates"
);
?>
</td>
<td
width=
"22%"
><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Existing Certificates"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
width=
"78%"
>
<?php
if
(
isset
(
$userid
)
&&
$a_user
)
:
?>
<input
name=
"userid"
type=
"hidden"
value=
"
<?=
htmlspecialchars
(
$userid
);
?>
"
/>
<?php
endif
;
?>
<select
name=
'certref'
class=
"formselect"
>
<select
name=
'certref'
class=
"formselect"
>
<?php
<?php
foreach
(
$config
[
'cert'
]
as
$cert
)
:
foreach
(
$config
[
'cert'
]
as
$cert
)
:
$selected
=
""
;
$caname
=
""
;
$caname
=
""
;
$inuse
=
""
;
$revoked
=
""
;
$usercert
=
isset
(
$config
[
'system'
][
'user'
][
$userid
][
'cert'
])
?
$config
[
'system'
][
'user'
][
$userid
][
'cert'
]
:
array
();
$usercert
=
isset
(
$config
[
'system'
][
'user'
][
$userid
][
'cert'
])
?
$config
[
'system'
][
'user'
][
$userid
][
'cert'
]
:
array
();
if
(
isset
(
$userid
)
&&
in_array
(
$cert
[
'refid'
],
$usercert
))
{
if
(
isset
(
$userid
)
&&
in_array
(
$cert
[
'refid'
],
$usercert
))
{
continue
;
continue
;
...
@@ -1085,123 +1047,100 @@ endif;?>
...
@@ -1085,123 +1047,100 @@ endif;?>
if
(
$ca
)
{
if
(
$ca
)
{
$caname
=
" (CA:
{
$ca
[
'descr'
]
}
)"
;
$caname
=
" (CA:
{
$ca
[
'descr'
]
}
)"
;
}
}
}
else
{
}
?>
$ca
=
null
;
<option
value=
"
<?=
$cert
[
'refid'
];
?>
"
<?=
isset
(
$pconfig
[
'certref'
])
&&
isset
(
$cert
[
'refid'
])
&&
$pconfig
[
'certref'
]
==
$cert
[
'refid'
]
?
"selected=
\"
selected
\"
"
:
""
;
?>
>
}
<?=
$cert
[
'descr'
];
?>
<?=
$caname
;
?>
if
(
isset
(
$pconfig
[
'certref'
])
&&
isset
(
$cert
[
'refid'
])
&&
$pconfig
[
'certref'
]
==
$cert
[
'refid'
])
{
<?=
isset
(
$cert
[
'refid'
])
&&
cert_in_use
(
$cert
[
'refid'
])
?
gettext
(
"*In Use"
)
:
""
;
?>
$selected
=
" selected=
\"
selected
\"
"
;
<?=
is_cert_revoked
(
$cert
)
?
gettext
(
"*Revoked"
)
:
""
;
?>
}
</option>
if
(
isset
(
$cert
[
'refid'
])
&&
cert_in_use
(
$cert
[
'refid'
]))
{
<?php
$inuse
=
" *In Use"
;
}
if
(
is_cert_revoked
(
$cert
))
{
$revoked
=
" *Revoked"
;
}
?>
<option
value=
"
<?=
$cert
[
'refid'
];
?>
"
<?=
$selected
;
?>
>
<?=
$cert
[
'descr'
]
.
$caname
.
$inuse
.
$revoked
;
?>
</option>
<?php
endforeach
;
?>
endforeach
;
?>
</select>
</select>
</td>
</td>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
<!-- submit -->
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
summary=
"save"
class=
"table"
>
<table
class=
"table"
>
<tr>
<tr>
<td
width=
"22%"
valign=
"top
"
>
</td>
<td
width=
"22%
"
>
</td>
<td
width=
"78%"
>
<td
width=
"78%"
>
<input
id=
"submit"
name=
"save"
type=
"submit"
class=
"btn btn-primary"
value=
"
<?=
gettext
(
"Save"
);
?>
"
/>
<input
id=
"submit"
name=
"save"
type=
"submit"
class=
"btn btn-primary"
value=
"
<?=
gettext
(
"Save"
);
?>
"
/>
<?php
if
(
isset
(
$id
)
&&
$a_cert
[
$id
])
:
?>
<input
name=
"id"
type=
"hidden"
value=
"
<?=
htmlspecialchars
(
$id
);
?>
"
/>
<?php
endif
;
?>
</td>
</td>
</tr>
</tr>
</table>
</table>
</form>
</form>
<?php
<?php
elseif
(
$act
==
"csr"
)
:
elseif
(
$act
==
"csr"
||
((
isset
(
$_POST
[
'save'
])
&&
$_POST
[
'save'
]
==
gettext
(
"Update"
))
&&
$input_errors
))
:
?>
?>
<form
action=
"system_certmanager.php"
method=
"post"
name=
"iform"
id=
"iform"
>
<form
action=
"system_certmanager.php"
method=
"post"
name=
"iform"
id=
"iform"
>
<table
width=
"100%"
border=
"0"
cellpadding=
"6"
cellspacing=
"0"
summary=
"name"
class=
"table table-striped"
>
<input
name=
"act"
type=
"hidden"
value=
"csr"
/>
<?php
if
(
isset
(
$id
))
:?>
<
input
name
=
"id"
type
=
"hidden"
value
=
"<?=htmlspecialchars(
$id
);?>"
/>
<?
php
endif
;
?>
<table
class=
"table table-striped"
>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Descriptive name"
);
?>
</td>
<td
width=
"22%"
><i
class=
"fa fa-info-circle text-muted"
></i>
<?=
gettext
(
"Descriptive name"
);
?>
</td>
<td
width=
"78%"
class=
"vtable
"
>
<td
width=
"78%
"
>
<input
name=
"descr"
type=
"text"
class=
"formfld unknown"
id=
"descr"
size=
"20"
value=
"
<?=
htmlspecialchars
(
$pconfig
[
'descr'
])
;
?>
"
/>
<input
name=
"descr"
type=
"text"
id=
"descr"
readonly=
"readonly"
value=
"
<?=
$pconfig
[
'descr'
]
;
?>
"
/>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"2"
class=
"list"
height=
"12"
></td>
<td
colspan=
"2"
class=
"list"
height=
"12"
></td>
</tr>
</tr>
<tr>
<tr>
<td
colspan=
"2"
valign=
"top"
class=
"listtopic
"
>
<?=
gettext
(
"Complete Signing Request"
);
?>
</td>
<td
colspan=
"2
"
>
<?=
gettext
(
"Complete Signing Request"
);
?>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Signing request data"
);
?>
</td>
<td
>
<?=
gettext
(
"Signing request data"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
>
<textarea
name=
"csr"
id=
"csr"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
readonly=
"readonly"
>
<?=
htmlspecialchars
(
$pconfig
[
'csr'
])
;
?>
</textarea>
<textarea
name=
"csr"
id=
"csr"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
readonly=
"readonly"
>
<?=
$pconfig
[
'csr'
]
;
?>
</textarea>
<br
/>
<br
/>
<?=
gettext
(
"Copy the certificate signing data from here and forward it to your certificate authority for signing."
);
?>
</td>
<?=
gettext
(
"Copy the certificate signing data from here and forward it to your certificate authority for signing."
);
?>
</td>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
class=
"vncellreq"
>
<?=
gettext
(
"Final certificate data"
);
?>
</td>
<td
>
<?=
gettext
(
"Final certificate data"
);
?>
</td>
<td
width=
"78%"
class=
"vtable"
>
<td
>
<textarea
name=
"cert"
id=
"cert"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
>
<?=
htmlspecialchars
(
$pconfig
[
'cert'
])
;
?>
</textarea>
<textarea
name=
"cert"
id=
"cert"
cols=
"65"
rows=
"7"
class=
"formfld_cert"
>
<?=
$pconfig
[
'cert'
]
;
?>
</textarea>
<br
/>
<br
/>
<?=
gettext
(
"Paste the certificate received from your certificate authority here."
);
?>
</td>
<?=
gettext
(
"Paste the certificate received from your certificate authority here."
);
?>
</td>
</td>
</td>
</tr>
</tr>
<tr>
<tr>
<td
width=
"22%"
valign=
"top"
>
</td>
<td>
</td>
<td
width=
"78%"
>
<td>
<?php
/* if ( isset($subject_mismatch) && $subject_mismatch === true): ?>
<input
id=
"submit"
name=
"update"
type=
"submit"
class=
"btn btn-primary"
value=
"
<?=
gettext
(
"Update"
);
?>
"
/>
<input id="ignoresubjectmismatch" name="ignoresubjectmismatch" type="checkbox" class="formbtn" value="yes" />
<label for="ignoresubjectmismatch"><strong><?=gettext("Ignore certificate subject mismatch"); ?></strong></label><br />
<?php echo gettext("Warning: Using this option may create an " .
"invalid certificate. Check this box to disable the request -> " .
"response subject verification. ");
?><br />
<?php endif; */
?>
<input
id=
"submit"
name=
"save"
type=
"submit"
class=
"btn btn-primary"
value=
"
<?=
gettext
(
"Update"
);
?>
"
/>
<?php
if
(
isset
(
$id
)
&&
$a_cert
[
$id
])
:
?>
<input
name=
"id"
type=
"hidden"
value=
"
<?=
htmlspecialchars
(
$id
);
?>
"
/>
<input
name=
"act"
type=
"hidden"
value=
"csr"
/>
<?php
endif
;
?>
</td>
</td>
</tr>
</tr>
</table>
</table>
</form>
</form>
<?php
<?php
else
:?>
else
:
<
form
action
=
"system_certmanager.php"
method
=
"post"
name
=
"iform"
id
=
"iform"
>
?>
<
input
type
=
"hidden"
name
=
"id"
id
=
"id"
value
=
"<?=isset(
$id
) ?
$id
:"";?>"
/>
<
input
type
=
"hidden"
name
=
"act"
id
=
"action"
value
=
"<?=
$act
;?>"
/>
</
form
>
<
table
summary
=
"details"
class
="
table
table
-
striped
">
<
table
summary
=
"details"
class
="
table
table
-
striped
">
<thead>
<thead>
<tr>
<tr>
<td
width=
"15%"
class=
"listhdrr"
>
<?=
gettext
(
"Name"
);
?>
</td
>
<th><?=gettext("
Name
");?></th
>
<td
width=
"15%"
class=
"listhdrr"
>
<?=
gettext
(
"Issuer"
);
?>
</td
>
<th><?=gettext("
Issuer
");?></th
>
<td
width=
"40%"
class=
"listhdrr"
>
<?=
gettext
(
"Distinguished Name"
);
?>
</td
>
<th><?=gettext("
Distinguished
Name
");?></th
>
<td
width=
"10%"
class=
"listhdrr"
>
<?=
gettext
(
"In Use"
);
?>
</td
>
<th><?=gettext("
In
Use
");?></th
>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<?php
<?php
$i
= 0;
$i
= 0;
foreach (
$a_cert
as
$cert
) :
foreach (
$a_cert
as
$cert
) :
$name
= htmlspecialchars(
$cert['descr']
);
$name
= htmlspecialchars(
$cert['descr']
);
$purpose
= null;
if
(
$cert
[
'crt'
]
)
{
if (!empty(
$cert['crt']
)
) {
$subj
= cert_get_subject(
$cert['crt']
);
$subj
= cert_get_subject(
$cert['crt']
);
$issuer
= cert_get_issuer(
$cert['crt']
);
$issuer
= cert_get_issuer(
$cert['crt']
);
$purpose
= cert_get_purpose(
$cert['crt']
);
$purpose
= cert_get_purpose(
$cert['crt']
);
...
@@ -1213,7 +1152,6 @@ else :
...
@@ -1213,7 +1152,6 @@ else :
}
}
$subj
= htmlspecialchars(
$subj
);
$subj
= htmlspecialchars(
$subj
);
}
}
if (isset(
$cert['csr']
)) {
if (isset(
$cert['csr']
)) {
$subj
= htmlspecialchars(csr_get_subject(
$cert['csr']
));
$subj
= htmlspecialchars(csr_get_subject(
$cert['csr']
));
$caname
= "
<
em
>
" . gettext("
external
-
signature
pending
") . "
</
em
>
";
$caname
= "
<
em
>
" . gettext("
external
-
signature
pending
") . "
</
em
>
";
...
@@ -1223,34 +1161,21 @@ else :
...
@@ -1223,34 +1161,21 @@ else :
if (
$ca
) {
if (
$ca
) {
$caname
=
$ca['descr']
;
$caname
=
$ca['descr']
;
}
}
}
}?>
$certimg
=
'<span class="glyphicon glyphicon-certificate __iconspacer"></span>'
;
?>
<tr>
<tr>
<td
class=
"listlr"
>
<td>
<table
summary=
"icon"
>
<span class="
glyphicon
glyphicon
-
certificate
__iconspacer
"></span>
<tr>
<td
align=
"left"
valign=
"middle"
>
<?=
$certimg
;
?>
</td>
<td
align=
"left"
valign=
"middle"
>
<?=
$name
;?>
<?=
$name
;?>
<?php
if (is_array(
$purpose
)) :?>
<br/><br/>
<?=gettext('CA:') ?> <?=
$purpose['ca']
; ?>,
<?=gettext('Server:') ?> <?=
$purpose['server']
; ?>
<?php
endif; ?>
</td>
</td>
</tr>
<td><?=
$caname
;?> </td>
<tr><td>
</td></tr>
<td><?=
$subj
;?> <br />
<?php
if
(
is_array
(
$purpose
))
:
?>
<tr><td
colspan=
"2"
>
<?=
gettext
(
'CA:'
)
?>
<?php
echo
$purpose
[
'ca'
];
?>
,
<?=
gettext
(
'Server:'
)
?>
<?php
echo
$purpose
[
'server'
];
?>
</td></tr>
<?php
endif
;
?>
</table>
</td>
<td
class=
"listr"
>
<?=
$caname
;
?>
</td>
<td
class=
"listr"
>
<?=
$subj
;
?>
<br
/>
<table summary="
valid
">
<table summary="
valid
">
<tr>
<tr>
<td width="
10
%
"> </td>
<td width="
10
%
"> </td>
...
@@ -1264,77 +1189,63 @@ endif; ?>
...
@@ -1264,77 +1189,63 @@ endif; ?>
</tr>
</tr>
</table>
</table>
</td>
</td>
<td
class=
"listr"
>
<td
>
<?php
if
(
is_cert_revoked
(
$cert
))
:
<?php
?>
if (is_cert_revoked(
$cert
)) :
?>
<b><?=gettext('Revoked') ?></b><br />
<b><?=gettext('Revoked') ?></b><br />
<?php
<?php
endif
;
?>
endif;
<?php
if
(
is_webgui_cert
(
$cert
[
'refid'
]))
:
if (is_webgui_cert(
$cert['refid']
)) :?>
?>
<?=gettext('webConfigurator') ?><br />
<?=gettext('webConfigurator') ?><br />
<?php
<?php
endif
;
?>
endif;
<?php
if
(
is_user_cert
(
$cert
[
'refid'
]))
:
if (is_user_cert(
$cert['refid']
)) :?>
?>
<?=gettext('User Cert') ?><br />
<?=gettext('User Cert') ?><br />
<?php
<?php
endif
;
?>
endif;
<?php
if
(
is_openvpn_server_cert
(
$cert
[
'refid'
]))
:
if (is_openvpn_server_cert(
$cert['refid']
)) :?>
?>
<?=gettext('OpenVPN Server') ?><br />
<?=gettext('OpenVPN Server') ?><br />
<?php
<?php
endif
;
?>
endif;
<?php
if
(
is_openvpn_client_cert
(
$cert
[
'refid'
]))
:
if (is_openvpn_client_cert(
$cert['refid']
)) :?>
?>
<?=gettext('OpenVPN Client') ?><br />
<?=gettext('OpenVPN Client') ?><br />
<?php
<?php
endif
;
?>
endif;
<?php
if
(
is_ipsec_cert
(
$cert
[
'refid'
]))
:
if (is_ipsec_cert(
$cert['refid']
)) :?>
?>
<?=gettext('IPsec Tunnel') ?><br />
<?=gettext('IPsec Tunnel') ?><br />
<?php
<?php
endif
;
?>
endif; ?>
<a
href=
"system_certmanager.php?act=exp&id=
<?=
$i
;
<a href="
system_certmanager
.
php
?
act
=
exp
&
amp
;
id
=<?=
$i
;
?>
" class="btn btn-default btn-xs" data-toggle="tooltip" data-placement="left" title="
<?=
gettext
(
"export ca"
);
?>
">
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"export ca"
);
?>
"
>
<span
class=
"glyphicon glyphicon-download"
></span>
<span
class=
"glyphicon glyphicon-download"
></span>
</a>
</a>
<a
href=
"system_certmanager.php?act=key&id=
<?=
$i
;
<a
href=
"system_certmanager.php?act=key&id=
<?=
$i
;
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"export key"
);
?>
"
>
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"export key"
);
?>
"
>
<span
class=
"glyphicon glyphicon-download"
></span>
<span
class=
"glyphicon glyphicon-download"
></span>
</a>
</a>
<a
href=
"system_certmanager.php?act=p12&id=
<?=
$i
;
<a
href=
"system_certmanager.php?act=p12&id=
<?=
$i
;
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"export ca cert+user cert+user cert key in .p12 format"
);
?>
"
>
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"export ca cert+user cert+user cert key in .p12 format"
);
?>
"
>
<span
class=
"glyphicon glyphicon-download"
></span>
<span
class=
"glyphicon glyphicon-download"
></span>
</a>
</a>
<?php
if
(
!
cert_in_use
(
$cert
[
'refid'
]))
:
<?php
?>
if
(
!
cert_in_use
(
$cert
[
'refid'
]))
:
?>
<a
href=
"system_certmanager.php?act=del&id=
<?=
$i
;
<
a
id
=
"del_<?=
$i
;?>"
data
-
id
=
"<?=
$i
;?>"
title
=
"<?=gettext("
delete
cert
"); ?>"
data
-
toggle
=
"tooltip"
class
="
act_delete
btn
btn
-
default
btn
-
xs
">
?>
"
class=
"btn btn-default btn-xs"
onclick=
"return confirm('
<?=
gettext
(
"Do you really want to delete this Certificate?"
);
?>
')"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"delete cert"
);
?>
"
>
<span class="
glyphicon
glyphicon
-
remove
"></span>
<span class="
glyphicon
glyphicon
-
remove
"></span>
</a>
</a>
<?php
<?php
endif;
endif
;
?>
if (isset(
$cert['csr']
)) :?>
<?php
if
(
isset
(
$cert
[
'csr'
]))
:
<a href="
system_certmanager
.
php
?
act
=
csr
&
amp
;
id
=<?=
$i
;
?>
" class="btn btn-default btn-xs" data-toggle="tooltip" data-placement="left" title="
<?=
gettext
(
"update csr"
);
?>
">
?>
<a
href=
"system_certmanager.php?act=csr&id=
<?=
$i
;
?>
"
class=
"btn btn-default btn-xs"
data-toggle=
"tooltip"
data-placement=
"left"
title=
"
<?=
gettext
(
"update csr"
);
?>
"
>
<span
class=
"glyphicon glyphicon-edit"
></span>
<span
class=
"glyphicon glyphicon-edit"
></span>
</a>
</a>
<?php
<?php
endif
;
?>
endif
;
?>
</td>
</td>
</tr>
</tr>
<?php
$i
++
;
<?php
$i
++
;
endforeach
;
?>
endforeach
;
?>
<tr>
<tr>
...
@@ -1343,21 +1254,11 @@ endif; ?>
...
@@ -1343,21 +1254,11 @@ endif; ?>
</tr>
</tr>
</tbody>
</tbody>
</table>
</table>
<?php
<?php
endif
;
?>
endif
;
?>
</div>
</div>
</section>
</section>
</div>
</div>
</div>
</div>
</section>
</section>
<script
type=
"text/javascript"
>
//
<!
[
CDATA
[
method_change
();
internalca_change
();
//]]>
</script>
<?php
include
(
"foot.inc"
);
<?php
include
(
"foot.inc"
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment