uacme: use acme-common and make it able to use acme.sh dns apis#27831
uacme: use acme-common and make it able to use acme.sh dns apis#27831orangepizza wants to merge 4 commits intoopenwrt:masterfrom
Conversation
48d06d8 to
64e247c
Compare
|
It looks like this reworking of the scripts drops both the support for custom CA URLs and the TLS-ALPN-01 challenge. I assume this is not intentional? |
|
It does keep custom ca url (I tested on pebble entire time. See line 45 onword from hook.sh Tls-alpn-01 was never fully done (ulpn.sh was called bit never prepared to run its deamon) |
So what's the config key for that,
It was implemented for |
|
I assumed acmesh and uacme hook wouldn't diverged so just took scripts for acme-common from acme-acmesh and fit uacme command line options as that was what need for luci app acme |
|
Yeah, that's why I'm speaking up (it was a happy accident that I saw your PR, as this was my first and so far only code contribution to a package and I don't often visit this repo). Let's see how @lucize wants to resolve the URL issue. |
|
made a migration script, I migrated acme_uri to acme server but removed acme_uri_staging because there's no ui way to see that, and acme.sh hook sets to acme_server even if --staging is set. and I noticed bug in my hook about renewal in process (acme.sh marks staging cert as but we can't set custom server and staging at same time) so fixed it to |
|
I gave up with using the common package because at that time uacme didn't support all ssl packages that acme supported without adding additional ssl library and all was about smaller packages, you have to bear in mind that, by default both acme and uacme will be built by buildbot |
|
as openwrt now moved back to mbedtls by default and it's supported by uacme (and openssl too) I think it can surely save space in most configuration, so I think it worth the effect. (does anything use wolfssl in openwrt context?) |
09eb69d to
ae907f0
Compare
ae907f0 to
7884e3a
Compare
7618fac to
c9b93c4
Compare
|
uacme upstream updated 1.8.0 with bugfix about musl (which openwrt uses) |
|
thanks |
639382f to
1837420
Compare
|
@lucize if you don't mind I want to add support for dns-perssis-01 challenge: as it most likely solve need of open port 80/443 or give full dns api key on router to run certificate renewal |
ada57ea to
4d14fee
Compare
|
cc @tohojo who is the maintainer of some of the affected packages according to the Makefile(s). |
tohojo
left a comment
There was a problem hiding this comment.
I have only looked at the shared bits, not the uacme changes themselves. These shared bits LGTM :)
|
@orangepizza Can you test whether |
--dig upstream and it looks like it had bug on mbedls version a bug that - in token got deleted before encoded to binary in alpn challenge certificate.-- it work as challenge solver, so If one wanted it you can move luci permanently out of port 443 and still work (we don't start ualpn as start daemon anyway.) do I don't think it worth delectation. |
Fixed upstream in version 1.8.1 |
currently acme metapackage only able to satisfied with acme-acmesh, but make is satisfieable by uacme if it's already installed. still defaults to acme.sh Signed-off-by: Seo Suchan <tjtncks@gmail.com>
remake uacme hook scripts to base on acme-common, and implements helper to able to use acme.sh DNS APIs Signed-off-by: Seo Suchan <tjtncks@gmail.com>
migrate old uacme specific config parameters into acme-common format. Signed-off-by: Seo Suchan <tjtncks@gmail.com>
update uacme version to 1.8.1 , release upstream 2026/4/5 Signed-off-by: Seo Suchan <tjtncks@gmail.com>
|
rebased for update for 1.8.1 instead of 1.8.0. fixing issue/29003 while doing that squashed fixup commits from reviews |
📦 Package Details
Maintainer: @lucize
Description:
dnsapihelper.shand linked into dns challenge hook, so uacme can use dns api from acme.sh without any modification from api side: they want curl or wget, and as uacme already depends on libcurl so I set curl as dependency so I changed dependency to acme-common +acme-acmesh-dnsapi if uacme is selected. while I copied most of acme.sh functions relevant form acme.sh, some if it's function is depend on OpenSSL. while re implemented some in ucode, some crypto functions like sign() and isecc etc will only work when you have OpenSSL, but as only about 10% of 304 scripts calls that I hope one can user themselves can install openssl if needed by their API.🧪 Run Testing Details
tested it can issue and renew certificate with uacme as backed, with config set from uacme without Openssl installed with duckdns /cloudflare/ webroot. (acme-common handles opening port when needed if I read code currectly)
due to upstream bug in uacme, this well log a line of error in for not parsing ari info, but it's already fixed in their master branch and just waiting a new release for them.
and uacme never rotate key by itself, until not-released yet version in master branch.
✅ Formalities