Changeset 3984 for branches/2.2/security/vercert.php
- Timestamp:
- 04/12/11 09:27:42 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/security/vercert.php
r3232 r3984 1 1 <?php 2 function item_para_uid($dados_do_certificado)3 {4 /*5 // Exemplo do Array $dados_do_certificado padrao ICP-BRASIL6 // O conteudo do array pode variar conforme a AC emissora.7 Array8 (9 [SERIALNUMBER] => 200903181623280210 [EMISSOR_CAMINHO_COMPLETO] => Array11 (12 [C] => BR13 [O] => ICP-Brasil14 [OU] => CSPB-115 [CN] => HOMAutoridade Certificadora do SERPRO Final v216 )17 18 [EMISSOR] => HOMAutoridade Certificadora do SERPRO Final v219 [INICIO_VALIDADE] => 2009031820521620 [FIM_VALIDADE] => 2012031720521621 [EXPIRADO] =>22 [SUBJECT] => Array23 (24 [C] => BR25 [O] => ICP-Brasil26 [OU] => Pessoa Fisica A327 [CN] => CESAR VIANNA28 )29 30 [NOME] => CESAR VIANNA31 [AUTHORITYKEYIDENTIFIER] => AE34F397BB05B1AA6CC3FD6C4F0E9129BBB61BE232 [KEYUSAGE] => Array33 (34 [digitalSignature] => 135 [nonRepudiation] => 136 [keyEncipherment] => 137 )38 39 [EXTKEYUSAGE] => Array40 (41 [clientAuth] => 1.3.6.1.5.5.7.3.242 [emailProtection] => 1.3.6.1.5.5.7.3.443 )44 45 [CA] =>46 [CRLDISTRIBUTIONPOINTS] => Array47 (48 [0] => http://ccdhom.serpro.gov.br/lcr/serproacfv2.crl49 [1] => http://ccdhom.serpro.gov.br/lcr/serproacfv3.crl50 [2] => http://ccdhom.serpro.gov.br/lcr/serproacfv4.crl51 )52 53 [2.16.76.1.3.6] => Array54 (55 [CADINSS] => 00000000000056 )57 58 [CADINSS] => 00000000000059 [2.16.76.1.3.5] => Array60 (61 [TITULO] => 00000000000062 [ZONA] => 00063 [SECAO] => 000064 [TITULO_CIDADE_UF] =>65 )66 67 [TITULO] => 00000000000068 [ZONA] => 00069 [SECAO] => 000070 [TITULO_CIDADE_UF] =>71 [2.16.76.1.3.1] => Array72 (73 [NASCIMENTO] => 1908198174 [CPF] => 1234567890275 [NIS] => 1234567890176 [RG] => 00020107515095377 [ORGAOUF] => SSPRS78 )79 80 [NASCIMENTO] => 1908198181 [CPF] => 1234567890282 [NIS] => 1234567890183 [RG] => 00020107515095384 [ORGAOUF] => SSPRS85 [EMAIL] => cesar.vianna@pr.planalto.gov.br86 )87 */88 89 // Retorna o CPF para usar como uid.90 return $dados_do_certificado['2.16.76.1.3.1']['CPF'];91 }92 93 94 2 $GLOBALS['phpgw_info']['flags'] = array( 95 3 'disable_Template_class' => True, … … 118 26 require_once('classes/Verifica_Certificado.php'); 119 27 include('classes/Verifica_Certificado_conf.php'); 120 121 # Transforma o certificado do formato PEM para o formato DER ...122 function troca_espaco_por_mais($pem_data)123 {124 $begin = "CERTIFICATE-----";125 $end = "-----END";126 $aux = substr($pem_data, strpos($pem_data, $begin)+strlen($begin));127 $aux = substr($aux, 0, strpos($aux, $end));128 $aux = strtr($aux,' ','+');129 $aux = '-----BEGIN CERTIFICATE-----'.$aux.'-----END CERTIFICATE-----';130 return $aux;131 }132 28 133 29 $cert =str_replace(chr(0x0A).chr(0x0A),chr(0x0A),$_REQUEST['certificado']); … … 184 80 } 185 81 186 $filtro = 'uid='. item_para_uid($c->dados);82 $filtro = 'uid='. $c->dados['2.16.76.1.3.1']['CPF']; 187 83 $atributos = array(); 188 //$atributos[] = 'phpgwaccountexpires';189 $atributos[] = 'phpgwlastpasswdchange';190 191 if(isset($GLOBALS['phpgw_info']['server']['atributoexpiracao']))192 { 193 $atributos[] = $GLOBALS['phpgw_info']['server']['atributoexpiracao']; 194 } 195 84 if(isset($GLOBALS['phpgw_info']['server']['atributoexpiracao']) && $GLOBALS['phpgw_info']['server']['atributoexpiracao']) 85 { 86 $atributos[] = $GLOBALS['phpgw_info']['server']['atributoexpiracao']; 87 } 88 else 89 { 90 $atributos[] = 'phpgwlastpasswdchange'; 91 } 196 92 $atributos[] = "usercertificate"; 197 93 $atributos[] = "phpgwaccountstatus"; … … 231 127 $aux1 = $info[0]["dn"]; 232 128 $user_info['usercertificate'] = $cert; 233 if(isset($GLOBALS['phpgw_info']['server']['atributoexpiracao']) )129 if(isset($GLOBALS['phpgw_info']['server']['atributoexpiracao']) && $GLOBALS['phpgw_info']['server']['atributoexpiracao']) 234 130 { 235 131 if(substr($info[0][$GLOBALS['phpgw_info']['server']['atributoexpiracao']][0],-1,1)=="Z")
Note: See TracChangeset
for help on using the changeset viewer.