⑴ 数字证书和数字签名的关系
数字签名是电子签名的一种形式,是电子签名的一个子集。
电子签名是指以电子形式专存在于任何属数据电文中,用来识别签名者身份并表明签名者识别其中内容的数据;狭义的电子签名是使用PKI系统的数字签名。
数字证书是由第三方认证机构(CA)颁发和管理的一种网络数字身份证书。
(1)数字证书与公钥证书扩展阅读:
在现实生活中,我们需要身份证来确认和显示我们的身份。在互联网世界,我们需要数字证书来确认和显示我们的身份,数字证书是基于密码学的。
它利用数字签名、数字信封、时间戳服务等技术,在互联网上建立有效的信任机制。具体来说,它主要包括证书所有者的信息、证书所有者的公钥和证书颁发机构的签名。
⑵ 数字证书是什么,公钥加密和私钥签名
数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
⑶ 数字证书与私钥什么关系
什么是数字证书?
由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险. 为了保证互联网上电子交易及支付的安全性,保密性等,防范交易及支付过程中的欺诈行为,必须在网上建立一种信任机制。这就要求参加电子商务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构----CA证书授权(Certificate Authority)中心发行的,人们可以在互联网交往中用它来识别对方的身份。当然在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。
数字证书也必须具有唯一性和可靠性。为了达到这一目的,需要采用很多技术来实现。通常,数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所有的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。公开密钥技术解决了密钥发布的管理问题,用户可以公开其公开密钥,而保留其私有密钥。
数字证书颁发过程一般为:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。
目前的数字证书类型主要包括:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、VPN证书、WAP证书、代码签名证书和表单签名证书。
随着Internet的普及、各种电子商务活动和电子政务活动的飞速发展,数字证书开始广泛地应用到各个领域之中,目前主要包括:发送安全电子邮件、访问安全站点、网上招标投标、网上签约、网上订购、安全网上公文传送、网上缴费、网上缴税、网上炒股、网上购物和网上报关等。
数字签名(Digital Signature)技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在公钥与私钥管理方面,数字签名应用与加密邮件PGP技术正好相反。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。
数字签名包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGmal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
⑷ 数字证书,公钥和私钥这三者之间的关系是什么
公私钥又称非对称密钥,成对出现,只有相互可逆,一对公私钥可集成为一张数字证书
⑸ 数字签名和数字证书区别
1、数字证书抄是由权威机构--CA证书授权(Certificate Authority)中心发行的如wosign ca,能提供在Internet上进行身份验证的一种权威性电子文档,人们可以在互联网交往中用它来证明自己的身份和识别对方的身份。
2、数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证
3、数字证书好比现实中你的身份证;数字签名 好比现实中你的签字。
⑹ 数字证书是什么
数字证书是用于识别个人,服务器,公司或某个其他实体的电子文档,并将该身份与公钥相关联。证书使用公钥加密来解决模仿问题。
证书的工作方式与前面提到的任何形式的识别方式大致相同。证书颁发机构(CA)是验证身份和颁发证书的实体。客户端和服务器使用 CA 颁发的证书来确定可信任的其他证书。就像验证其他形式的识别的方法可以根据发出 ID 的人和使用它的目的而变化时,用于验证身份的方法可以根据给定 CA 的策略而变化。通常,在颁发证书之前,CA 必须使用其针对该类型证书的已发布验证程序,以确保请求证书的实体实际上是其声称的身份。
CA 颁发的证书将特定公钥绑定到证书标识的实体名称; 例如,员工或服务器的名称。证书有助于防止使用虚假公钥进行模拟。只有通过证书认证的公钥才能使用由证书标识的实体所拥有的相应私钥。
除了公钥之外,证书还包括其标识的实体的名称,到期日期,颁发证书的 CA 的名称,序列号和其他信息。最重要的是,证书始终包含颁发 CA 的数字签名。CA 数字签名允许证书作为知道和信任 CA 的用户的介绍信函,但不知道证书标识的实体。
数字证书对发件人的 Web 凭据进行身份验证,并使加密邮件的收件人知道该数据来自受信任的来源(或声称是其中一员的发件人)。数字证书由证书颁发机构(CA)颁发。数字证书与自签名和邮件加密一起使用。数字证书也称为公钥证书或身份证书。
发送加密消息的人(发送者)可以从 CA 获得数字证书以确保真实性。CA 使用申请人的公钥发布数字证书,以及其他信息,如持有者姓名,序列号,到期日期和数字 CA 签名。它还通过 Web 在公共领域发布自己的公钥。
当发送 Web 消息时,数字证书用作包含公钥和其他相关标识数据的加密附件。当收件人收到邮件时,使用 CA 的公钥解码数字证书。使用驻留在数字证书中的各种信息,接收者可以将加密的回复发送回发送者。
数字证书可以验证网站的真实性和合法性。浏览器可能会显示不安全的数字证书警报但仍允许用户输入。此警告表明该网站存在威胁和安全风险。
⑺ 数字证书和公钥技术的关系以及作用
CA是颁发数字证书的机构,解释CA的作用就能解释为什么有了公私钥还需要数字证书。配对公私钥谁都能产生,这样就可能导致身份欺诈,比如一些不法分子冒充合法客户对商家进行欺诈,造成商家和客户的损失,或者情形反过来。CA是可信任的第三方,它结合客户公钥发行数字证书的作用是保证“你”是“你”,“我”是“我”,从而避免信任欺诈。
⑻ https(SSL/TLS)数字证书中的公钥参数(Public Key parameters)0500是什么含义
微软详细:https://msdn.microsoft.com/en-us/library/windows/desktop/aa379059(v=vs.85).aspx
参数介绍:https://msdn.microsoft.com/en-us/library/windows/desktop/aa379057(v=vs.85).aspx
...
公钥算法:
算法ObjectId:1.2.840.113549.1.1.1 RSA(RSA_SIGN)
算法参数:
05 00
...
我想帮你分解你正在看的东西。
如果你拿你的base64字符串:
+ / / 3J + skZ6UtW +
然后将其解码为十六进制:
30 81 9F 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01
05 00 03 81 8D 00 30 81 89 02 81 81 00 AA 18 AB
A4 3B 50 DE EF 38 59 8F AF 87 D2 AB 63 4E 45 71
C1 30 A9 BC A7 B8 78 26 74 14 FA AB 8B 47 1B D8
96 5F 5C 9F C3 81 84 85 EA F5 29 C2 62 46 F3 05
50 64 A8 DE 19 C8 C3 38 BE 54 96 CB AE B0 59 DC
0B 35 81 43 B4 4A 35 44 9E B2 64 11 31 21 A4 55
BD 7F DE 3F AC 91 9E 94 B5 6F B9 BB 4F 65 1C DB
23 EA D4 39 D6 CD 52 3E B0 81 91 E7 5B 35 FD 13
A7 41 9B 30 90 F2 47 87 BD 4F 4E 19 67 02 03 01
00 01
所以问题是:这是什么?那实际上是ASN.1编码的DER变体。ASN.1是一个可怕的怪物,但价值实际上是这样的:
30 81 9F ;30=SEQUENCE (0x9F = 159 bytes)
| 30 0D ;30=SEQUENCE (0x0D = 13 bytes)
| | 06 09 ;06=OBJECT_IDENTIFIER (0x09 = 9 bytes)
| | 2A 86 48 86 ;Hex encoding of 1.2.840.113549.1.1
| | F7 0D 01 01 01
| | 05 00 ;05=NULL (0 bytes)
| 03 81 8D 00 ;03=BIT STRING (0x8d = 141 bytes)
| | 30 81 89 ;30=SEQUENCE (0x89 = 137 bytes)
| | | 02 81 81 ;02=INTEGER (0x81 = 129 bytes) the molus
| | | 00 ;leading zero of INTEGER
| | | AA 18 AB A4 3B 50 DE EF 38 59 8F AF 87 D2 AB 63
| | | 4E 45 71 C1 30 A9 BC A7 B8 78 26 74 14 FA AB 8B
| | | 47 1B D8 96 5F 5C 9F C3 81 84 85 EA F5 29 C2 62
| | | 46 F3 05 50 64 A8 DE 19 C8 C3 38 BE 54 96 CB AE
| | | B0 59 DC 0B 35 81 43 B4 4A 35 44 9E B2 64 11 31
| | | 21 A4 55 BD 7F DE 3F AC 91 9E 94 B5 6F B9 BB 4F
| | | 65 1C DB 23 EA D4 39 D6 CD 52 3E B0 81 91 E7 5B
| | | 35 FD 13 A7 41 9B 30 90 F2 47 87 BD 4F 4E 19 67
| | 02 03 ;02=INTEGER (0x03 = 3 bytes) - the exponent
| | | 01 00 01 ;hex for 65537
所以编码在十六进制中有两个重要的数字:
指数:(65537 几乎每个人普遍使用65,537作为主要指数)
模数:00 AA 18 AB A4 3B 50 DE EF 38 59 8F AF 87 D2 AB 63 4E 45 71 C1 30 A9 BC A7 B8 78 26 74 14 FA AB 8B 47 1B D8 96 5F 5C 9F C3 81 84 85 EA F5 29 C2 62 46 F3 05 50 64 A8 DE 19 C8 C3 38 BE 54 96 CB AE B0 59 DC 0B 35 81 43 B4 4A 35 44 9E B2 64 11 31 21 A4 55 BD 7F DE 3F AC 91 9E 94 B5 6F B9 BB 4F 65 1C DB 23 EA D4 39 D6 CD 52 3E B0 81 91 E7 5B 35 FD 13 A7 41 9B 30 90 F2 47 87 BD 4F 4E 19 67
或者,在十进制中,你的模数是:
119,445,732,379,544,598,056,145,200,053,932,732,877,863,846,799,652,384,989,588,303,737,527,328,743,970,559,883,211,146,487,286,317,168,142,202,446,955,508,902,936,035,124,709,397,221,178,664,495,721,428,029,984,726,868,375,359,168,203,283,442,617,134,197,706,515,425,366,188,396,513,684,446,494,070,223,079,865,755,643,116,690,165,578,452,542,158,755,074,958,452,695,530,623,055,205,290,232,290,667,934,914,919
⑼ 怎样根据已有的公钥和私钥生成数字证书
openssl genrsa -des3 -out server.key 1024
运行时来会提示输入密码,此密码用源于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!
去除key文件口令的命令:
openssl rsa -in server.key -out server.key!
⑽ 数字证书,公钥、私钥,数字签名的关系
公钥、私钥是一对,公钥是给别人用来解密的,私钥是自己用来加密的
数字证书是用你的公钥生成的,包含你的公钥和其他的一些个人和组织信息。
数字签名是你用你的私钥加密后的一组数据,可以让别人用你的公钥解开。表明是你签名认可的数据