PHPackages                             hrobertson/x509-verify - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. hrobertson/x509-verify

ActiveLibrary[Security](/categories/security)

hrobertson/x509-verify
======================

Check if one X.509 certificate is the signer of another

v1.0.1(5y ago)32.0k↑66.7%2GPL-2.0-onlyPHPPHP ^5.6 || ^7.0CI failing

Since Mar 16Pushed 1y ago1 watchersCompare

[ Source](https://github.com/hrobertson/php-x509-verify)[ Packagist](https://packagist.org/packages/hrobertson/x509-verify)[ Docs](https://github.com/hrobertson/php-x509-verify)[ RSS](/packages/hrobertson-x509-verify/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Determine if an X.509 certificate is the signer of another.

This is based on and uses parts of Mike Green's script from

Requirements
------------

[](#requirements)

`PHP 7.0` or `PHP 5.6`

Installation
------------

[](#installation)

The preferred way to install this library is via [Composer](https://getcomposer.org/):

```
$ composer require hrobertson/x509-verify
```

Usage
-----

[](#usage)

```
use HRobertson\X509Verify\SslCertificate;

$leafCertificate = new SslCertificate(file_get_contents('example.com.pem'));
$issuerCertificate = new SslCertificate(file_get_contents('intermediate.pem'));

$leafCertificate->isSignedBy($issuerCertificate); // returns true if $leafCertificate is signed by $issuerCertificate
```

Licence
-------

[](#licence)

As stipulated by Mike Green, the author of the original script, this software is licenced under the GPLv2. Please see [License File](LICENSE.md) for more information.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance26

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~915 days

Total

2

Last Release

2061d ago

PHP version history (2 changes)v1.0.0PHP ^5.6 || ^7.1

v1.0.1PHP ^5.6 || ^7.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/497286?v=4)[Hamish Robertson](/maintainers/hrobertson)[@hrobertson](https://github.com/hrobertson)

---

Top Contributors

[![hrobertson](https://avatars.githubusercontent.com/u/497286?v=4)](https://github.com/hrobertson "hrobertson (8 commits)")

---

Tags

x509certificatesslcertificate-chain

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hrobertson-x509-verify/health.svg)

```
[![Health](https://phpackages.com/badges/hrobertson-x509-verify/health.svg)](https://phpackages.com/packages/hrobertson-x509-verify)
```

###  Alternatives

[phpseclib/phpseclib

PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.

5.6k434.8M1.3k](/packages/phpseclib-phpseclib)[acmephp/core

Raw implementation of the ACME protocol in PHP

38973.7k7](/packages/acmephp-core)[acmephp/ssl

PHP wrapper around OpenSSL extension providing SSL encoding, decoding, parsing and signing features

141.2M4](/packages/acmephp-ssl)[kelunik/acme

ACME library written in PHP.

121603.9k3](/packages/kelunik-acme)[acmephp/acmephp

Let's Encrypt client written in PHP

649155.1k](/packages/acmephp-acmephp)[paragonie/certainty

Up-to-date, verifiable repository for Certificate Authorities

2642.4M20](/packages/paragonie-certainty)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
