当前位置: 代码迷 >> Web Service >> SSL证书有关问题
  详细解决方案

SSL证书有关问题

热度:675   发布时间:2011-12-12 22:59:56.0
SSL证书问题
我们在开发WCF或者WSE的时候,会用到证书来加密。一般有三种方式来使用证书。
1. makecert命令行来生成证书,这种方法我看了很多介绍都说只能用于测试,不能发布使用。为什么这么说呢?
2. 可以用证书服务器生成证书,也有一种说法是这种方式只能在局域网中使用,是这样吗?
3. 用第三方的,服务器端和客户端都要去申请证书。如果我想让客户端透明的使用我的winform的应用程序,可不可以我在本地去申请客户端的证书,然后打包到winform应用程序中,在程序执行的时候动态的安装证书。这种方式是否可行,还是一定要在实际客户端申请。不能由别人代申请。


------解决方案--------------------
证书服务必须有可信任根证书发行机构颁发的服务器证书才能被浏览器信任...所以...

1.本机证书,只能用于测试...

2.当然不是,但是如果没有上面说的服务器证书就只能在域内使用...和局域网无关...

3.基本不可能...你只需要申请服务器证书即可,用户证书由你的服务器颁发,但是...很贵的...
------解决方案--------------------
不是这样的...因为发放证书是一件很严肃的事情,安全性要求很好的保证,什么证书可以信任什么证书不能信任都是有规则的...

测试证书只在一台计算机上使用,显然这台计算机是你信任的,所以这台计算机上的应用程序都信任这类证书...

域管理的证书服务体系在域内是企业信任的,所以在这个逻辑边界内所有计算机和用户证书都能够被信任...

但Internet不同,需要一套国际认可的认证体系...所以才有那些顶级的可信任根证书发行机构管理证书发行体系...

这个事儿你最好别想了,你看看世界上这么多程序这么多网站有多少是有可信任证书的...连中国四大银行的证书都不被信任需要手动修改IE安全性选项,你能比四大银行还牛?

至于本地程序...实际上本地程序要求的证书比浏览器证书要求更高,因为一旦被OS信任这个程序就可以做安全等级要求很高的事...要获得Windows认证是更困难的事...

话说回来了,你本地程序要证书签名干什么?只有驱动程序或对OS安全造成威胁的程序才需要信任证书签名...
  相关解决方案