政务浏浏览器Demo

国密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);
                                                    }
                                                })
                                            }