acme: Support selecting ECC certificates from Luci
authorToke Høiland-Jørgensen <toke@redhat.com>
Tue, 8 Jan 2019 10:27:12 +0000 (11:27 +0100)
committerToke Høiland-Jørgensen <toke@toke.dk>
Tue, 8 Jan 2019 10:29:37 +0000 (11:29 +0100)
As pointed out by @andersk, acme.sh already supports ECC certificates, and
they can be set manually in the uci file, just not in Luci. Fix this by
changing the key size selector into a listbox, and adding ECC certs as
options.

Fixes #7825.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
net/acme/Makefile
net/acme/files/acme-cbi.lua

index 7bf98cc06147c0b52b1045e8e561966fc97fca8e..112e56669ed0ce4485d063b4dc9fd7e3b4e08673 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=acme
 PKG_VERSION:=2.7.9
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_LICENSE:=GPLv3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
index 2b97272172591f33848ec723dc22e1cdea600d16..3b02f48ab52f8c64318cd423eefcb57215cc181d 100644 (file)
@@ -53,10 +53,15 @@ us = cs:option(Flag, "use_staging", translate("Use staging server"),
                          "(use for testing; the certificate won't be valid)."))
 us.rmempty = false
 
-kl = cs:option(Value, "keylength", translate("Key length"),
-               translate("Number of bits (minimum 2048)."))
+kl = cs:option(ListValue, "keylength", translate("Key size"),
+               translate("Key size (and type) for the generated certificate."))
+kl:value("2048", "RSA 2048 bits")
+kl:value("4096", "RSA 4096 bits")
+kl:value("8192", "RSA 8192 bits")
+kl:value("ec-256", "ECC 256 bits")
+kl:value("ec-384", "ECC 384 bits")
+kl.default = "2048"
 kl.rmempty = false
-kl.datatype = "and(uinteger,min(2048))"
 
 if uhttpd_presence then
 u = cs:option(Flag, "update_uhttpd", translate("Use for uhttpd"),