从证书签名请求的wiki页面:
在公钥基础设施(PKI)系统中, 证书签名请求 (也称为CSR或证书请求)是从申请人发送给证书颁发机构以便申请数字身份证书的消息。
在自签名证书的wiki页面中:
在密码学和计算机安全中, 自签名证书是由其authentication身份的相同实体签署的身份证书。 这个术语与实际执行签名程序的个人或组织的身份无关。 用技术术语来说,自签名证书是用自己的私钥签名的。
所以这听起来像是将CSR提交给CA来获得数字身份证书 。 此数字身份证书可能具有与自签名证书(例如, 公钥密码标准12格式 )相同的格式 。
主要区别在于:自签名证书由拥有私钥的同一方签名,而证书颁发机构在接收到证书签发请求时返回的数字身份证书使用证书颁发机构的私钥进行签名。
因此,自签名证书可以保证encryption而不是识别,而证书颁发机构的数字证书可以保证encryption和识别。
这是正确的吗? 会喜欢通过例子来澄清。
自签名证书由拥有私钥的同一方签名,而证书颁发机构接收到证书签发请求后返回的数字身份证书使用证书颁发机构的私钥进行签名。
那是对的。
因此,自签名证书可以保证encryption而不是识别,而证书颁发机构的数字证书可以保证encryption和识别。
这有点棘手。 由于CA包含在内置于浏览器/操作系统中的预填充证书存储中,所以CA签名的证书只能被信任用于识别。 如果我没有预先填充的证书存储,他们都不会被信任。
如果我下载并validation了该自签密钥的证书并将其添加到了我的证书存储区,那么我完全可以信任它。
所以从技术的angular度来看,唯一的区别是您的自签名证书不会被内置到我的浏览器/操作系统中。
好吧,只要你“信任”签署证书的CA,就可以确保情况是安全的。
通常通过在您的环境中安装CA证书(签名者)来执行此操作,以便自动识别由此CA签名的证书并将其视为“可信”。
(抱歉,但我不能评论,所以我不得不使用答复button)
作为一个具体的例子,在我的公司,我们有自己的CA,并且我们在每个网页浏览器(IE,Firefox等)中都安装了CA证书,当CA“签署”我们的SSL证书(用于Intranet ,应用程序等等。在SSL / TLS中侦听),我们访问这些应用程序,它们被自动识别为安全的,您不需要点击特定的警告标语,说明所使用的证书是不可信的(因为它们是要么是自签名的,要么是由未知的CA签名,或者我们不信任的CA)
CA用于签署证书,CSR是发送给CA的请求,因此他们通常可以在没有密钥的情况下为您签发证书。
例如,你会去一个CA,并问一个证书,他们会问你什么信息,他们生成一个密钥和一个CSR的证书,关键是相同的,他们只是生成一个新的证书。 与不同的属性,有时如有效date等…