PHPackages                             lsnepomuceno/laravel-a1-pdf-sign - 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. [PDF &amp; Document Generation](/categories/documents)
4. /
5. lsnepomuceno/laravel-a1-pdf-sign

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

lsnepomuceno/laravel-a1-pdf-sign
================================

Sign PDF files with valid x509 certificates

1.4.1(1y ago)317115.2k↓50.4%63[1 issues](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/issues)[1 PRs](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/pulls)MITPHPPHP &gt;=8.1 &lt;8.5CI failing

Since Jun 10Pushed 1w ago9 watchersCompare

[ Source](https://github.com/lsnepomuceno/laravel-a1-pdf-sign)[ Packagist](https://packagist.org/packages/lsnepomuceno/laravel-a1-pdf-sign)[ Docs](https://github.com/lsnepomuceno/laravel-a1-pdf-sign)[ RSS](/packages/lsnepomuceno-laravel-a1-pdf-sign/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (10)Dependencies (10)Versions (57)Used By (0)

 [![Signature image](https://user-images.githubusercontent.com/14093492/127516361-48fbde85-1f34-4626-82ae-44b11aa0de15.png)](https://user-images.githubusercontent.com/14093492/127516361-48fbde85-1f34-4626-82ae-44b11aa0de15.png)

Sign PDF files with valid x509 certificate
==========================================

[](#sign-pdf-files-with-valid-x509-certificate)

 [ ![Latest Stable Version](https://camo.githubusercontent.com/4557a5dd279a573062846468e469c08d711c444bc665cdf07332015ee83bd366/68747470733a2f2f706f7365722e707567782e6f72672f6c736e65706f6d7563656e6f2f6c61726176656c2d61312d7064662d7369676e2f76) ](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/releases/latest) [ ![Total Downloads](https://camo.githubusercontent.com/ab129ee1b27e1e453e930b7d4b5aa552eb815b5cef2a0b4a7a9bec0739b4339c/68747470733a2f2f706f7365722e707567782e6f72672f6c736e65706f6d7563656e6f2f6c61726176656c2d61312d7064662d7369676e2f646f776e6c6f616473) ](https://packagist.org/packages/lsnepomuceno/laravel-a1-pdf-sign/stats) [ ![Latest Unstable Version](https://camo.githubusercontent.com/5a777b4d718031790a55ae1fd43739e1643c9731fe1d60380adb248992233a50/68747470733a2f2f706f7365722e707567782e6f72672f6c736e65706f6d7563656e6f2f6c61726176656c2d61312d7064662d7369676e2f762f756e737461626c65) ](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/tree/dev) [ ![License](https://camo.githubusercontent.com/0197aaef84bf368833795b0e10aa59aa4c642900e65bba7990559dd1e0232cb2/68747470733a2f2f706f7365722e707567782e6f72672f6c736e65706f6d7563656e6f2f6c61726176656c2d61312d7064662d7369676e2f6c6963656e7365) ](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/blob/main/LICENSE.md) [ ![Tests](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/actions/workflows/main_action.yml/badge.svg) ](https://github.com/lsnepomuceno/laravel-a1-pdf-sign/actions/workflows/main_action.yml)

   Reference    Laravel version PHP version Package version Docs   ^8 ~8.54 ^7.4 ^0 ~0.0.11 [Official Doc](https://laravel-a1-pdf-sign.netlify.app/docs/0.x/home)   ^8.56+ ^0.0.12   ^9 ^8.1 || ^8.2 ^1 [Official Doc](https://laravel-a1-pdf-sign.netlify.app/docs/1.x/release-notes)   ^10 ^8.1 || ^8.2 || ^8.3   ^11 || ^12 ^8.2 || ^8.3 || ^8.4   ^13 ^8.4 || ^8.5 ^2 [Official Doc](https://laravel-a1-pdf-sign.netlify.app/docs/2.x/release-notes) Version 2
---------

[](#version-2)

```
composer require lsnepomuceno/laravel-a1-pdf-sign
```

```
use LSNepomuceno\LaravelA1PdfSign\Facades\A1PdfSign;

$signed = A1PdfSign::newSignature()
    ->certificate($pfxPath, $password)
    ->pdf($pdfPath)
    ->info(name: 'Lucas', reason: 'Contract')
    ->seal()                       // omit for an invisible signature
    ->sign();

$signed->contents();               // string
$signed->save($path);              // path
$signed->download('contract.pdf'); // BinaryFileResponse
```

**Signing appends a revision rather than rebuilding the document.** The original bytes survive, so annotations and form fields are preserved and a document can carry more than one signature — the request in [TCPDF#430](https://github.com/tecnickcom/TCPDF/issues/430), open since 2021.

Signed samples for every profile, including a document carrying six signatures, live in [`samples/`](samples/README.md) — open them in any reader to see what the package produces.

### PAdES profiles

[](#pades-profiles)

ProfileAdds`legacy`ISO 32000-1 detached CMS`pades-b-b`CAdES signed attributes, with ESS `signing-certificate-v2`. **Default**`pades-b-t`plus an RFC 3161 timestamp`pades-b-lt`plus a Document Security Store, so it still verifies after the certificate expires`pades-b-lta`plus an archive timestamp over the whole file```
A1PdfSign::newSignature()
    ->certificate($pfx, $password)
    ->pdf($path)
    ->profile('pades-b-lt')   // needs A1_TSA_URL configured
    ->sign();
```

### Validation

[](#validation)

```
$report = A1PdfSign::validate($pdfPath);

$report->isValid();     // every signature verifies against the bytes it covers
$report->count();       // how many signatures the document carries
$report->signers();     // structured signer identity
```

`isValid()` answers whether each signature matches the document. It does not check the issuer against a trust store — that decision stays with your application.

Configuration is publishable:

```
php artisan vendor:publish --tag=a1-pdf-sign-config
```

Upgrading from 1.x? See [UPGRADE.md](UPGRADE.md).

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance72

Regular maintenance activity

Popularity52

Moderate usage in the ecosystem

Community24

Small or concentrated contributor base

Maturity84

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 84.5% 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 ~34 days

Recently: every ~51 days

Total

42

Last Release

502d ago

Major Versions

0.0.17.1 → 1.0.0-alpha2022-03-22

PHP version history (4 changes)0.0.1PHP ^7.4 || ^8.0

1.0.0-alphaPHP ^8.1

1.1.0PHP ^8.1 || ^8.2 || ^8.3

1.4.0PHP &gt;=8.1 &lt;8.5

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/14093492?v=4)[Lucas Nepomuceno](/maintainers/lsnepomuceno)[@lsnepomuceno](https://github.com/lsnepomuceno)

---

Top Contributors

[![lsnepomuceno](https://avatars.githubusercontent.com/u/14093492?v=4)](https://github.com/lsnepomuceno "lsnepomuceno (273 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (42 commits)")[![celli33](https://avatars.githubusercontent.com/u/23373649?v=4)](https://github.com/celli33 "celli33 (2 commits)")[![tomoliveirabastos](https://avatars.githubusercontent.com/u/34668864?v=4)](https://github.com/tomoliveirabastos "tomoliveirabastos (2 commits)")[![erikwii](https://avatars.githubusercontent.com/u/21095856?v=4)](https://github.com/erikwii "erikwii (1 commits)")[![emtudo](https://avatars.githubusercontent.com/u/191396?v=4)](https://github.com/emtudo "emtudo (1 commits)")[![AlexKratky](https://avatars.githubusercontent.com/u/33813757?v=4)](https://github.com/AlexKratky "AlexKratky (1 commits)")[![joaovdiasb](https://avatars.githubusercontent.com/u/51106311?v=4)](https://github.com/joaovdiasb "joaovdiasb (1 commits)")

---

Tags

back-endcertificatedocument-signdocument-signatureicpicp-brasillaravellaravel-frameworklumenopensslpdf-signpdf-signaturephpsignsign-pdfx509x509certificatesx509signlaravelx509certificatesignicp-brasila1sign pdf

### Embed Badge

![Health badge](/badges/lsnepomuceno-laravel-a1-pdf-sign/health.svg)

```
[![Health](https://phpackages.com/badges/lsnepomuceno-laravel-a1-pdf-sign/health.svg)](https://phpackages.com/packages/lsnepomuceno-laravel-a1-pdf-sign)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k39.6k](/packages/matomo-matomo)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

79227.1M227](/packages/laravel-mcp)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[intervention/image-laravel

Laravel Integration of Intervention Image

1589.8M226](/packages/intervention-image-laravel)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45844.8k1](/packages/pressbooks-pressbooks)[api-platform/laravel

API Platform support for Laravel

58190.1k21](/packages/api-platform-laravel)

PHPackages © 2026

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