diff --git a/lib/validatorClass.php b/lib/validatorClass.php index 0abc2c35cb2375685b7dce0056835b48a2f5c20e..1a7945f3abfb0ddbd366a0807596e506d701b56e 100644 --- a/lib/validatorClass.php +++ b/lib/validatorClass.php @@ -72,29 +72,35 @@ class Validator { $this->params['federror'] = "No metadata URL registered in the eduGAIN database for federation ".$this->edugain->FEDS[$fed_id]['fed_id'].' - '.$this->edugain->FEDS[$fed_id]['name']; } else { $this->params['fedname'] = $this->edugain->FEDS[$fed_id]['name']; - $this->params['regauth'] = $this->edugain->FEDS[$fed_id]['reg_auth']; - for ($n=0; $n<count($this->edugain->FEDS[$fed_id]['certificate']); $n++) { - $certificate = $this->edugain->FEDS[$fed_id]['certificate'][$n]['data']; - $certificate = trim($certificate, "\n"); - $fnamesuffix = ''; - if ($n > 0) { - $fnamesuffix = "_$n"; + if (isset($this->edugain->FEDS[$fed_id]['reg_auth'])) { + $this->params['regauth'] = $this->edugain->FEDS[$fed_id]['reg_auth']; + } else { + $this->params['regauth'] = ''; + } + if (isset($this->edugain->FEDS[$fed_id]['certificate'])) { + for ($n=0; $n<count($this->edugain->FEDS[$fed_id]['certificate']); $n++) { + $certificate = $this->edugain->FEDS[$fed_id]['certificate'][$n]['data']; + $certificate = trim($certificate, "\n"); + $fnamesuffix = ''; + if ($n > 0) { + $fnamesuffix = "_$n"; + } + $certfilename = $this->params['filename'].$fnamesuffix."-fromdb.crt"; + if (strlen($certificate)) { + $ff = fopen($certfilename, 'w'); + fputs($ff, "-----BEGIN CERTIFICATE-----\n"); + for ($i=0; ; $i=$i+64) { + if (substr($certificate, $i, 64) == '') break; + fputs($ff, substr($certificate, $i, 64)."\n"); + } + fputs($ff, "-----END CERTIFICATE-----\n"); + fclose($ff); + $this->edugain->FEDS[$fed_id]['certificate'][$n]['certfile'] = $certfilename; + } } - $certfilename = $this->params['filename'].$fnamesuffix."-fromdb.crt"; - if (strlen($certificate)) { - $ff = fopen($certfilename, 'w'); - fputs($ff, "-----BEGIN CERTIFICATE-----\n"); - for ($i=0; ; $i=$i+64) { - if (substr($certificate, $i, 64) == '') break; - fputs($ff, substr($certificate, $i, 64)."\n"); - } - fputs($ff, "-----END CERTIFICATE-----\n"); - fclose($ff); - $this->edugain->FEDS[$fed_id]['certificate'][$n]['certfile'] = $certfilename; - } - } - $ff = fopen($this->params['filename'].'-certinfo.json', 'w'); - fputs($ff, json_encode($this->edugain->FEDS[$fed_id]['certificate'])); + $ff = fopen($this->params['filename'].'-certinfo.json', 'w'); + fputs($ff, json_encode($this->edugain->FEDS[$fed_id]['certificate'])); + } } } $this->params['auto'] = $this->params['validate'] = $this->params['edugain'] = 1;