在后台模拟http post提交数据时,因为需要调用银行证书,会出现问题,出问题代码:
//x509证书
X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(CerPath,CerPwd,X509KeyStorageFlags.MachineKeySet);
会显示‘在编码或解码时出错’我都不知道是哪边的问题,需要遇到的大侠给点指导,我有上网参照过几篇文章,还是不行,链接贴上‘http://www.cnblogs.com/shixudong/p/websevice.html’,‘http://q.cnblogs.com/q/54288/’
编码或解码出错,和证书无关。写个单元测试很容易定位到具体哪一行出现问题。
只写了这么简单的一行,然后就报说是‘在编码或解码时出错’,报错的就是圈圈中的这行
@EApple: 试一下下面的代码
X509Store store = new X509Store("My", StoreLocation.LocalMachine); store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); X509Certificate2 cert = store.Certificates.Find(X509FindType.FindBySubjectName, this.certPasswd, false)[0];
@JeffWong: 你好,我不大明白X509Store store = new X509Store("My", StoreLocation.LocalMachine);中的my和X509Certificate2 cert = store.Certificates.Find(X509FindType.FindBySubjectName, this.certPasswd, false)[0];中的this.certPasswd
@EApple: 就是你贴的代码里的”4ts****“,就是证书密码,建议你注意保密^_^。
@JeffWong: 谢谢提醒,我再试试
@EApple: 试了一下,出现这个呢
@EApple: 打电话给了银行的技术支持,说只支持html post提交,其实我一开始觉得可以在后台写的呢。。。
自己已经解决