diff options
author | jim-p <jimp@pfsense.org> | 2013-09-10 14:02:26 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2013-09-10 14:02:26 -0400 |
commit | eed5b5076408c8e8bdde52585aaf09b33b3a1825 (patch) | |
tree | b5d48a5cb4c4fd4c663292aa2e334a1e173c9858 /usr | |
parent | 9633e5183b6892fe8e31edb3c6ae6c781184beab (diff) | |
download | pfsense-eed5b5076408c8e8bdde52585aaf09b33b3a1825.zip pfsense-eed5b5076408c8e8bdde52585aaf09b33b3a1825.tar.gz |
Include CA in generated .p12 file. Fixes #2147 the way it was originally intended.
Diffstat (limited to 'usr')
-rw-r--r-- | usr/local/www/system_certmanager.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/usr/local/www/system_certmanager.php b/usr/local/www/system_certmanager.php index e1f5061..1276c99 100644 --- a/usr/local/www/system_certmanager.php +++ b/usr/local/www/system_certmanager.php @@ -157,12 +157,18 @@ if ($act == "p12") { } $exp_name = urlencode("{$a_cert[$id]['descr']}.p12"); + $args = array(); + $args['friendly_name'] = $a_cert[$id]['descr']; + + $ca = lookup_ca($a_cert[$id]['caref']); + if ($ca) + $args['extracerts'] = openssl_x509_read(base64_decode($ca['crt'])); $res_crt = openssl_x509_read(base64_decode($a_cert[$id]['crt'])); $res_key = openssl_pkey_get_private(array(0 => base64_decode($a_cert[$id]['prv']) , 1 => "")); $exp_data = ""; - openssl_pkcs12_export($res_crt, $exp_data, $res_key, null); + openssl_pkcs12_export($res_crt, $exp_data, $res_key, null, $args); $exp_size = strlen($exp_data); header("Content-Type: application/octet-stream"); @@ -1174,7 +1180,7 @@ function internalca_change() { <img src="/themes/<?= $g['theme'];?>/images/icons/icon_down.gif" title="<?=gettext("export key");?>" alt="<?=gettext("export ca");?>" width="17" height="17" border="0" /> </a> <a href="system_certmanager.php?act=p12&id=<?=$i;?>"> - <img src="/themes/<?= $g['theme'];?>/images/icons/icon_down.gif" title="<?=gettext("export cert+key in .p12");?>" alt="<?=gettext("export cert+key in .p12");?>" width="17" height="17" border="0" /> + <img src="/themes/<?= $g['theme'];?>/images/icons/icon_down.gif" title="<?=gettext("export ca cert+user cert+user cert key in .p12 format");?>" alt="<?=gettext("export ca cert+user cert+user cert key in .p12 format");?>" width="17" height="17" border="0" /> </a> <?php if (!cert_in_use($cert['refid'])): ?> <a href="system_certmanager.php?act=del&id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this Certificate?");?>')"> |