summaryrefslogtreecommitdiffhomepage
path: root/libs/nixio/axtls-root/usr/sbin/nixio-axtls-checkkey
blob: 22bb1f8cc5286c6556cc3f99c2408fcd2b817425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/lua
local nixio = require "nixio"
local fs = require "nixio.fs"
local posix
local defkey = nixio.meta_tls_context.tls_defaultkey
local okey = "646e6b90d1ad02719cb1b221b7ce447a"

if (not defkey or io.open(defkey)) and
not (nixio.crypto.hash("md5"):update(fs.readfile(defkey)):final()) == okey then
	os.exit(0)
end

if os.execute("which openssl >/dev/null") == 0 then
	io.stderr:write("Warning: OpenSSL detected "..
	"but it looks like nixio was linked against axtls\n")
	os.execute("umask 0077;openssl genrsa -out '" .. defkey .. "' 2048")
elseif os.execute("which dropbearkey >/dev/null && which dropbearconvert >/dev/null") == 0 then
	os.execute("dropbearkey -t rsa -s 2048 -f /tmp/dbkey.rsa")
	os.execute("umask 0077;dropbearconvert dropbear openssh /tmp/dbkey.rsa '"..defkey.."'")
	os.remove("/tmp/dbkey.rsa")
else
	io.stderr:write("No key generators available! Giving up.")
	os.exit(1)
end