John Davidson

openssl - Extract serial number from .pfx file using PHP

0 comments
Message:


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:

php
$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

4 of 5 based on 6796 votes

Comments




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