| 123456789101112131415161718192021222324252627282930313233343536373839404142 | #!/bin/bash -xset -e# generate self-signed CA certificategmssl sm2keygen -pass 1234 -out cakey.pem -pubout pubkey.pemgmssl certgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN CA -days 365 -key cakey.pem -pass 1234 -out cacert.pemgmssl certparse -in cacert.pem# generate a req and sign by CA certificategmssl sm2keygen -pass 1234 -out signkey.pem -pubout pubkey.pemgmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN Alice -key signkey.pem -pass 1234 -out signreq.pemgmssl reqsign -in signreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out signcert.pemgmssl certparse -in signcert.pem# sign a encryption certificate with the same DN, different KeyUsage extensiongmssl sm2keygen -pass 1234 -out enckey.pem -pubout pubkey.pemgmssl reqgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN Alice -key enckey.pem -pass 1234 -out encreq.pemgmssl reqsign -in encreq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out enccert.pemgmssl certparse -in enccert.pem# 中文gmssl sm2keygen -pass 1234 -out alicekey.pem -pubout alicepubkey.pemgmssl reqgen -O "北京大学" -CN "爱丽丝" -key alicekey.pem -pass 1234 -out alicereq.pemgmssl reqsign -in alicereq.pem -days 365 -key_usage digitalSignature -cacert cacert.pem -key cakey.pem -pass 1234 -out alicecert.pemgmssl certparse -in alicecert.pemrm -fr pubkey.pemrm -fr cacert.pemrm -fr signkey.pemrm -fr signreq.pemrm -fr signcert.pemrm -fr enckey.pemrm -fr encreq.pemrm -fr enccert.pemrm -fr alicekey.pemrm -fr alicepubkey.pemrm -fr alicereq.pemrm -fr alicecert.pemecho ok
 |