将一个PFX文件时导入到Windows的证书存储区时两个选项:私钥可导出和私钥不可导出。如果选择私钥不可导出,我们能用编程方式得到这个(证书存储区中的)证书的私钥吗?可以用它来做数字签名吗?
如果答案是不可以,那么,这样的不可导出私钥的证书有什么意义呢?
如果答案是不可以,那么,这样的不可导出私钥的证书有什么意义呢?
解决方案 »
- 如何在新窗体中 修改 主窗体上控件的属性
- 插入到数据库! c #
- 大哥们..帮帮忙..我的GridView用不太好
- Page.Request.Files.Count问题
- 【求助】关于数据库链接的问题
- 关于VS2005中菜单阴影的问题
- private static readonly是什么样的含义,private static const对不对?
- C#编写计算表格输出到excel中。。。。
- 用网页打开EXCEL,WORD,PPT等文档 C# asp.net
- asp.net 如何控制DropDownList下拉框的宽度,使内容要显示完全
- 坐等大虾,关于路径的问题!
- 怎么通过IP 和路径访问别人机子上的文件?
用这个命名空间的东西读取PFX文件,我知道肯定是可以的;但是读取证书存储区中的东西却是不可能。我试过很多次了。
后来我想了想,个人是这样理解的:私钥不可导出的证书都将在密钥容器中存放私钥。Windows中存放在C:\Documents and Settings\adminitrator\Application Data\Microsoft\Crypto\RSA;USBKey中存放在USBKey内部。这些密钥容器中的私钥可能是没有办法获得的,但是却可以用它来签名(原理类似于口令的MD5散列值可用于身份验证,但别人包括应用软件却无法获得口令的明文,也不需要获得)。现在我关心的是如何编程实现用密钥容器中的私钥来签名。现在就实验去……
个人理解如下:
私钥不可导出的证书都将在CSP密钥容器中存放私钥。密钥容器中的私钥是无法导出(包括编程)的。但尽管无法导出,却可以用它来签名。所有来顶者都给分!