首页 新闻 会员 周边 捐助

数字证书的操作

0
悬赏园豆:200 [已关闭问题]

各位大侠,小弟我现在正在烦恼一种技术,就是数字证书的操作,内容如下:

1.为客户端颁发一个可受信任的证书到客户端浏览器;

2.验证客户端浏览器中是否有我所颁发的数字证书。

可能问题对大侠来说很简单,可小弟现在真是无语了,找来拼凑的代码总会出现点问题,请哪位专业的大侠解释一下,小弟在这里先谢过了!

问题补充: 简单的写几句代码就可以啊,大侠们,帮帮我吧!!! ~~~~(>_<)~~~~
yiwei的主页 yiwei | 菜鸟二级 | 园豆:205
提问于:2009-07-27 14:08
< >
分享
其他回答(2)
0

关注

itman020 | 园豆:0 (初学一级) | 2009-07-27 18:59
0
麒麟.NET | 园豆:3614 (老鸟四级) | 2009-07-27 19:59
0

Hi,

  看了你的问题,又涉及到证书了,这个几乎会让人崩溃的问题,呵呵。因为我最近也在准备WCF安全的代码,包括和其他人也讨论了安全相关的一些概念。所以来参与讨论,希望能给你提供一些帮助意见。

   既然需要使用证书,这里很都概念都应该一样了,比如非对称加密、签名等等。你的这个问题,恰恰在WCF安全编程里属于一个case,就是使用证书对客户端进行验证,要求的绑定协议是https相关的。WCF在http数据交换的层次上和Web Service 还有ASpx很相似,或者说几乎一样。对于https相关的安全模型,也是由后者继承而来。所以你的问题,我就结合者一起回答。其他WCF爱好者也有个参考。

1.为客户端办法证书:这个涉及到证书的制作(网上资料很多),然后你要导入到客户端IE证书存储区。(1)制作证书:
Microsoft Visual Studio 2008-->Visual Studio Tools-->Visual Studio 2008 命令提示行里输入:
makecert -r -pe -n "CN=FrankWCFServer" -ss My -sky exchange。

WCF分布式开发常见错误(21):unable to open its IChannelListener.分发器未能打开侦听器 )这里整理了证书的制作,和IE查看的资料。可以参考。

2.验证客户端证书:WCF里也有验证客户端证书的问题,绑定协议必须支持消息安全加密,例如SSL,WSHTTPBinding协议。解析的时候使用的类就是:using System.Security.Cryptography.X509Certificates;简单的验证代码就是:

 public class CustomX509CertificateValidator : X509CertificateValidator
     {
        
public override void Validate(X509Certificate2 certificate)
         {
             Console.WriteLine(certificate.Subject);
             Console.WriteLine(certificate.Thumbprint);
            
if (certificate.Thumbprint != "12321212312319B1DD2390D8C9488747BF")
                
throw new SecurityTokenException("Certificate Validation Error!");
         }
     }

Thumbprint是指纹的意思,证书的唯一标识,每个证书都有一个,而且不会重复。你这里也会使用此类来验证。

   一下推荐几个不错的资料,如果你安全的概念很清楚了,就只看前2个吧,最后一个是证书相关的安全概念,需要的话可以看看。

http://topic.csdn.net/t/20040723/17/3204390.html(几乎和你的情况一样,包括如何开发)

http://topic.csdn.net/u/20090521/21/b921912a-88c5-462d-8ef2-b0d3fba35c45.html(asp.net获取客户端证书)

http://www.cqpc110.cn/Files/Faq180.htm(一个网银证书的问题,其实可以参考一下IE证书设置)

WSE3.0构建Web服务安全(2):非对称加密、公钥、密钥、证书、签名的区别和联系以及X.509 证书的获得和管理,记录了详细的证书制作过程。

Frank Xu Lei | 园豆:1860 (小虾三级) | 2009-07-27 23:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册