commit 1a915e91ff6ccaef24037f74e44fd98d89a09c2e
parent 197e2eb5b1576bd10f2ab02f8b809c8163e814df
Author: Daniel Barlow <dan@telent.net>
Date: Sun, 6 Oct 2024 10:13:28 +0100
add altname to CSR
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/pkgs/certifix-client/certifix-client.fnl b/pkgs/certifix-client/certifix-client.fnl
@@ -3,6 +3,7 @@
(local ctx (require :openssl.ssl.context))
(local csr (require :openssl.x509.csr))
+(local altname (require :openssl.x509.altname))
(local pkey (require :openssl.pkey))
(local xn (require :openssl.x509.name))
@@ -21,6 +22,13 @@
(n:add k v)))
n))
+(fn x509-altname [subj]
+ (let [an (altname.new)]
+ (each [_ c (ipairs (split "," subj))]
+ (let [(k v) (string.match c "(.-)=(.+)")]
+ (if (= k "CN") (an:add "DNS" v))))
+ an))
+
(fn parse-args [args]
(case args
["--secret" secret & rest]
@@ -49,6 +57,7 @@
(doto (csr.new)
(: :setVersion 3)
(: :setSubject (x509-name options.subject))
+ (: :setSubjectAlt (x509-altname options.subject))
(: :setPublicKey pk)
(: :addAttribute :challengePassword [options.secret])
(: :sign pk)))