国密SM2相关的API
生成Sm2密匙对
通过“ zwexplorer.__gmUtil.sm2.generateKeyPair(gmRequest,callback(resp));”生成密匙对公钥:
私钥:
function generateKeyPair() {
zwexplorer.__gmUtils.sm2.generateKeyPair({}, (resp) => {
console.log(resp);
if (resp.resultCode === 0) {
$("#sm2_keypare_pub").val(resp.data.publicKey);
$("#sm2_keypare_priv").val(resp.data.privateKey);
} else {
$("#sm2_keypare_pub").val(resp.resultMessage);
}
})
}
签名、验签
通过“ zwexplorer.__gmUtil.sm2.sign(gmRequest,callback(resp));”实现签名; 通过“ zwexplorer.__gmUtil.sm2.verify(gmRequest,callback(resp));”实现验签签名测试
待签名的内容:
私钥:
userId:
验签测试
公钥:
sm2签名
function sm2Sign() {
const content = $("#sm2_content").val();
const privateKey = $("#sm2_privateKey").val();
const userId = $("sm2_userId").val();
const gmRequest = {
content: content,
privateKey: privateKey,
options: {
userId: userId
}
}
zwexplorer.__gmUtils.sm2.sign(gmRequest, (resp) => {
if (resp.resultCode === 0) {
$("#sm2_sign_result").val(resp.data)
} else {
$("#sm2_sign_result").val(resp.resultMessage)
}
})
}
验签
function sm2Verify() {
const content = $("#sm2_content").val();
const publicKey = $("#sm2_publicKey").val();
const userId = $("sm2_userId").val();
const signValue = $("#sm2_sign_result").val()
const gmRequest = {
content: content,
publicKey: publicKey,
signValue: signValue,
options: {
userId: userId
}
}
zwexplorer.__gmUtils.sm2.verify(gmRequest, (resp) => {
if (resp.resultCode === 0) {
$("#sm2_verify_result").val('验签成功')
} else {
$("#sm2_verify_result").val('验签失败:' + resp.resultMessage)
}
})
}
sm2加密解密
通过“ zwexplorer.__gmUtil.sm2GenerateKey(gmRequest,callback(resp));”生成密匙对公钥加密
待加密的内容:
公钥:
私钥解密
私钥:
sm2加密
function sm2Encrypt() {
const content = $("#sm2_content2").val();
const publicKey = $("#sm2_publicKey2").val();
const gmRequest = {
content: content,
publicKey: publicKey
}
zwexplorer.__gmUtils.sm2.encrypt(gmRequest, (resp) => {
if (resp.resultCode === 0) {
$("#sm2_encrypt_result").val(resp.data);
} else {
$("#sm2_encrypt_result").val(resp.resultMessage);
}
})
}
sm2解密
function sm2Decrypt() {
const content = $("#sm2_encrypt_result").val();
const privateKey = $("#sm2_privateKey2").val();
const gmRequest = {
content: content,
privateKey: privateKey
}
zwexplorer.__gmUtils.sm2.decrypt(gmRequest, (resp) => {
if (resp.resultCode === 0) {
$("#sm2_decrypt_result").val(resp.data);
} else {
$("#sm2_decrypt_result").val(resp.resultMessage);
}
})
}