数字证书

  1、简介:

  数字证书(certs)又称因特网上的“ID卡”,它包含了由某个受信任组织担保的用户或公司的相关信息

  2、证书的主要内容

  数字证书中还包含一组信息,所有这些信息都是由一个官方的证书颁发机构(CA,负责证明用户、计算机和组织的身份)以数字方式签发的,比如对象名称(服务器、组织等)、过期时间、证书发布者、来自证书发布者的数字签名。另外,数字证书通常还包括对象的公开密钥,以及对象和所用签名算法的描述性信息。

  任何人都可以创建数字证书,但并不是所有人都能够获得受人尊敬的签发权,从而为证书信息担保,并用其私有密钥签发证书。典型的证书结构如下:

  3、X.509 v3证书

  数字证书没有单一的全球标准。不过现在使用的大多数证书都以一种标准格式——X.509 v3来存储它们的信息。X.509 v3证书将证书信息规范至一些可解析字段中。不同类型的证书有不同的字段值,但大部分都遵循X.509 v3结构。

  X.509证书字段有:版本(X.509证书版本号,目前通常为3)、序列号(CA为每个证书生成的唯一整数)、签名算法ID(签名所用加密算法,如“用RSA加密的MD2摘要”)、证书颁发者(发布并签署该证书的组织名,X.500格式)、有效期(起始日期+结束日期)、对象名称(证书中描述的实体,如一个组织,X.500格式)、证书对象的公开密钥信息(公开密钥及其所用算法,以及所有附加参数)、发布者唯一ID(可选)、证书对象唯一ID(可选)、可选的扩展字段集(版本3及以上;扩展字段有关键或非关键的。关键扩展非常重要,证书使用者一定要能够理解。常用扩展字段有:基本约束、对象与证书颁发机构的关系、证书策略、授予证书的策略、密钥的使用、对公开密钥使用的限制)、证书的颁发机构签名(CA用指定签名算法对上述所有字段进行的数字签名)。

  基于X.509证书的签名有好几种,如Web服务器证书、客户端电子邮件证书、软件代码签名证书和证书颁发机构证书。

  4、用证书对服务器进行认证

  通过HTTPS建立安全Web事务后,浏览器都会自动获取所连接服务器的数字证书。如果服务器没有证书,安全连接就会失败。

  浏览器收到证书时会对签名颁发机构进行检查。若该机构是权威的公共签名机构,浏览器可能已经知道其公开密钥(浏览器会预装很多签名颁发机构的证书),这样就可以验证签名了。下图说明了如何通过其数字签名来验证证书的完整性:

  

  如果对签名颁发机构一无所知,浏览器就无法确定是否应该信任它,这时通常会向用户显示一个对话框,看看他是否相信这个签名发布者(可能是本地的IT部门或软件厂商)。

  参考资料:

  《HTTP权威指南》

不断学习中。。。

时间: 2024-10-10 17:54:59

数字证书的相关文章

https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL

转自:https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结. 1. 首先推荐几个文章: 数字证书: http://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html 数字证书和SSL: http://www.2cto.com/Article/201203/121534.html 数字签名: http://www.

数字签名和数字证书到底是个神马玩意?

数字签名和数字证书到底是个神马玩意?通过以下图文有了更深的理解啊, (感谢阮一峰的翻译,转载了一篇好文章啊,感谢.) 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3. 苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到保密的效果. 4. 鲍勃收信后,用私钥解密,就看到了信件内容.这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密. 5. 鲍勃给苏珊回信,决定采用"数字签

C#编程总结(十一)数字证书

C#编程总结(十一)数字证书 之前已经通过文章介绍了数字证书的基础知识,包括加密和数字签名. 具体可见: 1.C#编程总结(七)数据加密——附源码 2.C#编程总结(八)数字签名 这里来讲述数字证书的概念.作用.工作原理以及具体应用.希望能够给大家一个清晰的认识. 一.概念 数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证.它是由一个由权威机构-----CA机构,又称为证书授权(Certi

数字证书原理【转】

转自http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先

基于数字证书认证的 IPSec VPN 配置

一.数字证书的相关术语 1.数字签名 数字签名基于哈希算法和公钥加密算法,对明文报文先用哈希算法计算摘要,然后用私钥对摘要进行加密,得到的一段数字串就是原文的数字签名数字签名与原文一起传送给接收者.接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比.如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性. 2.数字证书 数字证书是由权威机构发行的,用来证明自己的身份和验

【转】什么是非对称加密、数字签名、数字证书

被苹果的开发者账号.证书.p12文件.描述信息折磨的够呛……为了搞懂啥是代码签名,又看了一遍非对称加密,总是忘……看到啦下面的一篇通俗易懂的文章,mark一下在此. 转自:http://justjavac.iteye.com/blog/1144151 今天,我读到一篇好文章. 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么. 我对这些问题的理解,一直是模模糊糊的,很多细节

详解公钥、私钥、数字证书的概念

详解公钥.私钥.数字证书的概念 加密和认证 首先我们需要区分加密和认证这两个基本概念. 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全 性.身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限.其重点在于用户的真实性.两者的侧重点是不同的. 公钥和私钥      公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高. 在现代密码体制中加密

数字证书应用改造需求调研-2015-10-19

今天下午3点,到客户现场进行需求调研,一个商务,两个技术,用户需要实现的目标是 对目前的一个应用系统实现数字证书的身份识别登录,替换目前的用户名和密码的方式. 如何在原应用基础上的账号关联到数字证书呢?对于单位用户,我们使用的是企业编码, 数字证书通过扩展项,写入企业编码,应用登录,读取客户端的证书扩展项,匹配后通过. 技术上,使用公司自带的中间件,实现证书读取,签名.

[转载] 创建为ClickOnce清单签名的.pfx格式数字证书

使用vs2013自动创建的.pfx数字证书默认有效期只有一年,并且“颁发者”.“颁发给”均为当前机器名和当前登陆用户名的组合,其实我们完全可以创建更友好的.pfx数字证书. 打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作: 1.创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下: makecert -r -n "CN= sndnvaps " -b 08/31/2015 -e 08/31/2030