1# 命令行工具 2 3注意: 4 5* 命令行工具接口在v3版本正式发布前还会有较大调整 6* SM2, SM3, SM4等算法的命令相对比较底层,是对C语言接口的简单封装,命令行的应用开发者需要组合使用这些指令 7 8命令行工具: 9 10* `sm3` 计算SM3杂凑值,支持带公钥和ID的Z值计算 11* `sm3hmac` 计算SM3-HMAC值 12* `sm2keygen` 生成SM2密钥对,以PKCS #8口令加密的PEM格式存储 13* `sm2sign`,`sm2verify` SM2签名和验证,生成DER二进制编码的SM2签名值 14* `sm2encrypt`,`sm2decrypt` SM2加解密,注意只支持较短的消息加密 15* `reqgen` 生成PKCS #10证书签名请求PEM文件 16* `reqparse` 解析打印REQ文件 17* `reqsign` CA用私钥对REQ文件签名,生成证书 18* `certgen`生成自签名证书 19* `certparse` 解析打印证书 20* `certverify` 验证证书链 21 22TLS功能 23 24* `tlcp_client` 25* `tlcp_server` 26* `tls12_client` 27* `tls12_server` 28* `tls13_client` 29* `tls13_server` 30 31私钥总是默认以口令加密的方式存储 32SM3/HMAC-SM3 以二进制的格式输出 33签名和SM2Ciphertext以DER编码输出 34 35 36应该提供一个口令导出密钥的算法,由口令导出密钥 37 38SM4加密需要外部提供key, iv 39HMAC-SM3可以用命令行的方式拼合 40因此没必要提供一个单独的SM4-CBC-HMAC-SM3 41 42