首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sn.exe生成用于RSA加密的公钥/私钥对

使用sn.exe生成用于RSA加密的公钥/私钥对
EN

Stack Overflow用户
提问于 2012-08-21 11:36:09
回答 1查看 2K关注 0票数 1

有谁认为使用sn.exe生成公钥/私钥对有什么不对呢?我以后可以用私钥加密数据,然后把公钥给人们以便他们可以解密我的密文?我知道sn.exe用于强命名程序集,但是由于它生成密钥对,我可以简单地使用这个方案吗?

我在问这个问题时,知道RSA是用来用公钥加密的。但我有一个我认为是有效的用例来做相反的事情。

EN

回答 1

Stack Overflow用户

发布于 2012-08-21 13:13:02

这其实是两个问题:

  • 你应该使用sn.exe来生成键盘吗?
  • 您应该使用私钥加密数据吗?

第一个问题的答案是:不,不完全是。SN.exe的键盘生成实际上只对非常小的开发环境有用,并要求您处理所有安全性。有更好的方法来生成包含密码保护(PFX)之类的证书容器。例如,请看一下MakeCert工具--它可以用于生成自签名的X.509证书,这些证书可以用于几乎所有您想要执行的加密操作。

不幸的是,第二个问题的答案也是:不,不是真的。从密码的角度来看,用私钥加密某些东西没有多大意义;毕竟,公钥就是这样的:公共密钥。如果有人可以解密它(没有OS提供任何公钥保护,所以得到一个副本很简单),那么加密它就没有多大意义了。如果目的是确保人们能够证明它来自你,数字签名是一个更好的方法,在这种情况下,你所描述的正是你想要做的事情:用私钥签名,用免费获得的公钥验证签名。

现在,如果您想要有一种将加密数据分发给多个收件人的方法,请考虑使用PKCS #7/CMS信封。既然你说的是使用sn.exe,那就告诉我你在使用.NET,所以你很幸运!EnvelopedCms类应该提供所需的内容。您所需要的只是您的收件人的X.509证书中的公钥(让您获救!)。MSDN有一个演练这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12053973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档