解析 RSACryptoServiceProvider.ImportParameters 中的错误并消除零字节前缀?

2024-01-02

我遇到了一些问题,使用 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(使用前将#替换为@)

解析 RSACryptoServiceProvider.ImportParameters 中的错误并消除零字节前缀? 的相关文章

  • 向客户报告模型状态和应用程序错误的推荐方法是什么?

    我想知道向浏览器报告将显示给用户的应用程序或模型状态错误的最佳实践是什么 你能抛出一个异常并在jquery post的错误处理程序中处理它吗 例如 考虑这个方法 HandlerErrorWithAjaxFilter HttpPost pub
  • DropDownListFor 具有带有 - 属性名称的自定义属性?

    问题 我需要创建一个像这样的下拉列表
  • 无法从 List 转换为 List

    我有这样的设置 abstract class Foo class Bar Foo 以及其他地方的这种形式的方法 void AddEntries List
  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 计算文本框中换行的行数

    我在文本框中有一行文本 并且换行为多行 如何计算文本框中换行的行数 你可以使用String Split int lineCount txt Text Split new n r StringSplitOptions None Length
  • 使用 eval 时不会受到 XSS 威胁

    我正在制作 不是现在 但我仍然对这个感到好奇 一款使用 HTML5 和 JS 的游戏 我想要的是人们可以插入自定义脚本 但要安全 function executeCustomJS code eval code bad 当然这段代码非常糟糕
  • 自动夹具和起订量 v4

    我使用 Nuget 安装了 Autofixture 和 Moq 所以我有 moq 版本 4 当运行以下代码时 var fixture new Fixture Customize new AutoMoqCustomization fixtur
  • 在.Net 4.0程序中运行.Net 2.0可执行文件

    我正在尝试从我的程序运行外部可执行文件 我的程序是在 Net 4 0框架上编译的 以便使其能够在Windows XP上运行 外部应用程序在 Net 2 0框架上编译 当我在我的机器 Windows 7 安装了 Net 4 5 上运行这个程序
  • 在java中加密文本文件的最简单方法

    对于我的学校项目 我必须证明我可以在程序中利用文件处理 为此 我做了一个非常简单的登录过程 您可以在其中创建一个帐户 将用户名和密码写入资源文件夹中的文本文件 显然 这根本没有安全性 因为它的设计目的并不是为了展示文件处理的安全性 但是我的
  • Google App Engine 的 JDO:转义引号

    如何转义 JDO Google App Engine 中的查询参数 例如 如果变量名称可能包含单引号 形式的不安全字符 如何使下一个片段安全 PersistenceManager pm String query select from Pe
  • 如何使用苹果钥匙串?

    我正在尝试使用scifihifi iphone 来自 Github http github com ldandersen scifihifi iphone tree master security存储和检索用户名和密码 但是 当我添加课程时
  • 数组中的不同类型,从数组中取出它们时如何知道将它们转换为什么?

    假设有一个通用的List类型的Packet 持有自定义类扩展Packet 例如登录包 or 聊天包 假设我把这些放在一个列表中 当我把它们拿出来时 最 具体 的类型是Packet 我想将它们转换成更具体的类型 回到原来的类型登录包 or 聊
  • 如果图像包含特定颜色则

    是否有一种简单的方法来检查图像是否包含特定的 RGB 颜色 例如 Dim img As Image Image FromFile C image png If img contains color red toRGB then 我认为检查这
  • 将列表传递给 PyCrypto 中的 AES 密钥生成器

    我尝试使用 Pycrypto 生成 AES 密钥 但收到以下错误 类型错误 列表 不支持缓冲区接口 对于以下声明 aescipher AES new mykey AES MODE ECB mykey 属于类型list并包含 18854347
  • 将授权标头添加到 Web 参考

    我正在尝试向客户端的网络服务发出请求 我不知道客户端的底层平台 我使用 添加 Web 引用 在 Visual Studio 2010 中使用了客户端的 WSDL 并生成了我的代理类 称为 ContactService 我现在需要将如下所示的
  • 为什么我无法调试动态加载的程序集?

    我正在开发一个 Web API 项目 该项目使用内部模拟框架 允许拦截和修改来自控制器的响应 它使用 MEF 加载包含某些先决条件匹配时执行的代码的程序集 我知道这是正常工作的 因为我可以在响应中看到模拟已被执行 但由于某种原因我无法调试动
  • 如何组合||条件语句中的运算符[重复]

    这个问题在这里已经有答案了 代替 if foo 1 foo 5 foo 9 我喜欢将它们组合起来 类似于以下内容 这不起作用 if foo 1 5 9 那可能吗 不幸的是不是 你最好的选择是创建一个扩展方法 public static bo
  • 返回 ICollection 而不是 List 的真正优势是什么? [复制]

    这个问题在这里已经有答案了 我读过几篇博客文章 提到对于公共 API 我们应该始终返回 ICollection 或 IEnumerable 而不是 List 返回 ICollection 而不是 List 的真正优势是什么 Thanks 复
  • 如何使用完全空的类型使 Activator.CreateInstance 运行速度减慢约 20 倍

    Given NET 程序集命名expression host NET 程序集命名CreateInstanceTest CreateInstanceTest 在其配置文件中启用 NetFx40 LegacySecurityPolicy exp

随机推荐