C# 使用rsa证书加密,服务器拒绝访问

wanfaijie 2012-03-21 01:40:24
我使用的rsa证书加密算法,在本地测试,读取加密都是没有问题的额,在windows 2003上面就不行了,服务器拒绝访问,而且我把所有的权限都给了,。也是不行,

求哪位大神帮个忙。

同时咨询下,可以不可以,把证书安装到电脑里面进行调用,而不是调用本地的证书文件。

一下是我们的加密算法:
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(signMsgVal);
X509Certificate2 cert = new X509Certificate2(HttpContext.Current.Server.MapPath("wanfrsa.pfx"), "123456", X509KeyStorageFlags.MachineKeySet);
RSACryptoServiceProvider rsapri = (RSACryptoServiceProvider)cert.PrivateKey;
RSAPKCS1SignatureFormatter f = new RSAPKCS1SignatureFormatter(rsapri);
byte[] result;
f.SetHashAlgorithm("SHA1");
SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider();
result = sha.ComputeHash(bytes);
signMsg = System.Convert.ToBase64String(f.CreateSignature(result)).ToString();
...全文
290 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
铜臂阿铁木 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wanfaijie 的回复:]

引用 5 楼 sunzongbao2007 的回复:

先看看你的wanfrsa.pfx的hash是不是wanfrsa.pfx,如果是就按照上面的补丁去做,如果是SHA1的话,就另想别的办法。

f.SetHashAlgorithm("SHA1"); 这个算法是SHA1?还是不算,证书是我自己生成的?
[/Quote]

关键是证书。 证书在windows2008或者 windows7什么的电脑上生成的话基本上都是sha256
wanfaijie 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sunzongbao2007 的回复:]

先看看你的wanfrsa.pfx的hash是不是wanfrsa.pfx,如果是就按照上面的补丁去做,如果是SHA1的话,就另想别的办法。
[/Quote]
f.SetHashAlgorithm("SHA1"); 这个算法是SHA1?还是不算,证书是我自己生成的?
wanfaijie 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sunzongbao2007 的回复:]

http://support.microsoft.com/kb/938397 把这个kb在2003上安装上。

具体解释在这:http://blogs.technet.com/b/pki/archive/2010/09/30/sha2-and-windows.aspx
主要是说windows2003没有加入SHA256,需要用补丁加进去。
[/Quote]

可能吧,我是试下
wanfaijie 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiuhexuan 的回复:]

HttpContext.Current.Server.MapPath("wanfrsa.pfx")
这个路径的权限在确定下,
[/Quote]

这个路径绝对没有问题,因为本地访问没有问题
铜臂阿铁木 2012-03-21
  • 打赏
  • 举报
回复
先看看你的wanfrsa.pfx的hash是不是wanfrsa.pfx,如果是就按照上面的补丁去做,如果是SHA1的话,就另想别的办法。
铜臂阿铁木 2012-03-21
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/938397 把这个kb在2003上安装上。

具体解释在这:http://blogs.technet.com/b/pki/archive/2010/09/30/sha2-and-windows.aspx
主要是说windows2003没有加入SHA256,需要用补丁加进去。
铜臂阿铁木 2012-03-21
  • 打赏
  • 举报
回复
windows 2003需要装一个补丁。

Google去,关键字: windows2003 SHA256
jiuhexuan 2012-03-21
  • 打赏
  • 举报
回复
HttpContext.Current.Server.MapPath("wanfrsa.pfx")
这个路径的权限在确定下,
冰镇宝贝321 2012-03-21
  • 打赏
  • 举报
回复
看到要沉了,赶紧帮忙顶下

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧