我使用的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();
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();
解决方案 »
- 关于把dataGridView1的数据导入txt的问题
- C# 画直线问题
- 我有一个字符串 ABCDEFGH 我想转换成 GHEFCDAB 该咋写啊
- C# 用全码打开记事本问题
- picturebox控件paint事件
- DataTimerPicter中时间格式的问题
- 现开发一个多数据库(Access、sql server、mysql、oracle)支持的web程序,希望大家能提供几个比较好的开发思路??
- C#中QQ的IP地址查询
- C#WinForm 利用SQL临时表防止客户端重复登陆
- 请问一下IList的GroupBy的使用方法
- 【C#】如何获取环境变量的name和value值
- C#如何连接数据库
这个路径的权限在确定下,
主要是说windows2003没有加入SHA256,需要用补丁加进去。
关键是证书。 证书在windows2008或者 windows7什么的电脑上生成的话基本上都是sha256