- 浏览: 236826 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (188)
- Java (68)
- SQL (9)
- JavaScript (1)
- Spring (3)
- Struts (0)
- OS (4)
- Mywork (8)
- IT News (10)
- Passtime (15)
- English (11)
- SCJP (2)
- Linux (4)
- Maven (6)
- OpenSource (1)
- 持续集成CI (1)
- CVS (3)
- Hudson (3)
- OpenID (5)
- Web (8)
- Project Management (6)
- CRM (3)
- CaseStudy (2)
- SSO (1)
- OpenLDAP (4)
- Thinking (1)
- JGroup (1)
最新评论
-
guji528:
谢谢分享!
一些关于Emma的资料 -
atgoingguoat:
我也碰到这个问题
Linux 下具体如何处理.
java.net.UnknownHostException: ibatis.apache.org -
zerostar88:
http://www.limodev.cn/blog/arch ...
HTC G3 刷 Recovery and ROM -
zerostar88:
but DES now is deprecated, we u ...
DES/CBC/PKCS5Padding密码 -
xnxylxh:
辛苦了
数字证书
公钥、私钥、数字证书的概念
http://blog.csdn.net/turui/archive/2008/01/17/2048582.aspx
一直以来对公钥和私钥都理解得不是很透彻,感觉到模棱两可。今天在网上找了半天,通过查看对这个密钥对的理解,总算弄清楚了。 数字证书的原理 数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时 设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使 用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密. 在公开密钥密码体制中,常用的一种是RSA体制。 我的解释:(not me:)) 每个用户都有一对私钥和公钥。 当该用户发送文件时,用私钥签名,别人用他给的公钥解密,可以保证该信息是由他发送的。即数字签名。 数字证书 是 数字形式的标识,与护照或驾驶员执照十分相似。数字证书是数字凭据,它提供有关实体标识的信息以及其他支持信息。数字证书是由成为证书颁发机构(CA)的 权威机构颁发的。由于数字证书有证书权威机构颁发,因此由该权威机构担保证书信息的有效性。此外,数字证书只在特定的时间段内有效。 数字证书包含证书中所标识的实体的公钥(就是说你的证书里有你的公钥),由于证书将公钥与特定的个人匹配,并且该证书的真实性由颁发机构保证(就是说可以让大家相信你的证书是真的),因此,数字证书为如何找到用户的公钥并知道它是否有效这一问题提供了解决方案。 数字证书用来使用户找到该授信机构的公钥。 百度对数字证书的定义: http://baike.baidu.com/view/16501.htm
公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。
使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:
1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。
2. 必须保证是我发送的邮件,不是别人冒充我的。
要达到这样的目标必须发送邮件的两人都有公钥和私钥。
公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。
比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。
首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。
其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有,这样就保证了这个邮件是我发送的。
当A->B资料时,A会使用B的公钥加密,这样才能确保只有B能解开,否则普罗大众都能解开加密的讯息,就是去了资料的保密性。验证方面则是使用签 验章的机制,A传资料给大家时,会以自己的私钥做签章,如此所有收到讯息的人都可以用A的公钥进行验章,便可确认讯息是由 A 发出来的了。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。
私钥用来进行解密和签名,是给自己用的。
公钥由本人公开,用于加密和验证签名,是给别人用的。
当该用户接受文件时,别人用他的公钥加密,他用私钥解密,可以保证该信息只能由他接收到。可以避免被其他人看到。
我的解释:什么是数字证书
数字证书是一种权威性的电子文档,由权威公正的第三方机构,即CA中心签发的证书。
它以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性。 使用了数字证书,即使您发送的信息在网上被他人截获,甚至您丢失了个人的账户、密码等信息,仍可以保证您的账户、资金安全。
它能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份。当然在数字证书认证的过程中证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的.如何判断数字认证中心公正第三方的地位是权威可信的,国家工业和信息化部以资质合规的方式,陆续向天威诚信数字认证中心等30家相关机构颁发了从业资质。
由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险. 为了保证互联网上电子交易及支付的安全性,保密性等,防范交易及支付过程中的欺诈行为,必须在网上建立一种信任机制。这就要求参加电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。
安全性
(1)为了避免传统数字证书方案中,由于使用不当造成的证书丢失等安全隐患,支付宝创造性的推出双证书解决方案: 支付宝会员在申请数字证书时,将同时获得两张证书,一张用于验证支付宝账户,另一张用于验证会员当前所使用的计算机。 (2)第二张证书不能备份,会员必须为每一台计算机重新申请一张。这样即使会员的数字证书被他人非法窃取,仍可保证其账户不会受到损失。 (3)支付盾是一个类似于U盘的实体安全工具,它内置的微型智能卡处理器能阻挡各种的风险,让您的账户始终处于安全的环境下。
唯一性
(1)支付宝数字证书根据用户身份给予相应的网络资源访问权限 (2)申请使用数字证书后,如果在其他电脑登录支付宝账户,没有导入数字证书备份的情况下,只能查询账户,不能进行任何操作,这样就相当于您拥有了类似“钥匙”一样的数字凭证,增强账户使用安全。
方便性
(1)即时申请、即时开通、即时使用。 ()量身定制多种途径维护数字证书,例如通过短信,安全问题等。 (3)不需要使用者掌握任何数字证书相关知识,也能轻松掌握。
数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。
数字证书里存有很多数字和英文,当使用数字证书进行身份认证时,它将随机生成128位的身份码,每份数字证书都能生成相应但每次都不可能相同的数码,从而保证数据传输的保密性,即相当于生成一个复杂的密码。
数字证书绑定了公钥及其持有者的真实身份,它类似于现实生活中的居民身份证,所不同的是数字证书不再是纸质的证照,而是一段含有证书持有者身份信息并经过认证中心审核签发的电子数据,可以更加方便灵活地运用在电子商务和电子政务中。
基于数字证书的应用角度分类,数字证书可以分为以下几种:
服务器证书
服务器证书被安装于服务器设备上,用来证明服务器的身份和进行通信加密。服务器证书可以用来防止假冒站点。
在服务器上安装服务器证书后,客户端浏览器可以与服务器证书建立SSL连接,在SSL连接上传输的任何数据都会被加密。同时,浏览器会自动验证服务器证书是否有效,验证所访问的站点是否是假冒站点,服务器证书保护的站点多被用来进行密码登录、订单处理、网上银行交易等。全球知名的服务器证书品牌有verisign., Thawte, geotrust等。
SSL证书主要用于服务器(应用)的数据传输链路加密和身份认证,绑定网站域名,不同的产品对于不同价值的数据和要求不同的身份认证。超真SSL和超快SSL在颁发时间上已经没有什么区别,主要区别在于:超快SSL只验证域名所有权,证书中不显示单位名称;而超真SSL需要验证域名所有权、营业执照和第三方数据库验证,证书中显示单位名称:
电子邮件证书
电子邮件证书可以用来证明电子邮件发件人的真实性。它并不证明数字证书上面CN一项所标识的证书所有者姓名的真实性,它只证明邮件地址的真实性。
收到具有有效电子签名的电子邮件,我们除了能相信邮件确实由指定邮箱发出外,还可以确信该邮件从被发出后没有被篡改过。
另外,使用接收的邮件证书,我们还可以向接收方发送加密邮件。该加密邮件可以在非安全网络传输,只有接收方的持有者才可能打开该邮件。
客户端个人证书
客户端证书主要被用来进行身份验证和电子签名。
安全的客户端证书我被存储于专用的usbkey中。存储于key中的证书不能被导出或复制,且key使用时需要输入key的保护密码。使用该证书需要物理上获得其存储介质usbkey,且需要知道key的保护密码,这也被称为双因子认证。这种认证手段是目前在internet最安全的身份认证手段之一。key的种类有多种,指纹识别、第三键确认,语音报读,以及带显示屏的专用usbkey和普通usbkey等。
目前数字证书的格式普遍采用的是X.509 V3国际标准,内容包括证书序列号、证书持有者名称、证书颁发者名称、证书有效期、公钥、证书颁发者的数字签名等.
发表评论
-
Java 代码块加载顺序
2015-07-19 13:29 607静态代码块 > 构造代码块 > 构造方法 pu ... -
Sprint JPA Test
2015-02-14 13:45 858@RunWith(SpringJUnit4ClassRunn ... -
WARNING: JMockit was initialized on demand, which may cause certain tests to fai
2013-08-05 09:04 2323When we using Jmokit and Junit ... -
Common log4j Console output when unit testing
2013-08-02 10:23 752#set up stdout appenderlog4j.ap ... -
JGroups 广播检查
2013-01-08 09:52 917先下载JGroup jar包 设置到环境变量CLASSPAT ... -
(转)一步步优化JVM4:决定Java堆的大小以及内存占用
2012-09-22 10:45 936一步步优化JVM4:决定Java堆的大小以及内存占用 htt ... -
让开发自动化: 用 Eclipse 插件提高代码质量
2012-08-02 22:25 1094让开发自动化: 用 Eclipse ... -
从 Java 代码到 Java 堆 理解和优化您的应用程序的内存使用
2012-08-01 09:29 1008从 Java 代码到 Java 堆 理解和优化您的应用程 ... -
Unable to read TLD from JAR file
2011-07-06 14:35 1365Today I try myBatis project Jpe ... -
Java Trouble shooting from IBM
2011-06-16 15:50 782Here is a good repository for J ... -
DES/CBC/PKCS5Padding密码
2011-05-10 10:06 3707DES/CBC/PKCS5Padding 加密解密 i ... -
【java】AES加密解密 AES/CBC/PKCS5Padding
2011-05-10 10:05 18186<Source>http://www.cnblog ... -
Tomcat JNDI configuration
2010-10-18 14:15 1128Tomcat JNDI configuration ... -
(转)设计与开发 JAX-WS 2.0 Web 服务
2010-10-11 08:33 1027https://www6.software.ibm.com/d ... -
初学者如何开发出高质量J2EE系统
2010-09-16 08:34 857(转自CSDN)初学者如何开发出高质量J2EE系统 S ... -
Jpetstore
2010-09-16 08:32 1053http://www.hudong.com/wiki/Jpet ... -
Google SAML2 SSO
2010-09-09 16:40 1532Source: http://code.google.com/ ... -
(Forward)Debug your Java code with ease using JPDA
2010-09-07 13:02 984Debug your Java code with ease ... -
(Forward)程序员从初级到中级10个秘诀
2010-08-22 11:06 812http://sd.csdn.net/a/20100820/2 ... -
为什么5%的技术人员开发效率是其他95%的20倍?
2010-08-22 10:54 868Source: http://sd.csdn.net/a/20 ...
相关推荐
SM2数字证书,充分借鉴与吸收了X509数字证书的格式与优点,在考虑RSA算法的优缺点之后,推出的基于商密公钥算法的SM2证书规范,至此,商密算法的数字证书在商用密码应用安全性评估中成为了必须要检测的一个重要环节...
数字证书实验详细步骤及原理 数字证书是实现安全通信的重要手段之一。实验目的旨在让学生了解 PKI 体系、用户证书申请和 CA 颁发证书过程、认证服务的安装及配置方法、使用数字证书配置安全站点的方法、使用数字...
在IT安全领域,数字签名和数字证书是两个关键概念,它们在确保数据的完整性和身份验证方面发挥着至关重要的作用。本文将详细解释这两个概念,以及它们之间的关系,并结合C#编程语言,探讨如何实现证书和签名功能。 ...
### 标准内部OA系统数字证书应用平台方案 #### 一、项目背景 随着信息技术的快速发展,特别是计算机技术、通信技术和互联网技术的进步,社会经济信息化的步伐显著加快。电子政务和电子商务的发展不仅加速了社会...
ZXCA自信数字证书制作工具是一款专为个人和小型组织设计的实用软件,它提供了制作和管理符合国际标准的数字证书的功能。在信息化高度发达的今天,数字证书是网络安全的重要组成部分,尤其是在数据加密、身份验证和...
在IT行业中,数字证书在软件开发,特别是Visual Studio 2017(简称VS2017)中扮演着至关重要的角色。它们是确保代码安全、验证开发者身份以及实现安全通信的关键工具。"vs2017数字证书certificates.rar"这个压缩包很...
Java代码生成数字证书涉及到几个关键概念和技术,包括Java的密钥和证书管理、RSA加密算法以及非交互式证书创建。在此,我们将深入探讨这些主题,以便理解如何在Java环境中生成和使用数字证书。 1. **数字证书**:...
标题中的“广州数字证书驱动64位”指的是适用于64位操作系统的数字证书驱动程序,这类驱动主要用于确保计算机系统能够正确识别和使用数字证书。在IT领域,数字证书是一种重要的安全工具,它基于公钥加密技术,用于...
这些算法在数字证书验证中扮演着至关重要的角色,确保了网络通信的安全和数据的完整性。 首先,我们要了解数字证书。在网络安全中,数字证书是一种电子文档,用于证明网络实体的身份。它包含了持有者的公开密钥、...
金报税盘税务数字证书驱动2.3.0.13.zip是一款专为财务会计人员设计的重要软件包,主要用于报税过程中的数据安全传输和身份验证。这款驱动程序确保了企业在进行电子报税时,能够使用金报税盘这一硬件设备进行安全、...
《税务系统数字证书应用接口规范》是一份详细阐述税务系统中数字证书应用接口的技术文档,旨在规范税务系统中数字证书的身份认证、签名验签以及数字信封加解密等功能的实施。该规范作为税务身份认证系统建设和运行...
1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区; 2:将该证书导出为pfx文件,并为其指定一个用来打开pfx文件的password; 3:读取pfx文件,导出pfx中公钥和私钥; 4:用pfx证书中的公钥进行...
### Java 获取数字证书信息 在本篇文章中,我们将深入探讨如何使用Java来获取数字证书的信息,包括使用TOMCAT和JDK搭建SSL服务的过程、如何用OpenSSL签发证书以及如何支持第三方CA等内容。 #### 一、使用TOMCAT和...
配置数字证书服务 本资源摘要信息将详细介绍如何配置数字证书服务,包括在 DC 上部署企业根 CA、发布证书申请网站、设置证书颁发机构 Web 注册网站等内容。 一、在 DC 上部署企业根 CA 在 DC 上部署企业根 CA 是...
标题"PKI/CA与数字证书技术大全"暗示了主题是关于公钥基础设施(Public Key Infrastructure, PKI)和认证授权机构(Certification Authority, CA),以及与之相关的数字证书技术。这是一套全面的资料,旨在帮助读者...
代码签名数字证书是软件开发和分发过程中一个关键的安全组件,尤其在确保用户信任和防止恶意软件方面。本文将深入探讨过期证书、过期数字签名的处理、强制签名工具以及数字签名证书的相关知识。 首先,我们要理解...
【数字证书基础】\n\n数字证书是网络通信中安全性的基石,用于验证网络实体的身份。在电子交易、电子邮件和网络安全传输中,数字证书扮演着至关重要的角色。它结合了公钥加密技术和证书颁发机构(CA)的信任机制,...
### 公钥私钥加密解密、数字证书与数字签名详解 #### 一、基础知识概述 在探讨公钥私钥加密解密、数字证书以及数字签名之前,我们需要先理解几个核心概念。 **1. 密钥对:** - 在非对称加密技术中,存在两种密钥...
### 数字证书的概念 #### X.509标准 X.509是国际电联电信委员会(ITU-T)制定的一项重要标准,主要用于规范单点登录(SSO-Single Sign-on)和授权管理基础设施(PMI-Privilege Management Infrastructure)。这一...