sdk: Add generate_keys target
authorPaul Spooren <mail@aparcar.org>
Mon, 14 Feb 2022 18:56:40 +0000 (19:56 +0100)
committerPaul Spooren <mail@aparcar.org>
Wed, 23 Feb 2022 19:23:56 +0000 (20:23 +0100)
Generate all required keys automatically, required to build packages
with APK.

Signed-off-by: Paul Spooren <mail@aparcar.org>
target/sdk/files/Makefile

index a710ca5f5159fe9feab21da2acc47471d946f9d6..b0c940fb80e7a9b84461e87dc0afd6063ab86b59 100644 (file)
@@ -55,6 +55,30 @@ prereq: $(package/stamp-prereq) ;
 world: prepare $(package/stamp-compile) FORCE
        @$(MAKE) package/index
 
+generate_keys:
+       if [ -s $(BUILD_KEY) ] && [ -s $(BUILD_KEY).pub ]; then \
+               printf "$(_R)WARNING: $(BUILD_KEY) already exists$(_N)\n" >&2; \
+       else \
+               $(STAGING_DIR_HOST)/bin/usign -G -s $(BUILD_KEY) -p $(BUILD_KEY).pub -c "Local build key"; \
+               printf "$(_G)SUCCESS: $(BUILD_KEY) generated$(_N)\n" >&2; \
+       fi
+
+       if [ -s $(BUILD_KEY).ucert ]; then \
+               printf "$(_R)WARNING: $(BUILD_KEY).ucert already exists$(_N)\n" >&2; \
+       else \
+               $(STAGING_DIR_HOST)/bin/ucert -I -c $(BUILD_KEY).ucert -p $(BUILD_KEY).pub -s $(BUILD_KEY); \
+               printf "$(_G)SUCCESS: $(BUILD_KEY) generated$(_N)\n" >&2; \
+       fi
+
+       if [ -s $(BUILD_KEY_APK_SEC) -a -s $(BUILD_KEY_APK_PUB) ]; then \
+               printf "$(_R)WARNING: $(BUILD_KEY_APK_SEC) already exists$(_N)\n" >&2; \
+       else \
+               openssl ecparam -name prime256v1 -genkey -noout -out $(BUILD_KEY_APK_SEC); \
+               printf "$(_G)SUCCESS: $(BUILD_KEY_APK_SEC) generated$(_N)\n" >&2; \
+               openssl ec -in $(BUILD_KEY_APK_SEC) -pubout > $(BUILD_KEY_APK_PUB); \
+               printf "$(_G)SUCCESS: $(BUILD_KEY_APK_PUB) generated$(_N)\n" >&2; \
+       fi
+
 .PHONY: clean dirclean prereq prepare world
 
 endif