Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex AS3Crypto RSA签名_Apache Flex_Actionscript 3_Rsa_As3crypto - Fatal编程技术网

Apache flex AS3Crypto RSA签名

Apache flex AS3Crypto RSA签名,apache-flex,actionscript-3,rsa,as3crypto,Apache Flex,Actionscript 3,Rsa,As3crypto,我在匹配RSA签名返回的值时遇到一些问题 actionscript as3crypto库中的Base64 SHA1哈希,结果以c#返回 我正在将解码为字节数组的Base64散列传递给sign() as3crypto和base64中提供的函数对结果进行编码。 但是,此结果与从c返回的结果不匹配# 执行相同任务的函数。这有关系吗 函数接受并返回十六进制,即使它在字节处工作 阵列级 请查看我下面的签名功能,以检查我没有错过 什么都行 private function signHash(hashInBa

我在匹配RSA签名返回的值时遇到一些问题 actionscript as3crypto库中的Base64 SHA1哈希,结果以c#返回

我正在将解码为字节数组的Base64散列传递给sign() as3crypto和base64中提供的函数对结果进行编码。 但是,此结果与从c返回的结果不匹配# 执行相同任务的函数。这有关系吗 函数接受并返回十六进制,即使它在字节处工作 阵列级

请查看我下面的签名功能,以检查我没有错过 什么都行

private function signHash(hashInBase64:String):String
{
       var src:ByteArray = Base64.decodeToByteArray(hashInBase64);
       var key:RSAKey = getRSAKey();
       var dst:ByteArray = new ByteArray();

       key.sign(src, dst, src.length);

       return Base64.encodeByteArray(dst);
}
有人对AS3Crypto库有丰富的经验吗

任何帮助都将是伟大的

谢谢

Jon

我假设您的C版本正在使用。该标准通过对由以下内容组成的字节字符串执行RSA私钥操作来计算签名:

0x00 0x01 || 0xff* || 0x00 || OID || hash
查看as3crypto代码可以看出,RSAKey类在签名操作期间没有添加任何OID。因此,如果你不这样做,你会得到错误的结果


查看代码还表明as3crypto易受攻击,因为它没有正确验证填充。这次袭击已有3年多的历史。因此,使用不同于as3crypto的库似乎是一个不错的选择。

现在有了一个与.NET兼容的ActionScript加密库。这是:。看起来它与.NET完全一样支持RSA。

“即使在字节数组级别工作,函数接受并返回十六进制值是否重要?”。。。你的意思是,它需要在bas 64,或你真的是说它需要在十六进制。。。也许这就是问题所在?基数64和十六进制有很大不同。。。任何十六进制值几乎都是有效的base64值(除了base64总是被填充为可除以4的长度),因此解码器可能会接受它……另外,当您验证签名时,您会得到什么?签名算法接受字节数组,但是所有的例子都是从十六进制到字节数组,所以我把base64转换成字节数组,它们会转换成相同的字节吗?验证也不起作用,这个库的问题是没有文档。不幸的是,没有其他库,谢谢你提供的信息!