Makefile 1.1 KB

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