1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-13 18:40:57 +02:00

gnu: Add go-github-com-mholt-acmez.

* gnu/packages/golang-web.scm (go-github-com-mholt-acmez): New variable.

Change-Id: I220f588ff600e032c38974b9f09e873d22a1811a
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
Artyom V. Poptsov 2024-11-14 22:21:28 +03:00
parent 082e2746e0
commit 12b606f276
No known key found for this signature in database
GPG key ID: 935EBE0736DC857E

View file

@ -3654,6 +3654,68 @@ integrates with Go's runtime network poller to provide asynchronous I/O and
deadline support.")
(license license:expat)))
(define-public go-github-com-mholt-acmez
(package
(name "go-github-com-mholt-acmez")
(version "2.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mholt/acmez")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xfl6p8izgjs1d26iygfilmmagxld409qsgdy60r1chfsrcnraby"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/mholt/acmez"))
(propagated-inputs
(list go-golang-org-x-crypto
go-golang-org-x-net
go-go-uber-org-zap))
(home-page "https://github.com/mholt/acmez")
(synopsis "ACME (RFC 8555) client library for Go")
(description
"@code{ACMEz} is a lightweight, fully-compliant
@url{https://tools.ietf.org/html/rfc8555, RFC 8555} (ACME) implementation, that
provides an API for getting certificates. @code{ACMEz} is suitable for large-scale
enterprise deployments. It also supports common IETF-standardized ACME extensions.
This module has two primary packages:
@itemize
@item @code{acmez} is a high-level wrapper for getting certificates. It implements
the ACME order flow described in RFC 8555 including challenge solving using pluggable
solvers.
@item @code{acme} is a low-level RFC 8555 implementation that provides the
fundamental ACME operations, mainly useful if you have advanced or niche
requirements.
@end itemize
Main features:
@itemize
@item Go API that thoroughly documented with spec citations.
@item Structured error values (@samp{problems} as defined in
@url{https://tools.ietf.org/html/rfc7807, RFC 7807}.)
@item Smart retries (resilient against network and server hiccups.)
@item Challenge plasticity (randomized challenges, and will retry others if one
fails.)
@item Context cancellation (suitable for high-frequency config changes or reloads.)
@item Highly flexible and customizable.
@item External Account Binding (EAB) support.
@item Tested with numerous ACME CAs (more than just Let's Encrypt.)
@item Implements niche aspects of RFC 8555 (such as alt cert chains and account key
rollover.)
@item Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
@item Utility functions for solving challenges: device attestation
challenges (draft-acme-device-attest-02), @url{https://tools.ietf.org/html/rfc8737,
RFC 8737} (tls-alpn-01 challenge), @url{https://tools.ietf.org/html/rfc8823, RFC
8823} (email-reply-00 challenge; S/MIME.)
@item ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
@end itemize")
(license license:asl2.0)))
(define-public go-github-com-microcosm-cc-bluemonday
(package
(name "go-github-com-microcosm-cc-bluemonday")