cademo.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash -x
  2. set -e
  3. gmssl sm2keygen -pass 1234 -out rootcakey.pem
  4. gmssl certgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN ROOTCA -days 3650 -key rootcakey.pem -pass 1234 -out rootcacert.pem -key_usage keyCertSign -key_usage cRLSign
  5. gmssl certparse -in rootcacert.pem
  6. gmssl sm2keygen -pass 1234 -out cakey.pem
  7. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN "Sub CA" -key cakey.pem -pass 1234 -out careq.pem
  8. gmssl reqsign -in careq.pem -days 365 -key_usage keyCertSign -path_len_constraint 0 -cacert rootcacert.pem -key rootcakey.pem -pass 1234 -out cacert.pem
  9. gmssl certparse -in cacert.pem
  10. gmssl sm2keygen -pass 1234 -out signkey.pem
  11. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key signkey.pem -pass 1234 -out signreq.pem
  12. gmssl reqsign -in signreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out signcert.pem
  13. gmssl certparse -in signcert.pem
  14. gmssl sm2keygen -pass 1234 -out enckey.pem
  15. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key enckey.pem -pass 1234 -out encreq.pem
  16. gmssl reqsign -in encreq.pem -days 365 -key_usage keyEncipherment -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pem
  17. gmssl certparse -in enccert.pem
  18. rm -fr revoked_certs.der
  19. gmssl certrevoke -in signcert.pem -reason keyCompromise -out revoked_certs.der
  20. gmssl certrevoke -in enccert.pem -reason keyCompromise -out revoked_certs.der
  21. gmssl crlgen -in revoked_certs.der -cacert cacert.pem -key cakey.pem -pass 1234 -next_update 20240101000000Z -gen_authority_key_id -crl_num 1 -out crl.der
  22. gmssl crlparse -in crl.der
  23. rm -fr rootcakey.pem
  24. rm -fr rootcacert.pem
  25. rm -fr cakey.pem
  26. rm -fr careq.pem
  27. rm -fr cacert.pem
  28. rm -fr signkey.pem
  29. rm -fr signreq.pem
  30. rm -fr signcert.pem
  31. rm -fr enckey.pem
  32. rm -fr encreq.pem
  33. rm -fr enccert.pem
  34. rm -fr revoked_certs.der
  35. rm -fr crl.der
  36. echo "all ok"