{"repo":"lsnepomuceno/laravel-a1-pdf-sign","free":true,"listed":false,"github":"https://github.com/lsnepomuceno/laravel-a1-pdf-sign","clone":"git clone https://github.com/lsnepomuceno/laravel-a1-pdf-sign.git","description":"Multiple digital signatures on a single PDF, in Laravel. Each signature is appended as a new revision, so signing again never invalidates the ones before it. A1/x509 certificates, PAdES profiles, RFC 3161 timestamps, LTV and cryptographic validation.","language":"PHP","stars":318,"topics":["laravel-framework","lumen","php","sign","sign-pdf","back-end","laravel","openssl","icp","icp-brasil"],"license":"MIT","category":"media-processing","readme_excerpt":"Sign PDF files with an A1 certificate Digital signatures for Laravel, from PKCS#12 or PEM, with PAdES profiles, long-term validation and cryptographic verification of signatures a document already carries. Documentation &nbsp;·&nbsp; Release notes &nbsp;·&nbsp; Upgrading &nbsp;·&nbsp; Signed samples --- Installation Nothing else to register: the service provider is discovered, and the A1PdfSign facade is available immediately. openssl on PATH is not required to sign; it is used only for verifying a signature and for reading a legacy PFX file. Where it is needed it is needed properly: ext-openssl being loaded is a different thing from the binary being installed , and a minimal container commonly has the first without the second. Validating without it raises MissingBinaryException , and an environment where proc open is disabled raises ProcessUnavailableException . Neither is reported as a signature that failed to verify. Every exception this package raises implements Exceptions\\A1PdfSignException , so an application can handle them as a group rather than by name: The classes stay granular beneath it. InvalidCertificatePasswordException is the one worth catching on its own, since a wrong password is the failure a production application meets most, and it extends InvalidCertificateContentException so the general catch still works. Signing [!IMPORTANT] Signing appends a revision rather than rebuilding the document. The original bytes survive byte for byte, so annotations, form fi","default_branch":null,"files":null,"tree":[],"storefront":"/r/lsnepomuceno","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lsnepomuceno/laravel-a1-pdf-sign/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}