.net中RSA公钥模数和指数的格式是什么?

2024-04-02

一个简短的问题:如果我有来自第三方的以下输入,我该如何填写 RSAParameters?:

模数:123456

指数:111

长话短说,我使用以下代码:

RSACryptoServiceProvider RSAalg = 新 RSACryptoServiceProvider(2048);

RSAParameters rsaPublic = RSAalg.ExportParameters(false);

然后我可以在 byte[] 中获取 rsa 公钥的模数和指数。为了将这些信息写成asn.1格式

      RSAPublicKey ::= SEQUENCE {
           modulus           INTEGER,  -- n
           publicExponent    INTEGER   -- e
       }

我使用 asn.1 库将 byte[] 转换为其 bigInteger 格式,但此 byte[] 的格式应为 {'0', '1', '2', '3', '4', ' 5', '6', '7', '8', '9'} 假设它是十进制。

但 rsaPublic.modulus 和 rsaPublic.exponent 似乎不是这种格式,模数和指数的 byte[] 中有很多非数字。那么 rsaPublic.modulus 和 rsaPublic.exponent 的格式是什么,以及如何将它们转换为像 {'0', '1', '2', '3', '4', '5 这样的 byte[] '、'6'、'7'、'8'、'9'}?

多谢


The byte[]值表示大整数的字节编码 Big Endian 表示形式。这与 DER 编码几乎相同,但不完全一样。

For Modulus, the RSAParameters结构需要 DER 值,但具有可选的符号填充0x00字节已删除。为了Exponent一样的。

如果您有私钥结构,那么D必须具有相同的长度byte[] as Modulus(这可能意味着你必须预先添加0x00值)。P, Q, DP, DQ, and InverseQ都是必需的,如果D已指定,并且它们必须全部具有正好一半的长度Modulus,这可能需要删除 DER 填充字节或可能需要插入一些。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.net中RSA公钥模数和指数的格式是什么? 的相关文章

  • RSA - 客户端(在服务器上下文中)如何加密/解密传入数据?

    我无法准确理解 RSA 的工作原理 许多例子和定义试图解释但使用了模糊的上下文 所以这就是我想做的 我有一台使用 RSA 并具有私钥和公钥的服务器 据我了解 连接后 服务器以未加密的方式将公钥发送到服务器 如果您愿意 可以进行某种握手 然后
  • 多种 OpenSSL RSA 签名方法会产生不同的结果

    尝试着全神贯注于签名并使用 测试各种选项 我可以使用以下命令进行签名 openssl dgst sha256 sign private key pem binary out sig file data file 但文档好像说我也可以使用这个
  • PKCS1-padding/RSA加密ios objc和java的区别

    我正在开发适用于 ios 和 Android 的应用程序 我对加密任务还比较陌生 在过去的 3 天里 我一直在用头撞墙 因为我无法运行 RSA 加密 两个客户端都从 java 服务器接收公钥 在android中我没有任何问题 显然 因为它与
  • Java 生成 RSA 密钥对并转换为 PEM - 但 OpenSSL 函数 PEM_read_bio_RSA_PUBKEY 返回 null

    我使用以下代码生成 RSA 密钥对并将其转换为 PEM 但是当我使用OpenSSL功能时PEM read bio RSA PUBKEY是返回null Java代码 public static RSAKeyPair creatKeyPair
  • 在 C# 中使用私钥对数据进行签名

    我需要使用算法 SHA1RSA Rsa 密钥长度 2048 和 64 基本编码 用一个私钥对一些数据进行签名 我的代码是这样的 string sPayload HttpWebRequest httpWebRequest HttpWebReq
  • 从文件加载公钥数据

    在我的应用程序中 我生成一个公钥 私钥对并将它们存储在磁盘上以供以后使用 加载并重新初始化私钥工作正常 但对于私钥 我得到一个未知的 KeySpec 类型 java security spec PKCS8EncodedKeySpec 我不知
  • 为什么 KeyPairGenerator.genKeyPair() 这么慢

    我有一些 Java 代码 当我运行函数时KeyPairGenerator genKayPair 工作时间为 40 秒或更长时间 如何改变这种现状呢 如果我跑 openssl req x509 nodes days 365 newkey rs
  • Git和ssh授权

    我无法使用生成的 ssh 密钥登录 github 我已经按照本手册进行操作 http help github com linux key setup http help github com linux key setup但在步骤 ssh
  • 如何使用 RSAEncryption 创建带有 SHA1 摘要的 PKCS7/CMS?

    我创建了一个pkcs7块 可以自己验证 但是结果和我使用OpenSSL的伙伴不一样 我创建的p7块无法被我的伙伴验证 我们仔细检查代码 只找到c 中找不到对应项的代码 OPENSSL signInfo gt digest enc alg g
  • C# 中的数字签名,无需使用 BouncyCastle

    不使用第 3 方 BouncyCastle 库 有没有办法读取自定义私钥并签署消息 sha256哈希 使用私钥加密 从技术上来说 是的 根据您拥有的密钥类型 答案会变得更加棘手 编辑 2019 年 10 月 NET Core 3 0 以 D
  • 使用 XmlCipher (RSA) 加密 XML 文件

    我只需要使用公钥加密一些 XML 元素 我成功地可以将此代码与 simetric 算法 XMLCipher AES 128 一起使用 但在尝试使用 XMLCipher RSA v1dot5 时失败 这就是代码 import java sec
  • 无法加载 RSA 公钥

    我正在尝试读取如下所示的 RSA 公钥 但在第 6 行出现异常 java security spec InvalidKeySpecException java security InvalidKeyException IOException
  • 如何将原始模数和指数转换为 RSA 公钥(.pem 格式)

    我将 RSA 公钥的模数和指数嵌入到二进制文件中 并且我正在尝试提取整个 blob 并创建可用的 pem 公钥 目前 我正在提取完整的 260 个字节 4 个字节用于指数 256 个字节用于模数 并编码为base64 我正在使用以下 she
  • PHP使用RSA私钥解密数据

    我有一个程序 使用 C rsa 公钥加密密码 输出字节数组 为了让我轻松传输它并维护数据 我将字节直接转换为十六进制字符串 现在这就是我遇到问题的地方 我将发布数据发送到我的脚本 现在不确定将其转换为什么以及如何解密它 我正在尝试使用htt
  • C# 中加密的数据太长,无法在 Java 中解密

    我有一个用 Java 编写的服务器 它在将其发送到客户端之前将其 RSA 密钥转换为 NET 使用的 XML 格式 public String getPublicKeyXML try KeyFactory factory KeyFactor
  • 来自公共字符串的 Android RSA 加密

    我正在开发一个 Android 应用程序 我希望用户能够使用其他人的公钥加密消息 系统将生成公钥 私钥对 然后可以将消息秘密发送给其他用户 我正在创建一个加密类 它将处理消息的加密 解密 不幸的是我遇到了一些问题 在这种方法中 我想传递用户
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • PHP服务器端IAB验证openssl_verify总是返回0

    我使用以下函数 服务器端 php 来验证 IAB v3 事务 我从 Android 应用程序传递过来 Override protected void onActivityResult int requestCode int resultCo
  • 如何在没有 x5c 的情况下验证来自 jwks 的 JWT 签名

    我有一个 JWT 安全令牌 需要通过 jwks 端点进行验证 jwks 中的数据如下所示 keys kty RSA e AQAB use sig alg RS256 n kid 2132132 b1e6 47e7 a30f 1831942f
  • RSACryptoServiceProvider 使用自己的公钥和私钥进行加密和解密

    据我所知 对于非对称加密 您可以使用公钥加密明文并使用私钥解密 所以我尝试了以下方法 static void Main string args RSACryptoServiceProvider rsa new RSACryptoServic

随机推荐

  • 将旧日志从 filebeat 重新发送到logstash

    在此先感谢您的帮助 我想重新加载一些日志来自定义其他字段 我注意到 filebeat 配置中的注册表文件会跟踪已选择的文件 但是 如果我删除该文件中的内容 我将无法恢复旧日志 我还尝试更改注册表文件中源的时间戳 但没有成功 将旧日志从 fi
  • 散景图像绘图的较小范围填充

    我正在使用 bokeh 1 0 4 我想使用 bokeh 生成图像图match aspect True 这是用于说明的示例代码 from bokeh models ranges import DataRange1d from bokeh p
  • Tomcat 热部署不工作

    我在 Tomcat 6 服务器上热部署新的 WAR 时遇到问题 当我添加新的 WAR 时 我可以看到 Tomcat 正在尝试部署它 但是 我认为问题在于取消部署旧的 war 展开的 war 文件夹的内容全部被删除 除了 WEB INF 文件
  • Azure数据工厂自动重新触发失败的管道

    我想使用 If Condition Activity 动态内容 自动重新触发失败的管道 过程 管道 1 在计划时间使用触发器 1 运行 有效 如果管道 1 失败 计划触发器 2 将运行管道 2 有效 管道 2 应包含 if 条件来检查管道
  • 从函数提前返回是否比 if 语句更优雅?

    我自己和一位同事对于以下哪一个更优雅存在争议 我不会说谁是谁 所以这是公正的 哪个更优雅 public function set hitZone target DisplayObject void if hitZone target hit
  • 自定义 jQuery 子菜单定位

    我正在尝试创建一个至少有两层子菜单的水平菜单 所有子菜单都是垂直的 Submenu1 将位于其父菜单的正下方 所有后续子菜单级别 2 应位于其父菜单的右侧 我刚刚开始学习如何使用 jQuery 菜单 他们似乎没有对此进行自定义 我不知道如何
  • 计算机如何进行浮点运算?

    我看过很长的文章解释如何存储浮点数以及如何完成这些数字的算术运算 但请简要解释一下为什么当我写的时候 cout lt lt 1 0 3 0 lt
  • 从头开始创建,还是从头开始构建?

    我正在考虑建立一个可视化编程语言 http en wikipedia org wiki Visual programming language 类似于Scratch http scratch mit edu 供儿童 又称可怜的打字员 在对微
  • Go中如何生成固定长度的随机数?

    在 Go 中生成固定长度随机数的最快 最简单的方法是什么 假设要生成8位长数字 问题是rand Intn 100000000 是结果可能远小于 8 位数字 并且用前导零填充它对我来说看起来不是一个好的答案 也就是说 我更关心随机性的质量 因
  • 将 Visual Studio 2008 指向第三方 DLL 的源代码进行调试

    我有一个 VS 2008 C 项目 它使用第三方库 开放场景图 当我开始调试项目时 每次调用此外部库中的函数时 调试器都会跳过它 因为 显然 调试器没有可在其中查找代码的 cpp 文件 它只会跳转到链接到我的项目的头文件 因为这些文件存在并
  • 如何将 Semantic-UI 导入 Angular 项目

    我正在开发一个基于 Semantic UI 框架 这是 Semantic UI 的一个分支 的 Angular 项目 我已经安装了 npm install save fomantic ui 然后我在中添加了以下几行angular json
  • Crashlytics Android NDK:崩溃报告中缺少所有符号

    我们的原生 Crashlytics 崩溃报告最近缺少所有符号信息 我曾希望最新的 Crashlytics NDK 能够解决该问题 但事实并非如此 我看到那里有一个类似的查询 但在这种情况下 我没有使用 Firebase 只是使用 Crash
  • 互动网留下大量多余粉丝是常事吗?

    我正在将 lambda 演算项编译到交互网络中 以便使用 Lamping 的抽象算法对其进行评估 为了测试我的实现 我使用了这个教堂编号除法函数 div a b c d b e e d a b e f g e h f h g e e e f
  • 是否可以用 CSS 来设计 C# 应用程序

    我更擅长用 C 创建基于计算机的应用程序 而不是用 ASP net 创建网页 但是 CSS 在设计按钮 表单等方面的强大功能确实让我喜欢它 我在谷歌上搜索是否可以在软件中只使用CSS 但还没有结果 是否可以 我知道这个问题太国外了而且有点愚
  • 如何在 Asp.net MVC 中编写集成和系统测试

    我的应用程序 我的应用程序设计如下所示 Web 应用程序层 带有使用 POCO 和调用服务的控制器和视图的 asp net MVC 应用程序 服务层 使用 POCO 和调用存储库的业务流程 数据层 使用 POCO 并以 EF 模型形式与模型
  • 将 Excel 工作簿的一部分复制/粘贴到当前未打开的工作簿

    我需要将 Excel 工作簿的一部分复制到大约 3500 个其他工作簿 由于工作簿数量众多 在每个工作簿上运行宏是不可行的 有没有办法复制该部分并将其粘贴到其他工作簿而不打开它们 番茄 不幸的是 正如 Ken White 和 L42 都指出
  • Windows 上“没有名为 scipy 的模块”

    在 sklearn base py 中 我有这样的声明from scipy import sparse 我收到这个错误 no module named scipy 我尝试安装使用pip install scipy 但我收到了很多错误 lib
  • 在 Xna/MonoGame 中按程序生成 Texture2D

    如何使用代码按程序生成Texture2D 例如 我希望在 32x32 图像上交替出现黑白像素 您可以使用 GraphicsDevice 创建一个新的纹理 public static Texture2D CreateTexture Graph
  • 将 UIViewController 添加到 UIScrollView

    我有一个UIViewCOntroller我已经添加了很多 UI 组件 标签 文本字段等 现在 我需要向其中添加更多字段 我发现我的视图控制器中没有任何空间可以添加任何空间 所以我想添加一个scrollView来解决这个问题 我可以在哪里添加
  • .net中RSA公钥模数和指数的格式是什么?

    一个简短的问题 如果我有来自第三方的以下输入 我该如何填写 RSAParameters 模数 123456 指数 111 长话短说 我使用以下代码 RSACryptoServiceProvider RSAalg 新 RSACryptoSer