【问题标题】:Exporting and importing RSA keys导出和导入 RSA 密钥
【发布时间】:2011-11-27 17:36:42
【问题描述】:

我创建了一个创建签名 XML 文件的应用程序。 微软有一些简单的例子,实现起来并不难,但很多都隐藏/封装在下面的库中

系统.安全.密码学
System.Xml,
System.Security.Cryptography.Xml

我现在需要导出公钥并将其(公钥)放在第二个应用程序中,以便它可以验证签名的 XML 文档是真实的。
然后,我的第二个应用程序可以根据签名的 XML 文件的内容启用/禁用各种程序功能。
Microsoft 继续不导出密钥容器的内容,但这正是我认为我需要做的,因为在我看来我需要完成几件事。
如上所述,我需要导出公钥,然后将其导入到密钥容器中,该容器位于使用签名 XML 文件的应用程序中。 其次,我认为我需要导出私钥和公钥才能备份它们。 由于我的应用程序将与公钥一起分发,因此我需要将公钥、私钥和散列算法备份在一个安全的位置。
微软继续说不将密钥导出为明文,但我很不安/不知道如何备份密钥容器,我不确定如何查看该内容并知道我想要存储的内容实际上是什么时候我尝试在调试器中查看密钥容器,它似乎永远持续(某些部分似乎递归重复??)
谁能提供有关如何将 RSA 密钥导出/导入到密钥容器以及备份 mykeys 或容器的方法的建议?

【问题讨论】:

    标签: c# .net rsa


    【解决方案1】:

    打开Microsoft Management Console (mmc.exe),导航到File -> Add/Remove Snap-in 会弹出这个对话框

    Available snap-ins 上选择“证书”;点击Add并选择添加My user account,然后再次点击Add并选择Computer account

    点击OK。现在您可以找到您需要的任何证书以及导入/导出它们的功能 - 私有(如果可用且可导出)和公共。

    【讨论】:

    • 您好 esskar Thnaks 的回复。
    • 上面应该说“感谢您的回复”,五分钟计时器真烦人!我会在今天扑灭几场大火后立即检查一下。我在 MSDN 上找到了这篇名为 Walkthrough: Creating a Cryptographic Application link 的文章
    • 嗨 Esskar 经过长时间的延迟,我终于回到了这个任务。我曾假设(可能是错误的)因为我以编程方式创建了我的 RSA 密钥,所以我想以编程方式导入和导出我的所有证书。
    • 在考虑了一段时间之后,我可以/想要通过 certmanager 管理单元导入和导出我的 RSA 密钥以供我自己学习,因此它将采用方便的文件格式。备份密钥,但我也想以编程方式进行,因此用户不需要安装证书作为安装的一部分,因此用户将拥有公钥。
    • 这里是创建 RSA 加密密钥的代码。 cspParams = new CspParameters(); // 创建一个新的 RSA 签名密钥并将其保存在容器中。 cspParams.KeyContainerName = "MY_RSA_KEY"; rsaKey = new RSACryptoServiceProvider(cspParams);
    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2017-10-18
    • 2020-03-20
    • 2010-10-21
    • 1970-01-01
    • 2018-05-20
    • 2023-01-17
    • 1970-01-01
    相关资源
    最近更新 更多