什么是数字证书

数字证书在网络上类似于人在社会上持有的身份证等证件,用来在网络上证明数字证书持有者的身份。数字证书持有者可能是现实社会中的自然人、法人,也可能是网络设备。数字证书可以简单理解为“网络身份证”,用来在网络上证明自己的身份。
数字证书与身份证都是由专门的机构来签发。

身份证通常由公安局来签发,上面盖有签发单位的公章。而受电子签名法保护的数字证书则是由国家许可的第三方数字认证中心(简称CA中心)来签发,数字证书上面有CA中心的电子签名,以证明数字证书的有效性。根据国家相关部门的许可授权建立的数字认证中心,在Internet上具有公信力,用它签发的数字证书所签署的电子合同、电子订单等电子文书具有法律效力。

数字证书上面主要包括以下信息:证书版本号、证书持有者信息、证书签发者(CA)信息、证书起止有效期、证书序列号、证书签发者的签名等。这些信息与身份证类似。证书签发者对数字证书的签名可以起到对数字证书本身的防伪作用,这与身份证上的公章类似。但CA中心对证书的数字签名是不可能被伪造的。

数字证书的特性

数字证书具有以下特性:

1.真实性:由于数字证书与现实社会中的实体(人、法人、设备等)绑定的,且数字证书签发时,需要由CA中心对数字证书申请进行严格鉴别、验证,所以数字证书可以确保网络行为的主体是真实的,可以与现实社会中的实体对应的。

2. 完整性:数字证书在使用过程中依赖于哈希算法数学原理。哈希算法可以保证受保护的内容在传输过程中不被篡改;如果被保护的内容被篡改,则一定能够发现。

3.保密性:数字证书具有加密功能。被加密的数据在加密后,只有加密方所设定的接收方证书的持有者才能阅读被加密内容;其它任何人无法阅读加密内容。

4.抗抵赖性:经过数字证书电子签名的数据,一旦签名并发布,数字证书持有者无法抵赖自己做过的数字签名。

基于以上特性,数字证书被广泛用来进行以下工作:

1、 通信加密。

由于数字证书具有机密性,它可以被用于进行密钥交换,以加密大数据量内容。

2、 身份验证。

基于数字证书具有真实性特点,它可以被用来进行身份验证。由于数字证书加密强度非常高,且数字证书经常被存储于专用的UsbKey设备,所以其安全性远大于基于口令的身份验证。

3、 电子签名。

基于数字证书的完整性、抗抵赖性特点,数字证书被广泛用于电子签名。这是数字证书最重要的应用方面。受电子签名法保护的数字证书可以被用来在网上签署电子合同、电子订单、电子公文等,签名结果具有与手写签名的法律效力。

数字证书的分类

基于数字证书的应用角度分类,数字证书可以分为以下几种:

1.服务器证书

服务器证书被安装于服务器设备上,用来证明服务器的身份和进行通信加密。服务器证书可以用来防止假冒站点。

在服务器上安装服务器证书后,客户端浏览器可以与服务器证书建立SSL连接,在SSL连接上传输的任何数据都会被加密。同时,浏览器会自动验证服务器证书是否有效,验证所访问的站点是否是假冒站点。

服务器证书保护的站点多被用来进行密码登录、订单处理、网上银行交易等。

2.电子邮件证书

电子邮件证书可以用来证明电子邮件发件人的真实性。它并不证明数字证书上面CN一项所标识的证书所有者姓名的真实性,它只证明邮件地址的真实性。

收到具有有效电子签名的电子邮件,我们除了能相信邮件确实由指定邮箱发出外,还可以确信该邮件从被发出后没有被篡改过。

另外,使用接收的邮件证书,我们还可以向接收方发送加密邮件。该加密邮件可以在非安全网络传输,只有接收方的持有者才可能打开该邮件。

3.客户端个人证书

客户端证书主要被用来进行身份验证和电子签名。

安全的客户端证书我被存储于专用的usbkey中。存储于key中的证书不能被导出或复制,且key使用时需要输入key的保护密码。使用该证书需要物理上获得其存储介质usbkey,且需要知道key的保护密码,这也被称为双因子认证。这种认证手段是目前在internet最安全的身份认证手段之一。

客户端个人证书的申请,一般需要被严格鉴证,以证明数字证书与使用者的绑定关系。该证书可以被用来进行电子签名。合法的电子证书的电子签名结果具有法律效力。因此,客户端个人证书被广泛应用于各个行业,如网络商务、电子政务、网上报税、网上银行等。

多数客户端个人证书一般具有电子邮件证书的功能。

4.企业证书

企业证书与客户端个人证书类似,可以用来进行身份验证和电子签名。区别只在于企业证书被法人或机构所拥有。

5.代码签名证书

代码签名证书用来证明软件的签发者,发布信任代码。比如网络上广泛使用的ActiveX如果未签名,浏览器会拒绝安装;而签过名的ActiveX则会被提示该软件的发行公司,由用户确认是否安装。这对于防止恶意软件假冒可信公司安装软件非常重要。

代码签名证书除了可以用于签署微软可执行代码外,也可以用来签名java代码、Symbian代码等。

数字证书原理简单说明相关推荐

  1. 数字证书原理,公钥私钥加密原理

    文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理, ...

  2. 数字证书原理分析总结

    什么是数字证书 数字证书在网络上类似于人在社会上持有的身份证等证件,用来在网络上证明数字证书持有者的身份.数字证书持有者可能是现实社会中的自然人.法人,也可能是网络设备.数字证书可以简单理解为&quo ...

  3. SSL协议与数字证书原理

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  4. 数字证书原理[转载]

    文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理, ...

  5. RSA及TLS/SSL及数字证书原理

    转载自:http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html RSA算法原理(二) 作者: 阮一峰 日期: 2013年7 ...

  6. CA证书(数字证书原理)

    转自:https://blog.csdn.net/u011877584/article/details/81119441,感谢 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例 ...

  7. 『转载』 SSL协议与数字证书原理

    SSL协议与数字证书原理 1 SSL(Secure Socket Lclientyer)是netscclientpe公司设计的主要用于weserver的安全传输协议.这种协议在WESERVER上获得了 ...

  8. java安全架构____CA数字证书原理

    转自百度百科:http://baike.baidu.com/link?url=3QmDWbnu1GE0p7wjgELkOfLrHGoB5VVXF88hSDnrfDWRP3hB39S6rcRXCMa3g ...

  9. 网站上数字证书原理你知道么?

    前言:文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的 ...

最新文章

  1. group by的查询
  2. jdbcutils.java_空指针异常错误哪个地方错了Exception in thread main (JdbcUtils.java:62) main(JdbcUtils.java:87)...
  3. Android面试:Java相关
  4. Cracking the coding interview--Q1.5
  5. java class类型参数_java – 如何从通用类型参数获取`.class`属性?
  6. 分式求二阶导数_近10年高考数学“导数大题”分析,附2021备考建议
  7. flask-session总结
  8. Python二级笔记(5)
  9. [读书笔记] 代码整洁之道
  10. pywin32官方说明文档_为什么你应该看官方文档而不是搜索博客文章
  11. 基于 vue + zhengAdmin 的一套后台模板
  12. lol2月26日更新后一直提示服务器维护,《lol》2月26日更新了什么 2月26日更新内容一览...
  13. html5整个桌面背景图片,HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验...
  14. javascript 忍者秘籍读书笔记(二)
  15. ubuntu使用Firefox无法播放视频
  16. linux 文件隐藏,Linux系统怎么隐藏文件夹和文件?
  17. 神舟笔记本WLAN打不开的解决方法
  18. 广联达产品经理笔试题目
  19. 实战案例分享:我用 Python 预测房价走势
  20. pycharm显示全部数据_【数据可视化】BI工程师岗位分析

热门文章

  1. 5G 非独立组网链路预算公式(笔记)
  2. SpringMVC接收ajax请求并回传json数据,配置的步骤及问题解决。No converter found for type ArrayList with Content-Type null
  3. Ubuntu16.04彻底删除旧内核
  4. Redis实现发布与订阅(转)
  5. Special Numbers 进制(1100)
  6. mysql 对象_查看MySQL中的对象
  7. java日志统计_Java实现蓝桥杯日志统计
  8. 扭矩大好还是马力大好_发动机的马力重要还是扭矩重要?加速到底看哪个?
  9. 分类变量 哑变量矩阵 指标矩阵_不懂数据集重排序?分类变量转换苦难?4种python方法,不再难!...
  10. header python 环境信息_Python开发必备:如何建立一个完美的项目工程环境