Changeset 3232 for branches/2.2/security/vercert.php
- Timestamp:
- 09/13/10 15:01:56 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/security/vercert.php
r1636 r3232 19 19 [INICIO_VALIDADE] => 20090318205216 20 20 [FIM_VALIDADE] => 20120317205216 21 [EXPIRADO] => 21 [EXPIRADO] => 22 22 [SUBJECT] => Array 23 23 ( … … 43 43 ) 44 44 45 [CA] => 45 [CA] => 46 46 [CRLDISTRIBUTIONPOINTS] => Array 47 47 ( … … 62 62 [ZONA] => 000 63 63 [SECAO] => 0000 64 [TITULO_CIDADE_UF] => 64 [TITULO_CIDADE_UF] => 65 65 ) 66 66 … … 68 68 [ZONA] => 000 69 69 [SECAO] => 0000 70 [TITULO_CIDADE_UF] => 70 [TITULO_CIDADE_UF] => 71 71 [2.16.76.1.3.1] => Array 72 72 ( … … 85 85 [EMAIL] => cesar.vianna@pr.planalto.gov.br 86 86 ) 87 */ 88 87 */ 88 89 89 // Retorna o CPF para usar como uid. 90 90 return $dados_do_certificado['2.16.76.1.3.1']['CPF']; 91 91 } 92 93 92 93 94 94 $GLOBALS['phpgw_info']['flags'] = array( 95 95 'disable_Template_class' => True, … … 112 112 { 113 113 echo '1'.chr(0x0D).chr(0x0A).'Arquivo header.inc.php não foi localizado.'; 114 exit(); 114 exit(); 115 115 } 116 117 $ldap_context = $GLOBALS['phpgw_info']['server']['ldap_context'];118 $ldap_servidor = $GLOBALS['phpgw_info']['server']['ldap_host'];119 $ldap_dn = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];120 $ldap_passwd = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];121 116 122 117 require_once('classes/CertificadoB.php'); … … 125 120 126 121 # Transforma o certificado do formato PEM para o formato DER ... 127 function troca_espaco_por_mais($pem_data) 122 function troca_espaco_por_mais($pem_data) 128 123 { 129 124 $begin = "CERTIFICATE-----"; 130 125 $end = "-----END"; 131 $aux = substr($pem_data, strpos($pem_data, $begin)+strlen($begin)); 126 $aux = substr($pem_data, strpos($pem_data, $begin)+strlen($begin)); 132 127 $aux = substr($aux, 0, strpos($aux, $end)); 133 128 $aux = strtr($aux,' ','+'); … … 135 130 return $aux; 136 131 } 137 138 132 139 133 $cert =str_replace(chr(0x0A).chr(0x0A),chr(0x0A),$_REQUEST['certificado']); … … 168 162 169 163 echo $msg; 170 exit(); 171 } 172 173 $cc=ldap_connect($ldap_servidor); 174 ldap_set_option($cc, LDAP_OPT_PROTOCOL_VERSION, 3); 175 // bind .. 176 $sr=ldap_bind($cc,$ldap_dn,$ldap_passwd); 177 164 exit(); 165 } 166 167 if ( (!empty($GLOBALS['phpgw_info']['server']['ldap_master_host'])) && 168 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_dn'])) && 169 (!empty($GLOBALS['phpgw_info']['server']['ldap_master_root_pw'])) ) 170 { 171 $ds = $GLOBALS['phpgw']->common->ldapConnect($GLOBALS['phpgw_info']['server']['ldap_master_host'], 172 $GLOBALS['phpgw_info']['server']['ldap_master_root_dn'], 173 $GLOBALS['phpgw_info']['server']['ldap_master_root_pw']); 174 } 175 else 176 { 177 $ds = $GLOBALS['phpgw']->common->ldapConnect(); 178 } 179 180 if (!$ds) 181 { 182 echo '8'.chr(0x0D).chr(0x0A).'Não foi possível obter dados do usuario para login.'; 183 exit(); 184 } 185 178 186 $filtro = 'uid='. item_para_uid($c->dados); 179 180 187 $atributos = array(); 181 188 //$atributos[] = 'phpgwaccountexpires'; … … 191 198 $atributos[] = "cryptpassword"; 192 199 $atributos[] = "uid"; 193 194 // Pesquisa uid no RHDS/LDAP 195 $sr=ldap_search($cc, $ldap_context,$filtro,$atributos); 200 201 $sr=ldap_search($ds, $GLOBALS['phpgw_info']['server']['ldap_context'],$filtro,$atributos); 196 202 197 203 // Pega resultado .... 198 $info = ldap_get_entries($ cc, $sr);199 204 $info = ldap_get_entries($ds, $sr); 205 200 206 // Tem de achar só uma entrada.....ao menos uma.... 201 207 if($info["count"]!=1) 202 208 { 203 echo '4'.chr(0x0D).chr(0x0A).'Dados inválidos no diretório de usuários'; 204 ldap_close($ cc);209 echo '4'.chr(0x0D).chr(0x0A).'Dados inválidos no diretório de usuários'; 210 ldap_close($ds); 205 211 exit(); 206 212 } … … 210 216 { 211 217 echo '5'.chr(0x0D).chr(0x0A).'Conta do usuario nao esta ativa no Expresso.'; 212 ldap_close($ cc);218 ldap_close($ds); 213 219 exit(); 214 220 } … … 217 223 { 218 224 echo '0'.chr(0x0D).chr(0x0A).$info[0]["uid"][0].chr(0x0D).chr(0x0A).$info[0]["cryptpassword"][0]; 219 //echo '0' . "\n" . $info[0]["uid"][0] . "\n" . $info[0]["cryptpassword"][0];220 225 } 221 226 else … … 241 246 $user_info['phpgwlastpasswdchange'] = '0'; 242 247 } 243 244 if(!ldap_modify($ cc,$aux1,$user_info))248 249 if(!ldap_modify($ds,$aux1,$user_info)) 245 250 { 246 echo ' 6'.chr(0x0D).chr(0x0A).'Ocorreu um erro no acolhimento do certificado.',$aux1;251 echo '7'.chr(0x0D).chr(0x0A).'Ocorreu um erro no acolhimento do certificado.',$aux1; 247 252 } 248 253 else … … 256 261 } 257 262 } 258 ldap_close($ cc);263 ldap_close($ds); 259 264 ?>
Note: See TracChangeset
for help on using the changeset viewer.