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 | ?> |
---|