我在单独的文件中有私钥和公钥。
指令中的使用此代码:
<RSAKeyValue><Modulus>KEY VALUE</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
但当代码到达第二行时,我收到此错误:
mscorlib.dll中发生未处理的“System.Security.Cryptography.CryptographicException”类型异常
附加信息:参数不正确。
问题是什么?
在我们获得密钥的公司的示例代码中,它使用样本peivate和这样的公钥:
<RSAKeyValue><Modulus>
即使我将</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
加入到开头let array1 : Array<string | number> = [];
array1.push('abc', 9, 'def', 10);
for (let a of array1 as Array<string> ){
console.log(a);
}
到最后,没有工作
答案 0 :(得分:0)
答案 1 :(得分:0)
最可能的原因是您的私钥没有所有D,P,Q,DP,DQ,InverseQ值。
下一个最可能的原因是你的D(以byte []形式,并不像模数(以byte []形式)。同样,P / Q / DP / DQ / InverseQ都需要将其byte []形式作为模数长度的一半(向上舍入)。
某些键在XML格式中不是真的。最可靠的方法是自己构建RSAParameters结构并调用ImportParameters
。一个原因:.NET方法根本不提供XML方法,但ImportParameters是。