John Davidson

openssl - Extract serial number from .pfx file using PHP


Is there a simple way using OpenSSL to extract the serial number of a certificate using PHP?

I've tried converting the .pfx file to a .pem file using an openssl command, but I'm wondering if it's possible purely inside PHP.

I'm currently able to read the serial number from a .pem/.crt file, but not from a .pfx file.

Thank you for any help given

My Answer:
You can extract the serial number from a .pfx file using PHP by using the `openssl_pkcs12_read` function. Here's an example code snippet to achieve this:

$pfxFile = 'path/to/your/file.pfx';
$pfxPassword = 'password';

$certs = [];
if (openssl_pkcs12_read(file_get_contents($pfxFile), $certs, $pfxPassword)) {
$cert = $certs['cert'];
$x509 = openssl_x509_read($cert);
$certInfo = openssl_x509_parse($x509);

$serialNumber = $certInfo['serialNumber'];

echo "Serial Number: $serialNumber";
} else {
echo "Failed to read .pfx file";

Make sure to replace `path/to/your/file.pfx` with the actual path to your .pfx file and `password` with the password used to protect the .pfx file. This code snippet will read the .pfx file, extract the certificate information, and then retrieve the serial number from it.

Rate this post

5 of 5 based on 1413 votes


© 2024 - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us