An open API service indexing awesome lists of open source software.

https://github.com/slamdunk/php-p7m-reader


https://github.com/slamdunk/php-p7m-reader

openssl p7m php pkcs7

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# Slam P7M Reader

[![Latest Stable Version](https://img.shields.io/packagist/v/slam/php-p7m-reader.svg)](https://packagist.org/packages/slam/php-p7m-reader)
[![Downloads](https://img.shields.io/packagist/dt/slam/php-p7m-reader.svg)](https://packagist.org/packages/slam/php-p7m-reader)
[![Integrate](https://github.com/Slamdunk/php-p7m-reader/workflows/CI/badge.svg)](https://github.com/Slamdunk/php-p7m-reader/actions)
[![Code Coverage](https://codecov.io/gh/Slamdunk/php-p7m-reader/coverage.svg)](https://codecov.io/gh/Slamdunk/php-p7m-reader)

## Installation

`composer require slam/php-p7m-reader`

## Requirements

1. `openssl` binary
1. `ext-openssl`

## Usage

*WARNING*: the signature is verified, but the validity of the certificate it is not!

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