После прочтения http://php.net/manual/en/ref.openssl.php информация, я смог найти способ восстановить данные Pem.
Я надеюсь, что кто-то еще может использовать это.
$pemdata = 'Bag Attributes
localKeyID: 74 F6 DD C5 04 45 2F 67 .............
friendlyName: (cmf_pf_sw_kpsc)_B86554003_50185232Z
subject=/description=Qualified Certificate: *******/CN=JOHN DOE/DA/[email protected]/serialNumber=99999999/SN=JOHN DOE/GN=JOHN*********************/C=ES
issuer=/C=ES/[email protected]/L=***********************
-----BEGIN CERTIFICATE-----
MIIHoTCCBomgAgMQswCQYD
VQQGEwJFUzEuMCwGCSqGSIb3DQEJARYfYWNfY2FtZXJmaXJtYV9jY0BjYW1lcmZp
*****************
'
print_r (getPemData($pemdata));
private function getPemData($pemdata){
$cert = openssl_x509_read( $pemdata );
// Parse the resource and print out the contents.
return openssl_x509_parse( $cert );
}
Он вернет массив с чем-то вроде:
Array
(
[name] => /description=Qualified Certificate: *******/CN=JOHN DOE/DA/[email protected]/serialNumber=99999999/SN=JOHN DOE/GN=JOHN*********************/C=ES
issuer=/C=ES/[email protected]/L=***********************
[subject] => Array
(
[description] => Qualified Certificate: *******
[CN] => JOHN DOE
[emailAddress] => [email protected]
[serialNumber] => 99999999
[SN] => JOHN DOE
[GN] => JOHN
.............
[C] => ES
)
...........
Задача ещё не решена.
Других решений пока нет …