C#实例化建行网上支付验签接口时出错,尝试读取或写入受保护的内存,这通常指示其他内存已损坏

muscle090620118 2011-08-09 02:57:21
VS2010,web应用程序,.net 2.0。
建行的网上支付,在接收银行反馈结果时,需要先对数据进行验证签名的操作。方法就是调用建行提供的com组件CCBRSA.dll,拷贝到system32并注册,项目里面添加com引用
CCBRSA.RSASig CCBSig = new CCBRSA.RSASig();//建行验签接口
CCBSig.setPublicKey(PKey);//设置商户公钥
bool vSig = CCBSig.verifySigature(SIGNSTRING, src);//验签

理论上vSig返回true就验签成功了,但是调试发现CCBRSA.RSASig CCBSig = new CCBRSA.RSASig();这句话就报错了。AccessViolationException尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
论坛里面有跟我一样问题的,但是他们不理我……
达人们帮帮忙,谢谢!!!
...全文
665 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lstlcyygj 2012-01-16
  • 打赏
  • 举报
回复
我在2003下测试可以,但在win7下不行
muscle090620118 2011-09-01
  • 打赏
  • 举报
回复
服务器系统降到server2003解决了,不知道有没有人在server2008和win7下成功的。结贴
muscle090620118 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wxr0323 的回复:]

是CCBRSA.dll


导致这样的问题有点儿多 自己在尝试尝试
参考
[/Quote]
我这边有一个建行提供的demo,winform程序,调试也是同样报错。你邮箱多少,我发你帮我看看呗~
muscle090620118 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]

dll里函数需要返回的局部变量声明为static
[/Quote]
dll是四川建行提供的,说是从来没遇到这个问题
子夜__ 2011-08-09
  • 打赏
  • 举报
回复
是CCBRSA.dll


导致这样的问题有点儿多 自己在尝试尝试
参考
muscle090620118 2011-08-09
  • 打赏
  • 举报
回复
补充:我是win7系统32位,服务器server2008(32)也是同样问题。建行的接口应该是java写的,需要装java虚拟机
子夜__ 2011-08-09
  • 打赏
  • 举报
回复
dll里函数需要返回的局部变量声明为static

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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