数字证书
由上面的讨论可以知道,数字证书在ssl传输过程中扮演身份认证和密钥分发的功能。究竟什么是数字证书呢?
简而言之数字证书是一种网络上证明持有者身份的文件,同时还包含有公钥。一方面,既然是文件那么就有可能“伪造”,因此,证书的真伪就需要一个验证方式;另一方面,验证方需要认同这种验证方式。
对于第一个需求,目前的解决方案是,证书可以由国际上公认的证书机构颁发,这些机构是公认的信任机构,一些验证证书的客户端应用程序:比如浏览器,邮件客户端等,对于这些机构颁发的证书完全信任。当然想要请这些机构颁发证书可是要付“到了斯”的,通常在windows部署系统的时候会让客户端安装我们自己服务器的根证书,这样客户端同样可以信任我们的证书。
对于第二个需求,客户端程序通常通过维护一个“根受信任机构列表”,当收到一个证书时,查看这个证书是否是该列表中的机构颁发的,如果是则这个证书是可信任的,否则就不信任。
证书的信任
因此作为一个https的站点需要与一个证书绑定,无论如何,证书总是需要一个机构颁发的,这个机构可以是国际公认的证书机构,也可以是任何一台安装有证书服务的计算机。客户端是否能够信任这个站点的证书,首先取决于客户端程序是否导入了证书颁发者的根证书。下图说明了这个流程:
有时一个证书机构可能授权另一个证书机构颁发证书,这样就出现了证书链。
IE浏览器在验证证书的时候主要从下面三个方面考察,只要有任何一个不满足都将给出警告
1、证书的颁发者是否在“根受信任的证书颁发机构列表”中
2、证书是否过期
3、证书的持有者是否和访问的网站一致
另外,浏览器还会定期查看证书颁发者公布的“证书吊销列表”,如果某个证书虽然符合上述条件,但是被它的颁发者在“证书吊销列表”中列出,那么也将给出警告。每个证书的CRL
Distribution
Point字段显示了查看这个列表的url。尽管如此,windows对于这个列表是“不敏感”的,也就是说windows的api会缓存这个列表,直到设置的缓存过期才会再从CRL
Distribution
Point中下载新的列表。目前,只能通过在证书颁发服务端尽量小的设置这个有效期(最小1天),来尽量使windows的客户端“敏感”些。具体设置方法为(winserver2003):
进入管理员工具->证书机构->右击某个证书服务下的“吊销的证书”目录->属性:
按图中的设置,将CRL发布周期改为1天。
IIS中部署基于数字证书的https网站
在IIS6中构建一个https网站需要如下几个关键步骤:
安装CA认证服务:此步骤不是必要的。如果网络中还没有那台主机安装过CA认证服务,或者确实需要建个新的CA认证服务,那么就需要在某台主机上安装CA认证服务。这是windows自带的功能,默认不安装。如果装了,就意味这这台主机具有颁发证书的能力,只要安装有这台主机的根证书的客户端会信任这台主机颁发的证书。在windows
server 2003中的安装步骤,详见http://jeffyyko.blog.51cto.com/28563/140518
向CA认证服务提交证书申请,并将获得的证书跟网站绑定:详见http://jeffyyko.blog.51cto.com/28563/141322
要求客户端导入根证书,以使客户端信任该证书:详见http://jeffyyko.blog.51cto.com/28563/142280
分享到:
相关推荐
e-office SSL数字证书Apache部署说明文档
关于生成SSL数字证书的总结. 基于TOMCAT的ssl数字证书配置。 文档说明了通过命令生成证书,并一步步配置的过程。并总结了证书使用中的一些问题。 适用TOMCAT6.0+、JDK5.0+。
C# SSL服务端连接及安装数字证书
生成测试版本HTTPS的SSL数字证书
NULL 博文链接:https://nancychengnan.iteye.com/blog/2116793
使用HttpClient4.5实现https请求忽略SSL证书验证工具类
这是一款二次元风格向的SSL证书自签工具源码,可随时随地签发SSL证书 运行环境: 你的 PHP 必须 >=5.6,且安装了 OpenSSL 扩展 所有文件都已本地化,大部分PHP默认开启OpenSSL 安装: 下载源码导入网站目录访问...
SSL和数字证书开发资料,生成CA数字证书,编写服务器端和客户端代码,导入证书,加密通信
java信任SSL证书的工具类 忽略HTTPS请求的SSL证书,必须在openConnection之前调用
android ssl证书验证
远程服务使用SSL证书链,该证书链已使用加密弱哈希算法(例如MD2、MD4、MD5或SHA1)签名。这些签名算法很容易受到碰撞攻击。攻击者可以利用这一点生成另一个具有相同数字签名的证书,从而允许攻击者伪装成受影响的服务...
即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP...
SSL和数字证书的概念及Web应用.doc
主要介绍了Nginx配置SSL自签名证书的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
申请SSL证书以及让网页使用HTTPS 申请SSL证书以及让网页使用HTTPS
Apache 配置支持HTTPS的SSL证书-生成CA证书 Apache 配置支持HTTPS的SSL证书-生成CA证书
windows 2003环境SSL证书安装
域名SSL证书在线生成系统_SSL在线自签证书工具_免费SSL在线生成源码 源码没有后台没有数据库,源码简单便捷,上传到空间内即可使用,虚拟主机,vps,服务器,甚至二级目录,都可以,方便快捷! 随时可以生成自己的...
配置数字证书和ssl站点 1.0 配置证书颁发机构 1.0.1 安装证书颁发机构 1.0.2 安装根证书 1.0.3 显示可用的CSP名称 1.1 配置SSL加密站点
java https ssl 实例 例子