gpt4 book ai didi

javascript - 使用 jsrsasign 使用加密的 RSA key 签名失败

转载 作者:行者123 更新时间:2023-11-30 00:29:25 26 4
gpt4 key购买 nike

当使用库 javascript 库 jsrsasign 和 angularjs 时,我们尝试使用 SHA256 算法使用私钥对值进行 RSA 签名

私钥如下所示:(即 -----BEGIN ENCRYPTED PRIVATE KEY-----..-----END ENCRYPTED PRIVATE KEY-----)

片段:

var sig = new KJUR.crypto.Signature({"alg": "SHA256withRSA", "prov":   "cryptojs/jsrsa"});
var key = KEYUTIL.getKey(privateKey, 'password');
sig.initSign(key);
sig.updateString(data);
var signature = sig.sign();

在使用这个过程中,我们在第二行收到以下错误消息:“bi.intValue 不是函数”

在调试过程中,似乎使用的值有一个无法通过 BigInteger 库的函数的字母字符。

我的第一个想法是它是私钥文件,但是,我们能够使用 NodeJS 的 Crypto 库进行签名过程并且它按预期工作。

我已经尝试了以上的不同版本,但没有成功。

最佳答案

此问题的解决方案与包含库相关。这在 jsrsasign 网站上并不清楚。由于错误非常模糊,一开始很难分辨。为了让它工作,你已经包含了以下库

<script src="http://yui.yahooapis.com/2.9.0/build/yahoo/yahoo-min.js"></script>

<script src="bower_components/crypto-js/core.js"></script>
<script src="bower_components/crypto-js/x64-core.js"></script>
<script src="bower_components/crypto-js/pbkdf2.js"></script>
<script src="bower_components/crypto-js/crypto-js.js"></script>
<script src="bower_components/crypto-js/hmac.js"></script>
<script src="bower_components/crypto-js/hmac-sha256.js"></script>
<script src="bower_components/crypto-js/sha1.js"></script>
<script src="bower_components/crypto-js/sha256.js"></script>

<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/ext/base64.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/ext/jsbn.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/ext/jsbn2.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/ext/rsa.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/ext/rsa2.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/crypto-1.1.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/rsasign-1.2.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/rsapem-1.1.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/asn1-1.0.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/asn1hex-1.1.js"></script>
<script language="JavaScript" type="text/javascript" src="bower_components/jsrsasign/keyutil-1.0.js"></script>

添加必要的库后,返回一个结果。然而,这不是预期的结果。这是一个单独的问题,将关闭它

关于javascript - 使用 jsrsasign 使用加密的 RSA key 签名失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com