1#!/bin/bash 2 3 4gmssl sm2keygen -pass 1234 -out rootcakey.pem 5gmssl 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 6gmssl certparse -in rootcacert.pem 7 8gmssl sm2keygen -pass 1234 -out cakey.pem 9gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN "Sub CA" -days 3650 -key cakey.pem -pass 1234 -out careq.pem 10gmssl reqsign -in careq.pem -days 365 -key_usage keyCertSign -path_len_constraint 0 -cacert rootcacert.pem -key rootcakey.pem -pass 1234 -out cacert.pem 11gmssl certparse -in cacert.pem 12 13gmssl sm2keygen -pass 1234 -out signkey.pem 14gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -days 365 -key signkey.pem -pass 1234 -out signreq.pem 15gmssl reqsign -in signreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out signcert.pem 16gmssl certparse -in signcert.pem 17 18gmssl sm2keygen -pass 1234 -out enckey.pem 19gmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN localhost -days 365 -key enckey.pem -pass 1234 -out encreq.pem 20gmssl reqsign -in encreq.pem -days 365 -key_usage keyEncipherment -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pem 21gmssl certparse -in enccert.pem 22 23 24cat signcert.pem > certs.pem 25cat cacert.pem >> certs.pem 26gmssl certverify -in certs.pem -cacert rootcacert.pem 27 28 29cat signcert.pem > dbl_certs.pem 30cat enccert.pem >> dbl_certs.pem 31cat cacert.pem >> dbl_certs.pem 32gmssl certverify -double_certs -in dbl_certs.pem -cacert rootcacert.pem 33 34 35