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