joelwmale/php-ssl-certificate

Easily retrieve the ssl certificate for any host

2.0.2 2021-09-11 03:50 UTC

README

Build Status Total Downloads Latest Stable Version License

This package makes it easy to download a certificate for a host.

Usage

use Joelwmale\SslCertificate\Certificate;

$certificate = Certificate::forHost('joelmale.com');

Installation

You can install the package via composer:

composer require joelwmale/php-ssl-certificate

Available Properties & Methods

/** @var string */
$certificate->issuer; // returns the issuer of the certificate

/** @var string */
$certificate->domain; // returns the primary domain on the certificate

/** @var array */
$certificate->additionalDomains; // returns all the additional/alt domains on the certificate

/** @var bool */
$certificate->isValid; // returns true if valid, false if not

/** @var Carbon */
$certificate->issued; // returns a carbon instance of when the certificate was issued

/** @var Carbon */
$certificate->expires; // returns a carbon instance of when the certificate expires

/** @var int */
$certificate->expiresIn; // returns the amount of days until the certificate expires

/** @var bool */
$certificate->expired; // returns true if the certificate is expired, false if not

/** @var string */
$certificate->signatureAlgorithm; // returns the signature algorithm used to sign the certificate

/** @var bool */
$certificate->isSelfSigned; // returns true if the certificate was self signed

Get raw certificate as JSON

$certificate->getRawCertificateFieldsAsJson();

Determining if the certificate is valid at a given date

Returns true if the certificate will still be valid. Takes a Carbon instance as the first parameter.

$certificate->isValidAt(Carbon::today()->addMonth(1));

Determining if certificate contains/convers a domain

Returns true if the certificate contains the domain

$certificate->containsDomain('joelmale.dev');

Testing

$ composer test

Changelog

Please see CHANGELOG for a list of recent changes.