tlcp_server.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/bash -x
  2. gmssl sm2keygen -pass 1234 -out rootcakey.pem
  3. 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 -ca
  4. gmssl certparse -in rootcacert.pem
  5. gmssl sm2keygen -pass 1234 -out cakey.pem
  6. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN "Sub CA" -key cakey.pem -pass 1234 -out careq.pem
  7. 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 -ca
  8. gmssl certparse -in cacert.pem
  9. gmssl sm2keygen -pass 1234 -out signkey.pem
  10. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key signkey.pem -pass 1234 -out signreq.pem
  11. gmssl reqsign -in signreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out signcert.pem
  12. gmssl certparse -in signcert.pem
  13. gmssl sm2keygen -pass 1234 -out enckey.pem
  14. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -key enckey.pem -pass 1234 -out encreq.pem
  15. gmssl reqsign -in encreq.pem -days 365 -key_usage keyEncipherment -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pem
  16. gmssl certparse -in enccert.pem
  17. cat signcert.pem > double_certs.pem
  18. cat enccert.pem >> double_certs.pem
  19. cat cacert.pem >> double_certs.pem
  20. sudo gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 -cacert cacert.pem 1>/dev/null 2>/dev/null &
  21. #sudo gmssl tlcp_server -port 443 -cert double_certs.pem -key signkey.pem -pass 1234 -ex_key enckey.pem -ex_pass 1234 1>/dev/null 2>/dev/null &
  22. sleep 3
  23. gmssl sm2keygen -pass 1234 -out clientkey.pem
  24. gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN Client -key clientkey.pem -pass 1234 -out clientreq.pem
  25. gmssl reqsign -in clientreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out clientcert.pem
  26. gmssl certparse -in clientcert.pem
  27. # build and install BabaSSL 8.3.2
  28. # Download
  29. # ./config enable-ntls; make; sudo make install
  30. # current /demos/scripts
  31. # /build/bin
  32. openssl version
  33. ../../build/bin/demo_sm2_key_export clientkey.pem 1234 > clientpkey.pem
  34. #openssl s_client -enable_ntls -ntls -connect localhost:443 -no_ticket -CAfile rootcacert.pem -sign_cert clientcert.pem -sign_key clientpkey.pem -pass pass:1234