如何让asp调用.Net组件(原创)- -| 回首页 | 2004年索引 | - -Windows Message Queue 的端口号

遇到“无法获取加密服务提供程序 (CSP)”该怎么办?(原创)

                                      

我把.Net的签名验证程序做成了COM组件供asp调用,在调试这个组件的时候没有任何问题,可以被asp调用的时候老出现"无法获取加密服务提供程序 (CSP) (The cryptographic service provider (CSP) cannot be acquired.)"的提示,上网上查了...


我把.Net的签名验证程序做成了COM组件供asp调用,在调试这个组件的时候没有任何问题,可以被asp调用的时候老出现"无法获取加密服务提供程序 (CSP) (The cryptographic service provider (CSP) cannot be acquired.)"的提示,上网上查了一晚上终于得到了解决办法,原来iis的系统帐户没有交互权限不能访问Document and settings的一些目录,所以在RSACryptoServiceProvider 会抛出 CryptographicException 。

解决办法如下,在 RSACryptoServiceProvider 构造函数中增加 CspParameters。类似下面的代码

CspParameters cspParam = new CspParameters();
cspParam.Flags = CspProviderFlags.UseMachineKeyStore;

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParam);

【作者: surfirst】【访问统计:】【2004年12月10日 星期五 12:42】【 加入博采】【打印

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=360287

回复

- 评论人:梁威   2006-09-22 20:15:26   

点批一二后缀

- 评论人:梁威   2006-09-22 20:14:45   

点12

- 评论人:梁威   2006-09-22 20:14:11   

不好意思是添加12为后缀的证书时出现的问题

- 评论人:梁威   2006-09-22 20:13:06   

那么请问如果在添加12证书时遇到错误您正在导入的私钥需要一个加密服务提供程序而您的系统并未安装该提供程序请问这个问题应该如何解决谢谢先

验证码:   
评论内容: