有关数字证书

一、 什么是数字证书

数字安全证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。是由证书签证机关(CA)签发的对用户的公钥的认证。

最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITU x.509国际标准。

数字证书就好比我们生活中的身份证,现实中,身份证由公安机关签发,而网络用户的身份凭证由数字证书颁发认证机构—CA签发,只有经过CA签发的证书在网络中才具备可认证性。

二、X.509证书包含了什么

版本号:证书所遵循的X.509标准的版本。

序列号:唯一标识证书且由证书颁发机构颁发的编号。

证书算法标识:证书颁发机构用来对数字证书进行签名的特定公钥算法的名称。

颁发者名称:实际颁发该证书的证书颁发机构的标识。

有效期:数字证书保持有效的时间段,并包含起始日期和过期日期。

使用者名称:数字证书所有者的姓名。

使用者公钥信息:与数字证书所有者关联的公钥以及与该公钥关联的特定公钥算法。

颁发者唯一标识符:可以用来唯一标识数字证书颁发者的信息。

使用者唯一标识符:可以用来唯一标识数字证书所有者的信息。

扩充信息:与证书的使用和处理有关的其他信息。

证书颁发机构的数字签名:使用证书算法标识符字段中指定的算法以及证书颁发机构的私钥进行的实际数字签名。

三、数字证书颁发过程

数字证书颁发过程如下:用户产生了自己的密钥对,并将公共密钥及部分个人身份信息传送给一家认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内附了用户和他的密钥等信息,同时还附有对认证中心公共密钥加以确认的数字证书。当用户想证明其公开密钥的合法性时,就可以提供这一数字证书。

数字证书的产生:认证中心把用户证书的基本信息做哈希算法,然后用自己的私钥对哈希值进行加密。

有关数字证书_第1张图片

数字证书依赖公钥加密来证明证书自己的身份。当颁发数字证书时,证书颁发机构使用它自己的私钥对证书进行签名。若要验证数字证书的真实性,用户可以获取该证书颁发机构的公钥,并对证书使用该公钥,以确定它是否是由该证书颁发机构签名的。

四、数字证书可以用在什么地方

随着Internet的普及、各种电子商务活动和电子政务活动的飞速发展,数字证书开始广泛地应用到各个领域之中,目前主要包括:发送安全电子邮件、访问安全站点、网上招标投标、网上签约、网上订购、安全网上公文传送、网上缴费、网上缴税、网上炒股、网上购物和网上报关等。

五、数字证书和公钥基础结构

公钥加密的优势之一是,由于用一个密钥对取代了大量的对称密钥,因此减少了密钥管理的工作量。数字证书进一步增强了这一优势,它解决了公钥的分发和管理问题。但是,数字证书无法进行自我管理。由于数字证书固有的广为分发的特点,因此,设计这些证书的管理方案时,必须考虑到数字证书的分发性这一特点。数字证书需要一种有效的基础结构,以便在证书的使用环境中管理证书。公钥基础结构(PKI)与数字证书是不可分割的。PKI负责颁发证书,它通过目录确保这些证书的分发,并验证证书。PKI负责基础工作,其中包括支持数字证书,并使它们可以提供S/MIME等服务所依赖的功能。

六、X.509证书实现过程

使用X.509、SSL协议、OPSSL库实现身份认证

首先使用OPSSL产生X.509数字证书,编写简单的Client程序和Server程序,实现Client程序与Server程序之间基于X509证书和SSL协议身份认证和通信加密,服务器能够接收并且显示客户端发送来的文字消息。

总结:

1、用socket建立链接;

2、链接成功后,进行SSL握手过程(主要为了安全通信)利用SSL握手协议的时候涉及到X.509证书的验证,只有当证书验证成功以后,客户端和服务器端才能进行安全通信;

3、双方互相通信。

参考网址

1.http://www.wxtlife.com/2016/03/27/%E8%AF%A6%E8%A7%A3https%E6%98%AF%E5%A6%82%E4%BD%95%E7%A1%AE%E4%BF%9D%E5%AE%89%E5%85%A8%E7%9A%84%EF%BC%9F/

2.http://blog.51cto.com/h2appy/1181234

3.http://yale.iteye.com/blog/1675344

4.http://www.jianshu.com/p/42bf7c4d6ab8

5.http://justjavac.iteye.com/blog/1144151

你可能感兴趣的:(有关数字证书)