Makefile 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. all : key.enc.pem gpgsm-params cert.der cert.pem cert.openssl-text
  2. key.enc.pem :
  3. openssl genrsa -out "$@" -aes256 2048
  4. subject-keygrip.hex : key.enc.pem
  5. openssl rsa -in "$<" \
  6. | openssl pkcs12 -export -nocerts -passout pass: \
  7. | gpgsm --import 2>&1 \
  8. | grep -Po 'keygrip=\s*\K.*' | sed 's/ //g' >$@
  9. gpgsm-params : gpgsm-params-template subject-keygrip.hex issuer-keygrip.hex expiry-datetime
  10. ./prepare-gpgsm-params --template gpgsm-params-template \
  11. --subject-keygrip "$(shell cat subject-keygrip.hex)" \
  12. --issuer-keygrip "$(shell cat issuer-keygrip.hex)" \
  13. --expiry-datetime "$(shell date --iso-8601=seconds --date="$(shell cat expiry-datetime)")" \
  14. > $@
  15. cert.der : gpgsm-params
  16. gpgsm --gen-key --batch --output $@ < $^
  17. cert.pem : cert.der
  18. openssl x509 -inform der -in $^ -outform pem -out $@
  19. cert.openssl-text : cert.pem
  20. openssl x509 -in $^ -text -noout > $@
  21. clean :
  22. -shred key.enc.pem && rm key.enc.pem
  23. -trash subject-keygrip.hex
  24. -trash gpgsm-params
  25. -trash cert.der
  26. -trash cert.pem
  27. -trash cert.openssl-text