Perl LE Client and Library


#1

I have a barebones perl client and library for LE, Protocol::ACME.

This is a work in progress and though the provided sample script, client.pl, is fully usable with tweaks for someone else’s environment it is not to be considered complete.

What it does:

  • Provides needed calls for all aspects of account and cert provisioning with LE except for revocation and recovery
  • Gives a call back interface for handling challenges customized for your environment

What is still to be done:

  • Submit to CPAN once it received more feedback and polishing
  • Remove copious amounts of debug code
  • Provide canned modules for common challenges to reduce the need for custom code in most cases
  • Documentation
  • Tests

Use it. Enjoy it. Hate it. Give feedback.

-stephen


#2

Welcome to the forums, @sludin! :slight_smile:


#3

thanks, worked fine for me!


#4

Glad it was useful. If you have any problems or suggestions please pass them along.


#5

generated several hundred certificates tonight
the sleep() in waiting for challenge fulfillment actually became the bottleneck in the end. but its free ssl certs, probably nicer to not hit the letsencrypt servers too hard :wink:
otherwise it works fine

about the only changes I made that others might find useful would be to:

  • to assume apache, and add a .htaccess file in the .well-known/acme-challenge directory to disable modrewrite redirects, and password protection.
    RewriteEngine Off
    Allow from all
    Satisfy Any
  • and, if it didnt exist already, cleanup the .well-known directory as well.
    actually i just rmdir, and let it silently fail if it wasnt empty