导航:首页 > 证书转让 > 数字证书算法

数字证书算法

发布时间:2021-08-27 19:07:00

⑴ TLS/SSL数字证书里的指纹算法、签名算法和签名哈希算法各是做什么用的

你好!

签名哈希算来法:签名之自前对证书主体部分进行哈希的算法,它和签名算法结合,是签名及认证的一部分。
指纹算法:是对签名之后的证书文件计算一下散列值,只是用于检测证书是否被篡改,类似于去网站下载一个安装包,严谨一点的网站会给一个MD5的值,便于你下载之后再MD5一下核对。
证书指纹何时用到?举个例子,在导入某CA根证书或证书链时,会去该CA官方网站下载相关证书,下载好了之后可以手工检查一下指纹,确认无误再导入。

⑵ 数字证书的基本原理是什么

egates问的是数字证书,而非数字签名,这两者经常相关联,但不是一个概念。

数字证书是数字形式的标识,与护照或驾驶员执照十分相似。数字证书是数字凭据,它提供有关实体标识的信息以及其他支持信息。数字证书是由成为证书颁发机构(CA)的权威机构颁发的。由于数字证书有证书权威机构颁发,因此由该权威机构担保证书信息的有效性。此外,数字证书只在特定的时间段内有效。

数字证书包含证书中所标识的实体的公钥(就是说你的证书里有你的公钥),由于证书将公钥与特定的个人匹配,并且该证书的真实性由颁发机构保证(就是说可以让大家相信你的证书是真的),因此,数字证书为如何找到用户的公钥并知道它是否有效这一问题提供了解决方案。

至于这个公钥有何用则属于另一个主题:公钥加密。也解释一下吧。

公钥加密属于“非对称密钥”加密,为了解释得更清楚,先说下“对称密钥”加密。

举个例子,如果发件人希望加密邮件,那么发件人需要知道纯文本中的字母 A 的每个实例都将被密钥更改为密码中的字母 D;纯文本中的字母 B 的每个实例都将更改为密码中的字母 E,依此类推。使用此密钥(采用“将字母前移三位”的算法),纯文本中的单词“help”将加密为“khos”密码。

当收件人收到密码邮件时,需要将它重新转换为纯文本,方法是使用密钥来解密信息,在本例中即是将字母后移三位,从而撤消更改。

在本例中,发件人和收件人必须将密钥保存在隐秘的地方,因为任何知道密钥的人都可以使用它来解密并阅读邮件。密钥丢失会使得加密变得毫无价值。此外,算法的强度也很重要。未经授权的一方可以获取加密后的密码,并通过根据密码来确定密钥的方法,设法破解加密。

请注意,发件人和收件人使用的是相同的密钥。此类加密称为“对称密钥”加密,因为双方使用相同的密钥。

注意这个示例中,算法强度相当小。

我们所说的“公钥加密”是使用两个密钥,而不是使用一个共享的密钥。一个密钥(称为“私钥”)是保密的。它只能由一方保存,而不能各方共享。第二个密钥(称为“公钥”)不是保密的,可以广泛共享。这两个密钥(称为“密钥对”)在加密和解密操作中配合使用。密钥对具有特殊的互补关系,从而使每个密钥都只能与密钥对中的另一个密钥配合使用。这一关系将密钥对中的密钥彼此唯一地联系在一起:公钥与其对应的私钥组成一对,并且与其他任何密钥都不关联。

由于公钥和私钥的算法之间存在特殊的数学关系,从而使得这种配对成为可能。密钥对在数学上彼此相关,例如,配合使用密钥对可以实现两次使用对称密钥的效果。密钥必须配合使用:不能使用每个单独的密钥来撤消它自己的操作。这意味着每个单独密钥的操作都是单向操作:不能使用一个密钥来撤消它的操作。此外,设计两个密钥使用的算法时,特意设计无法使用一个密钥确定密钥对中的另一个密钥。因此,不能根据公钥确定出私钥。但是,使得密钥对成为可能的数学原理也使得密钥对具有对称密钥所不具有的一个缺点。这就是,所使用的算法必须足够强大,才能使人们无法通过强行尝试,使用已知的公钥来解密通过它加密的信息。公钥利用数学复杂性以及它的单向特性来弥补它是众所周知的这样一个事实,以防止人们成功地破解使用它编码的信息。

如果将此概念应用于前面的示例,则发件人将使用公钥将纯文本加密成密码。然后,收件人将使用私钥将密码重新解密成纯文本。

由于密钥对中的私钥和公钥之间所存在的特殊关系,因此一个人可以在与许多人交往时使用相同的密钥对,而不必与每个人分别使用不同的密钥。只要私钥是保密的,就可以随意分发公钥,并让人们放心地使用它。使许多人使用同一个密钥对代表着密码学上的一个重大突破,因为它显著降低了密钥管理的需求,大大提高了密码学的可用性。用户可以与任意数目的人员共享一个密钥对,而不必为每个人单独设立一个密钥。

(等待3点的球赛,无聊中)

⑶ x.509数字证书中"签名算法"和"微缩图算法"有什么区别

数字证书基本概念
(1)什么是证书?
在一个电子商务系统中,所有参与活动的实体都必须用证书来表明自己的身份。证书一方面可以用来向系统中的其它实体证明自己的身份(每份证书都是经“相对权威的机构”签名的),另一方面由于每份证书都携带着证书持有者的公钥(签名证书携带的是签名公钥,密钥加密证书携带的是密钥加密公钥),所以,证书也可以向接收者证实某人或某个机构对公开密钥的拥有,同时也起着公钥分发的作用。
(2)什么是CA?
CA是Certificate Authority的缩写,是证书授权的意思。在电子商务系统中,所有实体的证书都是由证书授权中心既CA中心分发并签名的。一个完整、安全的电子商务系统必须建立起一个完整、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。
(3)什么是SSL?
安全套接层协议(SSL,Security Socket Layer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性,主要采用公开密钥体制和X.509数字证书技术来提供安全性保证。对于电子商务应用来说, SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作"表单签名(Form Signing)"的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。
(4)什么是RA?
RA即证书发放审核部门,它是CA系统的一个功能组件。它负责对证书申请者进行资格审查,并决定是否同意给该申请者发放证书,并承担因审核错误引起的、为不满足资格的证书申请者发放证书所引起的一切后果,因此它应由能够承担这些责任的机构担任。
(5)什么是CP?
CP即证书发放的操作部门,它是CA系统的一个功能组件,负责为已授权的申请者制作、发放和管理证书,并承担因操作运营错误所产生的一切后果,包括失密和为没有获得授权者发放证书等,它可以由审核授权部门自己担任,也可委托给第三方担任。
(6)什么是CRL?
CRL是证书作废表的缩写。CRL中记录尚未过期但已声明作废的用户证书序列号,供证书使用者在认证对方证书时查询使用。CRL通常被称为证书黑名单。
(7)什么是OCSP?
OCSP即在线证书状态查询(Online Certificate Status Protocol),使用户可以实时查询证书的作废状态。
(8)什么是密钥对,怎样使用它,怎样获得密钥对?
像有的加密技术中采用相同的密钥加密、解密数据,公共密钥加密技术采用一对匹配的密钥进行加密、解密。每把密钥执行一种对数据的单向处理,每把的功能恰恰与另一把相反,一把用于加密时,则另一把就用于解密。
公共密钥是由其主人加以公开的,而私人密钥必须保密存放。为发送一份保密报文,发送者必须使用接照叩墓

⑷ 如何获取数字证书(x509Certificate)中的指纹算法

创建X509证书方法较多,在Windows 环境下大致总结了几中办法,
1) 通过CA获取证书,
2) 通过微软提供的makecert 工具得到测试证书
3) 编程的方法创建,.Net提供了 X509Certificate2 类,该类可以用于创建证书,但只能从RawData中创建,创建后无法修改除FriendlyName以外的任何属性。

我在互联网上找了很久,始终没有找到完全通过程序创建自定义的证书的方法。后来想了一个折中办法,就是用程序调用 makecert.exe 先生成一个证书,证书的一些参数如Subject,有效期,序列号等可以通过参数传入,然后把生成的证书文件读到Rawdata中,得到X509Certificate2 类型的证书对象。当然这种方法确实比较笨,必须要依赖外部进程。等后面有时间的话,我还是想按照X509 V3 标准,自己创建RawData,然后生成证书,这样应该是比较灵活的做法。不知道网友们有没有什么更好的方法来创建一个自定义的证书。

通过 makecert.exe 创建X509证书的代码如下,供大家参考

static object semObj = new object();

/// <summary>
/// 自定义的证书信息
/// </summary>
public class T_CertInfo
{
public String FriendlyName;
public String Subject;
public DateTime BeginDate;
public DateTime EndDate;
public int SerialNumber;
}

/// <summary>
/// 生成X509证书
/// </summary>
/// <param name="makecrtPath">makecert进程的目录</param>
/// <param name="crtPath">证书文件临时目录</param>
/// <param name="certInfo">证书信息</param>
/// <returns></returns>
public static X509Certificate2 CreateCertificate(String makecrtPath, String crtPath,
T_CertInfo certInfo)
{
Debug.Assert(certInfo != null);
Debug.Assert(certInfo.Subject != null);

string MakeCert = makecrtPath + "makecert.exe";
string fileName = crtPath + "cer";

string userName = Guid.NewGuid().ToString();

StringBuilder arguments = new StringBuilder();

arguments.AppendFormat("-r -n \"{0}\" -ss my -sr currentuser -sky exchange ",
certInfo.Subject);

if (certInfo.SerialNumber > 0)
{
arguments.AppendFormat("-# {0} ", certInfo.SerialNumber);
}

arguments.AppendFormat("-b {0} ", certInfo.BeginDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("-e {0} ", certInfo.EndDate.ToString(@"MM\/dd\/yyyy"));
arguments.AppendFormat("\"{0}\"", fileName);

⑸ 数字证书是什么

每个人都有很多形式的身份证明,如身份证、驾驶证、护照等,这些证件都是由相应的签发机构盖章认证的,可信程度较高,很难进行伪造,并且随着科技的发展,还可以通过指纹、视网膜等生物特征进行身份的认证。数字证书(Digital Certificate)也称为电子证书,类似于日常生活中的身份证,也是另外一种形式的身份认证,用于标识网络中的用户身份。数字证书集合了多种密码学的加密算法,证书自身带有公钥信息,可以完成相应的加密、解密操作,同时,还拥有自身信息的数字签名,可以鉴别证书的颁发机构,以及证书内容的完整性。由于证书本身含有用户的认证信息,因此可以作为用户身份识别的依据。通常数字证书会包含如下内容:对象的名称(人、服务器、组织);·证书的过期时间;证书的颁发机构(谁为证书担保);证书颁发机构对证书信息的数字签名;·签名算法;·对象的公钥。
对象的名称指的是证书所代表的用户,可以是人、服务器、组织等。证书的过期时间用来确定证书是否仍然有效。颁发机构将为证书的真实性与有效性做担保,确保证书所携带的信息是经过校验的。数字签名用于鉴别证书的颁发机构,以及证书内容是否完整,颁发机构用私钥对证书进行签名,而校验方使用颁发机构的公钥来解密签名,与其用摘要算法生成的摘要进行比较,便可以验证证书是否由该机构所颁发,信息是否完整。对象的公钥用来对信息进行加密,信息传输到接收方,接收方将使用公钥对应的私钥进行解密。

⑹ RSA算法+数字证书怎么实现授权管理功能

授权管理就是让每一个用户拥有自己应有的访问权限,实现授权管理不是很复杂,就是将用户的网卡地址在DHCP服务器上绑定一个IP地址,再给这个IP地址授权。

⑺ 数字证书的原理是什么

一、数字证书的原理:

数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。每个用户拥有一把仅为本人所掌握的私有密钥(私钥),用它进行解密和签名;同时拥有一把公共密钥(公钥)并可以对外公开,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。

用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:

数字证书的作用

数字证书可用于发送安全电子邮件、访问安全站点、网上证券、网上招标采购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和安全电子交易活动。数字证书的格式一般采用X.509国际标准。

二、数字证书的功能

交易中的商务信息均有保密的要求。如信用卡的帐号和用户名被人知悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机。而CA中心颁发的数字安全证书保证了电子商务的信息传播中信息的保密。

网上交易的双方很可能素昧平生,相隔千里。要使交易成功首先要能确认对方的身份,对商家要考虑 客户端不能是骗子,而客户也会担心网上的商店不是一个玩弄欺诈的黑店。因此能方便而可靠地确认对方身份是交易的前提。对于为顾客或用户开展服务的银行、信用卡公司和销售商店,为了做到安全、保密、可靠地开展服务活动,都要进行身份认证的工作。而CA中心颁发的电子签名可保证网上交易双方的身份,银行和信用卡公司可以通过CA认证确认身份,放心的开展网上业务。

由于商情的千变万化,交易一旦达成是不能被否认的。否则必然会损害一方的利益。例如订购黄金, 订货时金价较低,但收到订单后,金价上涨了,如收单方能否认受到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此CA中心颁发的数字安全证书确保了电子交易通信过程的各个环节的不可否认性,使交易双方的利益不受到损害。

交易的文件是不可被修改的,如上例所举的订购黄金。供货单位在收到订单后,发现金价大幅上涨了,如其能改动文件内容,将订购数1吨改为1克,则可大幅受益,那么订货单位可能就会因此而蒙受损失。 因此CA中心颁发的数字安全证书也确保了电子交易文件的不可修改性,以保障交易的严肃和公正。

⑻ 数字证书的验证过程

你的概念来理解得有自点错误。

根证书是指根CA证书,是信任的源头。根证书是自签发证书,就是自己签发自己,要不为何叫做根?
CA证书包括根CA证书、二级CA证书、三级。。。
CA证书不参与通信,只有服务器证书和用户证书等参与通信过程的建立。

不是证书之间建立通信,而是通过通信协议在通信的建立过程中使用到了证书,如SSL协议,具体如何建立通信过程,请参见SSL的握手协议。

服务器证书和用户证书,即使不是一个CA签发的,也可以使用证书达到互相通信的目的。只需要进行配置做到相互信任对方的CA证书即可。

你还需要进一步理清概念。。。
满意请采纳。

⑼ 数字证书的工作原理是什么

数字证书认证中心(Certficate Authority,CA)就是一个负责发放和管理数字证书的权威机构。对于一个大型的应用环境,认证中心往往采用一种多层次的分级结构,各级的认证中心类似于各级行政机关,上级认证中心负责签发和管理下级认证中心的证书,最下一级的认证中心直接面向最终用户。
数字安全证书利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送以商户,然后由商户用自己的私有密钥进行解密。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1) 保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;
(2) 保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。

阅读全文

与数字证书算法相关的资料

热点内容
北京东灵通知识产权服务有限公司西安分公司 浏览:6
海南证券从业资格证书领取 浏览:846
成果有男票吗 浏览:828
知识产权法04任务0001答案 浏览:691
马鞍山519日停电通知 浏览:977
马鞍山金鹰营业时间 浏览:919
矛盾纠纷排查调处信息 浏览:714
贵州注册土木工程师岩土证书领取时间 浏览:829
买家投诉发票 浏览:251
普通护照的期限 浏览:766
发明文言文 浏览:523
国培线下专题研修成果 浏览:577
马鞍山苏丛勇 浏览:109
人民的名义侵权问题 浏览:53
全椒到马鞍山汽车时刻表 浏览:899
logo可用字体版权 浏览:861
马鞍山中豪 浏览:929
tefl证书在哪里考 浏览:564
小陆离与成果 浏览:654
迷你世界冒险转化创造 浏览:680