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.4k↓11.9%2GPL-2.0-onlyPHPPHP ^5.6 || ^7.0CI failing

Since Mar 16Pushed 2y 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 yesterday

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

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

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

2115d 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.6k465.6M1.5k](/packages/phpseclib-phpseclib)[acmephp/core

Raw implementation of the ACME protocol in PHP

411.0M8](/packages/acmephp-core)[acmephp/ssl

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

151.4M4](/packages/acmephp-ssl)[acmephp/acmephp

Let's Encrypt client written in PHP

650159.8k](/packages/acmephp-acmephp)[kelunik/acme

ACME library written in PHP.

121610.5k3](/packages/kelunik-acme)[paragonie/certainty

Up-to-date, verifiable repository for Certificate Authorities

2662.6M22](/packages/paragonie-certainty)

PHPackages © 2026

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