diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 41 |
1 files changed, 39 insertions, 2 deletions
@@ -1,12 +1,49 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright(c) 2019 Bjørn Mork <bjorn@mork.no> -FILES=version opt.local +FILES=version opt.local +PRIKEY=PriKey.pem +SIGNKEY=signkey.pem -all: opt.squashfs +all: fw.tar version: dcs8000lh-configure.py sed -ne 's/"//g' -e 's/^VERSION *= *//p' dcs8000lh-configure.py >$@ opt.squashfs: $(FILES) mksquashfs $(FILES) $@ -all-root -comp xz + +aes.key: + openssl rand 16 > $@ + +aes.key.rsa: aes.key $(PRIKEY) + openssl rsautl -encrypt -in aes.key -inkey $(PRIKEY) -out $@ + +### FIXME: This is verified using the pubkey in /etc/db/verify.key, which will fail +sign.sha1.rsa: sign.sha1 $(SIGNKEY) + openssl rsautl -sign -inkey $(SIGNKEY) -out sign.sha1.rsa -in sign.sha1 + +$(SIGNKEY): + openssl genrsa -out $(SIGNKEY) + +sign.sha1: update.bin.aes aes.key.rsa certificate.info update.sha1 + cat $^ | openssl dgst -sha1 | cut -d' ' -f2 > $@ + +fw.tar: certificate.info aes.key.rsa sign.sha1.rsa update.aes update.bin.aes + tar cvf $@ $^ + +update.sha1: update.aes + openssl dgst -sha1 $^ | cut -d' ' -f2 > $@ + +update.aes: aes.key opt.squashfs + openssl aes-128-cbc -md md5 -kfile aes.key -nosalt -e -out $@ -in opt.squashfs + +update.bin.aes: aes.key update.bin + openssl aes-128-cbc -md md5 -kfile aes.key -nosalt -e -out $@ -in update.bin + +clean: + rm *.rsa *.aes opt.squashfs sign.sha1 + +distclean: clean + rm aes.key + |