[3232] | 1 | <?php |
---|
| 2 | $GLOBALS['phpgw_info'] = array(); |
---|
| 3 | $GLOBALS['phpgw_info']['flags'] = array('noheader' => True,'nonavbar' => True,'currentapp' => 'admin'); |
---|
| 4 | include('../header.inc.php'); |
---|
| 5 | require_once('classes/CertificadoB.php'); |
---|
| 6 | require_once('security-lib.php'); |
---|
| 7 | // pega caminho completo do arquivo de CAS.. |
---|
| 8 | if( $_POST['path3']) |
---|
| 9 | { |
---|
| 10 | $path3 = $_POST['path3']; |
---|
| 11 | } |
---|
| 12 | else |
---|
| 13 | { |
---|
| 14 | $path3 =$GLOBALS['CAs']; |
---|
| 15 | } |
---|
| 16 | $path3 =$GLOBALS['CAs']; |
---|
| 17 | $arquivo = basename($path3); |
---|
| 18 | // se não pude acessar o arquivo com certificados retornar ..... |
---|
| 19 | if(!is_file($path3)) exit(); |
---|
| 20 | $dir = dirname($path3); |
---|
| 21 | if($_POST['arquivo'] & $_POST['caminho'] ) |
---|
| 22 | { |
---|
| 23 | if(substr($_POST['arquivo'],0,25) != '--Selecione um arquivo co') |
---|
| 24 | { |
---|
| 25 | $path3 = $_POST['caminho'] . '/' . $_POST['arquivo']; |
---|
| 26 | $dir = $_POST['caminho']; |
---|
| 27 | } |
---|
| 28 | } |
---|
| 29 | if($path3) |
---|
| 30 | { |
---|
| 31 | $todos_certificados = ler_certificados_CAS($path3); |
---|
| 32 | $ret = Gerar_Estruturas_Certificados($todos_certificados); |
---|
| 33 | $aux_emissores= $ret[0]; |
---|
| 34 | $tab_certs = $ret[1]; |
---|
| 35 | $NOVO = array(); |
---|
| 36 | $AUX3 = array(); |
---|
| 37 | $emissores = array(); |
---|
| 38 | foreach($aux_emissores as $kchave1 => $emis1) |
---|
| 39 | { |
---|
| 40 | foreach($emis1 as $Kchave2 => $emis2) |
---|
| 41 | { |
---|
| 42 | foreach($emis2 as $Kchave3 => $emis3) |
---|
| 43 | { |
---|
| 44 | $emissores[$Kchave2][$Kchave3] = '9'; |
---|
| 45 | } |
---|
| 46 | } |
---|
| 47 | } |
---|
| 48 | // O array $NOVO vai conter a cadeia dos certificados de CAs .... |
---|
| 49 | foreach($emissores as $K => $V) |
---|
| 50 | { |
---|
| 51 | if($AUX3[$K] != '0') |
---|
| 52 | { |
---|
| 53 | foreach($V as $K1 => $V1) |
---|
| 54 | { |
---|
| 55 | if($emissores[$K1]) |
---|
| 56 | { |
---|
| 57 | $NOVO[$K][$K1] = $emissores[$K1]; |
---|
| 58 | $AUX3[$K1] = '0'; |
---|
| 59 | } |
---|
| 60 | else |
---|
| 61 | { |
---|
| 62 | $NOVO[$K][$K1] = '0'; |
---|
| 63 | } |
---|
| 64 | } |
---|
| 65 | } |
---|
| 66 | } |
---|
| 67 | // Valores auxiliares para fazer a identacao ..... |
---|
| 68 | $prefixo0 = ' ' . '|'; |
---|
| 69 | $prefixo1 = ' ' . '|' . '____' ; |
---|
| 70 | $prefixo2 = ' ' . '|' . ' ' . ' ' . ' ' . ' ' . '|' ; |
---|
| 71 | $prefixo2A = ' ' . ' ' . ' ' . ' ' . ' ' . ' ' . '|' ; |
---|
| 72 | $prefixo3 = ' ' . '|' . ' ' . ' ' . ' ' . ' ' . '|' . '____' ; |
---|
| 73 | $prefixo3A = ' ' . ' ' . ' ' . ' ' . ' ' . ' ' . '|' . '____' ; |
---|
| 74 | $tudo = ''; |
---|
| 75 | foreach($NOVO as $K => $V) |
---|
| 76 | { |
---|
| 77 | $lnk = '<b><a href="javascript:Um_Certificado(\''. $tab_certs[$K]['item'] . ' - ' . $K .'\',\'' . $arquivo . '\')" style="text-decoration: none" >' . $K . '</a></b>'; |
---|
| 78 | if($tab_certs[$K]['fim_validade']) |
---|
| 79 | { |
---|
| 80 | $msg = $tab_certs[$K]['fim_validade']; |
---|
| 81 | } |
---|
| 82 | else |
---|
| 83 | { |
---|
| 84 | $msg = '<font color="FF0000" size="4"><b>Certificado ausente da cadeia.</b></font> '; |
---|
| 85 | $lnk = '<b>' . $K . '</b>'; |
---|
| 86 | } |
---|
| 87 | $tudo .= '<br/><font color="0000FF" size="4">' . $lnk . '</font> ' . $msg . '<br/>'; |
---|
| 88 | if(is_array($V)) |
---|
| 89 | { |
---|
| 90 | $num = count($V); |
---|
| 91 | $item = 0; |
---|
| 92 | foreach($V as $K1 => $V1) |
---|
| 93 | { |
---|
| 94 | $item = $item + 1; |
---|
| 95 | $tudo .= $prefixo0 . '<br/>'; |
---|
| 96 | if($tab_certs[$K1]['fim_validade']) |
---|
| 97 | { |
---|
| 98 | $msg = $tab_certs[$K1]['fim_validade']; |
---|
| 99 | } |
---|
| 100 | else |
---|
| 101 | { |
---|
| 102 | $msg = '<font color="FF0000" ><b>Certificado ausente da cadeia.</b></font> '; |
---|
| 103 | } |
---|
| 104 | $tudo .= $prefixo1 . '<font color="#000000" ><a href="javascript:Um_Certificado(\''. $tab_certs[$K1]['item'] . ' - ' . $K1 .'\',\'' . $arquivo . '\')" style="text-decoration: none" >' . $K1 . '</a></font> ' . ' ' . $msg . '<br/>'; |
---|
| 105 | if(is_array($V1)) |
---|
| 106 | { |
---|
| 107 | foreach($V1 as $K2 => $V2) |
---|
| 108 | { |
---|
| 109 | if($tab_certs[$K1]['fim_validade']) |
---|
| 110 | { |
---|
| 111 | $msg = $tab_certs[$K1]['fim_validade']; |
---|
| 112 | } |
---|
| 113 | else |
---|
| 114 | { |
---|
| 115 | $msg = '<font color="FF0000" ><b>Certificado ausente da cadeia.</b></font> '; |
---|
| 116 | } |
---|
| 117 | if($num>$item) |
---|
| 118 | { |
---|
| 119 | $tudo .= $prefixo2 . '<br/>'; |
---|
| 120 | $tudo .= $prefixo3 . '<font color="#000000" ><a href="javascript:Um_Certificado(\''. $tab_certs[$K2]['item'] . ' - ' . $K2 .'\',\'' . $arquivo . '\')" style="text-decoration: none" >' . $K2 . '</a></font> ' . ' ' . $msg . '<br/>'; |
---|
| 121 | } |
---|
| 122 | else |
---|
| 123 | { |
---|
| 124 | $tudo .= $prefixo2A . '<br/>'; |
---|
| 125 | $tudo .= $prefixo3A . '<font color="#000000" ><a href="javascript:Um_Certificado(\''. $tab_certs[$K2]['item'] . ' - ' . $K2 .'\',\'' . $arquivo . '\')" style="text-decoration: none" >' . $K2 . '</a></font> ' . ' ' . $msg . '<br/>'; |
---|
| 126 | } |
---|
| 127 | } |
---|
| 128 | } |
---|
| 129 | } |
---|
| 130 | } |
---|
| 131 | } |
---|
| 132 | Header('Content-type: application/xml; charset=utf-8'); |
---|
| 133 | $tudo = "<certificados>" . base64_encode($tudo) . '</certificados>'; |
---|
| 134 | echo $tudo; |
---|
| 135 | } |
---|
| 136 | ?> |
---|