tccli kms CreateKey --Alias test --KeyUsage ASYMMETRIC_SIGN_VERIFY_SM2
{"Response": {"KeyId": "22d79428-61d9-11ea-a3c8-525400******","Alias": "test","CreateTime": 1583739580,"Description": "","KeyState": "Enabled","KeyUsage": "ASYMMETRIC_SIGN_VERIFY_SM2","TagCode": 0,"TagMsg": "","RequestId": "0e3c62db-a408-406a-af27-dd5ced******"}}
tccli kms GetPublicKey --KeyId 22d79428-61d9-11ea-a3c8-525400******
{"Response": {"RequestId": "408fa858-cd6d-4011-b8a0-653805******","KeyId": "22d79428-61d9-11ea-a3c8-525400******","PublicKey": "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEFLlge0vtct949CwtadHODzisgXJahujq+PvM***************bBs/f3axWbvgvHx8Jmqw==","PublicKeyPem": "-----BEGIN PUBLIC KEY-----\\nMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEFLlge0vtct949CwtadHODzisgXJa\\nhujq+PvM***************bBs/f3axWbvgvHx8Jmqw==\\n-----END PUBLIC KEY-----\\n"}}
echo "-----BEGIN PUBLIC KEY-----MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEFLlge0vtct949CwtadHODzisgXJahujq+PvM***************bBs/f3axWbvgvHx8Jmqw==-----END PUBLIC KEY-----" > public_key.pem
echo "test" > test_verify.txt
gmssl sm2utl -dgst -in ./test_verify.txt -pubin -inkey ./public_key.pem -id 1234567812345678 > digest.bin
//消息摘要进行base64编码gmssl enc -e -base64 -A -in digest.bin -out encoded.base64//消息原文进行base64编码gmssl enc -e -base64 -A -in test_verify.txt -out encoded.base64
// 将上述 encoded.base64 的文件内容作为 SignByAsymmetricKey 的 Message 参数,以消息摘要的形式进行签名tccli kms SignByAsymmetricKey --KeyId 22d79428-61d9-11ea-a3c8-525400****** --Algorithm SM2DSA --Message "qJQj83hSyOuU7Tn0SRReGCk4yuuVWaeZ44BP******==" --MessageType DIGEST// 以消息原文的形式进行签名(原文要进行Base64编码)tccli kms SignByAsymmetricKey --KeyId 22d79428-61d9-11ea-a3c8-525400****** --Algorithm SM2DSA --Message "dG***Ao=" --MessageType RAW
{"Response": {"Signature": "U7Tn0SRReGCk4yuuVWaeZ4******","RequestId": "408fa858-cd6d-4011-b8a0-653805******"}}
echo "U7Tn0SRReGCk4yuuVWaeZ4******" | base64 -d > signContent.bin
// 对消息原文进行验证(原文要进行Base64编码)tccli kms VerifyByAsymmetricKey --KeyId 22d79428-61d9-11ea-a3c8-525400****** --SignatureValue "U7Tn0SRReGCk4yuuVWaeZ4******" --Message "dG***Ao=" --Algorithm SM2DSA --MessageType RAW// 对消息摘要进行验证(将步骤4 encoded.base64 文件内容作为 VerifyByAsymmetricKey 的 Message 参数,以消息摘要的形式进行验签)tccli kms VerifyByAsymmetricKey --KeyId 22d79428-61d9-11ea-a3c8-525400****** --SignatureValue "U7Tn0SRReGCk4yuuVWaeZ4******" --Message "QUuAcNFr1Jl5+3GDbCxU7te7Uekq+oTxZ**********=" --Algorithm SM2DSA --MessageType DIGEST
{"Response": {"SignatureValid": true,"RequestId": "6758cbf5-5e21-4c37-a2cf-8d47f5******"}}
gmssl sm2utl -verify -in ./test_verify.txt -sigfile ./signContent.bin -pubin -inkey ./public_key.pem -id 1234567812345678
Signature Verification Successful
文档反馈