你的位置:首页 > Java教程

[Java教程]Https和SSL学习笔记(二)


此文讲述证书的相关信息,参考文章链接http://www.guokr.com/post/116169/

一、 证书的类型

   常用的几种证书如下:

  (1) SSL证书,用于加密HTTP

  (2) 代码签名证书,用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等。

  (3) 客户端证书,比如用于加密邮件等

  (4) 双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书。

证书的格式是由X.509标准定义的。

      这些证书需要由受认证的证书颁发机构(通常称为CA机构)进行颁发,由CA颁发的证书都是受信任的。企业和个人都可以申请证书,根据证书的类型以及时间等因素。收费也是不一样的。

二、向CA申请证书

    一般企业的证书比个人的费用要高,申请证书的时候是有有效期的,有效期过了以后,需要重新申请。

    在申请证书的时候,需要提供网站的域名,提供域名的时候需要证明申请人对域名有所有权。一般来说一个证书只能绑定一个域名,只有在访问这个域名的时候,此证书才是受信任的。另外域名中可以带通配符*,但是这样的证书比较贵。百度的证书就是带通配符的(如图1)。颁发给中的通用名就是申请证书时填写的域名,颁发者的通用名就是颁发机构。若里面有“Extended Validation SSL”的字样,表明了这个证书是一个EV SSL证书(扩展验证SSL证书),EV SSL证书有个特点就是可以让浏览器的地址栏变绿,同时显示出来证书所属公司的名称。有效期中的两个时间就是证书生效时间和实效时间。申请证书的时候除了提供域名之后,还需要提供营业执照以及身份信息等。

四、证书不被浏览器信任的几个原因

  (1) 证书过期

  (2) 证书中的域名与访问的域名不一致

  (3) 颁发机构不受信任