1<?php
2//Caminho do Certificado
3$pfxCertPrivado = 'certificado.pfx';
4$cert_password = 'senha';
5
6if (!file_exists($pfxCertPrivado)) {
7 echo "Certificado não encontrado!! " . $pfxCertPrivado;
8}
9
10$pfxContent = file_get_contents($pfxCertPrivado);
11
12if (!openssl_pkcs12_read($pfxContent, $x509certdata, $cert_password)) {
13 echo "O certificado não pode ser lido!!";
14} else {
15
16 $CertPriv = array();
17 $CertPriv = openssl_x509_parse(openssl_x509_read($x509certdata['cert']));
18
19 $PrivateKey = $x509certdata['pkey'];
20
21 $pub_key = openssl_pkey_get_public($x509certdata['cert']);
22 $keyData = openssl_pkey_get_details($pub_key);
23
24 $PublicKey = $keyData['key'];
25
26 echo '<br>'.'<br>'.'--- Dados do Certificado ---'.'<br>'.'<br>';
27 echo $CertPriv['name'].'<br>'; //Nome
28 echo $CertPriv['hash'].'<br>'; //hash
29 echo $CertPriv['subject']['C'].'<br>'; //País
30 echo $CertPriv['subject']['ST'].'<br>'; //Estado
31 echo $CertPriv['subject']['L'].'<br>'; //Município
32 echo $CertPriv['subject']['CN'].'<br>'; //Razão Social e CNPJ / CPF
33 echo date('d/m/Y', $CertPriv['validTo_time_t'] ).'<br>'; //Validade
34 echo $CertPriv['extensions']['subjectAltName'].'<br>'; //Emails Cadastrados separado por ,
35 echo $CertPriv['extensions']['authorityKeyIdentifier'].'<br>';
36 echo $CertPriv['issuer']['OU'].'<br>'; //Emissor
37 echo '<br>'.'<br>'.'--- Chave Pública ---'.'<br>'.'<br>';
38 print_r($PublicKey);
39 echo '<br>'.'<br>'.'--- Chave Privada ---'.'<br>'.'<br>';
40 echo $PrivateKey;
41}
42?>
43