我遇到了一些问题,使用 Security.Cryptography.RSAParameters 创建的 RSA 密钥在大多数情况下都可以工作RSAC加密服务提供者 http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.aspx.导入参数 http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsacryptoserviceprovider.importparameters.aspx.
经过一系列调试后,该对象的属性似乎需要非常特定的字节缓冲区大小。我的 ASN.1 解析代码消除了零字节前缀。事实上,RSAParameters 的某些字段仅在消除零字节前缀后才起作用,而其他字段在消除零字节前缀后根本不起作用。
由于正常随机化,参数之一经常会有更多的前导零,并导致生成的密钥无法正常工作。
这是否被视为错误?
你为什么要搞乱那些零字节?正 ASN.1 整数的正确 DER 编码可能涉及单个前导零字节。简而言之,如果整数的高位字节为 128 或更大,则必须在编码前添加前导零字节。如果没有这个零字节,您就会得到负整数的 DER 编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)