diff options
author | bcyrill <cyrill@bannwart.info> | 2012-07-03 19:03:28 +0200 |
---|---|---|
committer | bcyrill <cyrill@bannwart.info> | 2012-07-03 19:03:28 +0200 |
commit | adca02c4ea53e1f5076a4cb906e0797d4a6317e7 (patch) | |
tree | 92abc0395b5939fdd9fee68da636ba5840e4035b /etc/inc/upgrade_config.inc | |
parent | 95361ccdd3647a607067e99e5d36374a9e07c8a4 (diff) | |
download | pfsense-adca02c4ea53e1f5076a4cb906e0797d4a6317e7.zip pfsense-adca02c4ea53e1f5076a4cb906e0797d4a6317e7.tar.gz |
Implement certificate chain in Captive Portal
Diffstat (limited to 'etc/inc/upgrade_config.inc')
-rw-r--r-- | etc/inc/upgrade_config.inc | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc index 88faba4..700cd25 100644 --- a/etc/inc/upgrade_config.inc +++ b/etc/inc/upgrade_config.inc @@ -2898,26 +2898,34 @@ function upgrade_088_to_089() { /* create cert entry */ $cert = array(); $cert['refid'] = uniqid(); - $cert['descr'] = "Captive Portal SSL Cert - {$setting['zone']}"; + $cert['descr'] = "Captive Portal Cert - {$setting['zone']}"; $cert['crt'] = $setting['certificate']; $cert['prv'] = $setting['private-key']; + + if (!empty($setting['cacertificate'])) { + /* create ca entry */ + $ca = array(); + $ca['refid'] = uniqid(); + $ca['descr'] = "Captive Portal CA - {$setting['zone']}"; + $ca['crt'] = $setting['cacertificate']; + $config['ca'][] = $ca; + + /* add ca reference to certificate */ + $cert['caref'] = $ca['refid']; + + /* create ca reference */ + $setting['caref'] = $ca['refid']; + } + $config['cert'][] = $cert; /* create cert reference */ - unset($setting['certificate']); - unset($setting['private-key']); $setting['certref'] = $cert['refid']; - /* create ca entry */ - $ca = array(); - $ca['refid'] = uniqid(); - $ca['descr'] = "Captive Portal SSL CA - {$setting['zone']}"; - $ca['crt'] = $setting['cacertificate']; - $config['ca'][] = $ca; - - /* create ca reference */ + unset($setting['certificate']); + unset($setting['private-key']); unset($setting['cacertificate']); - $setting['caref'] = $ca['refid']; + } } } |