小编kat*_*.xx的帖子

使用证书 RSA Javascript 验证签名

我正在尝试使用证书验证签名。我们必须从CA下载所需的证书,验证证书,然后验证签名。我不知道,我希望有人能提供一些线索。这是我到目前为止所知道的。

为了签署消息,我使用了以下代码:

function sign(sk, m, certname) {
var key = new RSAKey();
key.setPrivate(sk.n, sk.e, sk.d);
var h = CryptoJS.SHA256(JSON.stringify(m)).toString(CryptoJS.enc.Hex);
h = new BigInteger(h, 16);
var sig = key.doPrivate(h).toString(16);
var obj = { "type": "SIGNED", "msg": m, "certname": certname, "sig": sig };
return JSON.stringify(obj);
}
Run Code Online (Sandbox Code Playgroud)

为了验证签名,我使用了以下代码:

function verify(pk, signed) {
var key = new RSAKey();
var s = JSON.stringify(signed.sig).toString(CryptoJS.enc.Hex);
s = new BigInteger(s, 16);
key.setPublic(pk.n, pk.e);
var v = key.doPublic(s).toString(16);
var h = CryptoJS.SHA256(JSON.stringify(signed.msg)).toString(CryptoJS.enc.Hex);
return (v == h);
}
Run Code Online (Sandbox Code Playgroud)

为了验证证书,我使用了以下代码:(编辑:这是新的证书验证功能)。

function …
Run Code Online (Sandbox Code Playgroud)

javascript json cryptography rsa cryptojs

5
推荐指数
1
解决办法
6235
查看次数

标签 统计

cryptography ×1

cryptojs ×1

javascript ×1

json ×1

rsa ×1