Solução para ler os Dados do Certificado A1 (.pfx)

2,055 views
Skip to first unread message

Johnny Santos

unread,
Aug 27, 2014, 7:45:59 AM8/27/14
to nfe...@googlegroups.com
Olá bom dia a todos, 
este é meu primeiro post, depois de muito pesquisar pela internet consegui desenvolver uma solução simples para ler os dados de um arquivo ( .pfx ), como Razão Social, CNPJ/CPF, Emails, Data de Validade e etc.

Apesar de simples quebrei a cabeça para achar uma forma de fazer isso que funcionasse e pelo que eu vi é dúvida de muitos outros.

Segue a solução, qualquer dúvida estou a disposição.

<?php
//Caminho do Certificado
$file = 'a1_saude.pfx';
$certs = array ();
$pkcs12 = file_get_contents( $file );
if( openssl_pkcs12_read($pkcs12, $certs, '123456789') ){
$dados = array ();
$dados = openssl_x509_parse( openssl_x509_read($certs['cert']) );

//print_r( $dados );
//Dados mais importantes
echo $dados['subject']['C'].'<br>'; //País
echo $dados['subject']['ST'].'<br>'; //Estado
echo $dados['subject']['L'].'<br>'; //Município
echo $dados['subject']['CN'].'<br>'; //Razão Social e CNPJ / CPF
echo date('d/m/Y', $dados['validTo_time_t'] ).'<br>';//Validade
echo $dados['extensions']['subjectAltName'].'<br>'; //Emails Cadastrados separado por ,

}
?>

Alberto

unread,
Mar 13, 2019, 2:32:23 PM3/13/19
to NFePHP
Muito bom amigo!

Ajudou bastante!
Reply all
Reply to author
Forward
0 new messages