我正在尝试理解数字证书和公钥加密并阅读这页。引自..
此外,数字证书依靠公钥加密技术进行自身身份验证。颁发数字证书时,颁发证书的机构会使用自己的私钥对证书进行签名。为了验证数字证书的真实性,用户可以获取该证书颁发机构的公钥,并将其用于证书,以确定证书是否由该证书颁发机构签名。
我不明白
颁发数字证书时,颁发证书的认证机构用自己的私钥对证书进行签名。
因此我也无法理解
为了验证数字证书的真实性,用户可以获取该证书颁发机构的公钥,并将其用于证书以确定该证书是否由该证书颁发机构签名。
是什么意思用自己的私钥签署证书?这是否意味着使用私钥加密证书?
我的知识是,人们可以使用给定的公钥加密一段数据,然后可以使用私钥解密加密的数据。
但是,如果机构使用私钥加密数据,用户如何使用公钥进行身份验证?公钥可以解密用私钥加密(签名)的数据吗?
答案1
使用 RSA,它是用私钥加密的消息可以用公钥解密,反之亦然。但并非所有公钥加密都是如此,数字签名也不需要。需要的是一些一对算法,其中一个可以使用私钥生成签名,另一个可以使用匹配的公钥验证签名。这些算法的具体实现细节因协议的不同而不同。
答案2
用自己的私钥签名证书是什么意思?是不是用私钥加密证书?
不,这实际上意味着签名。
我的知识是,人们可以使用给定的公钥加密一段数据,然后可以使用私钥解密加密的数据。
这是正确的,但不完整。加密/解密不是仅有的使用公钥加密可以实现的操作。
制作/验证数字签名与此完全不同。它们通常都涉及一对“公钥 + 私钥”,但相似之处仅此而已。
在一些诸如 RSA 之类的算法,签名和加密所涉及的数学几乎相同 —— 但这是例外,而不是规则。
但是,如果机构使用私钥加密数据,用户如何使用公钥进行身份验证?公钥可以解密用私钥加密(签名)的数据吗?
是的,公钥可以核实使用私钥签名的数据,如果验证成功,就证明该签名确实是用私钥做的。