nexylan / nexycrypt
Let's Encrypt ACME protocol PHP client
Installs: 56 899
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 6
Forks: 4
Open Issues: 6
Requires
- php: ^7.3 || ^8.0
- ext-openssl: *
- doctrine/collections: ^1.3
- php-http/client-common: ^1.6 || ^2.0
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.3
- spomky-labs/base64url: ^1.0
- webmozart/assert: ^1.3
Requires (Dev)
- analogic/lescript: ^0.1.3
- monolog/monolog: ^1.22
- php-http/guzzle6-adapter: ^1.1 || ^2.0
- php-http/httplug-bundle: ^1.7
- php-http/mock-client: ^1.0
- symfony/var-dumper: ^2.7 || ^3.0
Suggests
- monolog/monolog: A PSR-3 compatible logger
- php-http/httplug-bundle: For Symfony integration as a bundle
- psr/log: To log ACME API requests and responses
README
Let's Encrypt ACME protocol PHP client.
Inspired by analogic/lescript project.
Installation
composer require nexylan/nexycrypt php-http/guzzle6-adapter
Why php-http/guzzle6-adapter
? We are decoupled from any HTTP messaging client thanks to HTTPlug.
Usage
See example root files.
TODO
- Exception management
- Unit test
- Integration test with a fake API
- Symfony console (letsencrypt cli like)
- Save accepted agreement with a boolean getter (
agreement
on reg body) - Implement dns-01 and tls-sni-01 challenges
- Use a JWT library to simplify code