composer require slam/php-p7m-reader
openssl
binaryext-openssl
WARNING: the signature is verified, but the validity of the certificate it is not!
$p7mReader = \Slam\P7MReader\P7MReader::decodeFromFile(
new \SplFileObject('/path/to/my.xml.p7m'),
__DIR__ . '/tmp' // Optional custom temporary directory, defaults to sys_get_temp_dir()
);
// OR
$p7mReader = \Slam\P7MReader\P7MReader::decodeFromBase64(
'Abc==', // base64 encoded content file
__DIR__ . '/tmp' // Optional custom temporary directory, defaults to sys_get_temp_dir()
);
var_dump($p7mReader->getP7mFile()); // string: The original P7M file
var_dump($p7mReader->getContentFile()); // SplFileObject: The signed content
var_dump($p7mReader->getCertFile()); // SplFileObject: The certificate
var_dump($p7mReader->getCertData()); // array: Certificate data in openssl_x509_parse output format