首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenSSL中的自签名证书是什么意思

OpenSSL中的自签名证书是什么意思
EN

Stack Overflow用户
提问于 2012-04-28 15:41:57
回答 3查看 4.1K关注 0票数 5

我是OpenSSL工具的初学者。我不明白一些概念。你能给我解释一下这些概念吗?我想理解CASelf-Signed Certificate或任何概念,以便更好地理解。

(抱歉,如果我使用了错误的术语或语法,我正在学习英语。)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-29 00:30:24

证书的目的是以您可以验证的方式断言一条信息。公钥证书,在该上下文中更具体地说是X.509证书,断言公钥、标识符(主体可分辨名称和/或主体替换名称)和各种其他属性之间的绑定。加在一起,对这些信息进行签名,以形成证书。

X.509证书同时具有颁发者和主题。主题是表示该证书标识谁或什么的标识符(以及谁或什么拥有与该证书内的公钥匹配的私钥)。颁发者表示使用其私钥签署此证书的个人或组织的标识符。

证书使用可以大致分为两个不同的类别:用于特定应用程序或服务(例如,验证SSL/TLS服务器)的证书,以及用于证明其他证书的有效性的证书。

对于后者,证书用作公钥基础设施(PKI)的构建块。证书颁发机构(CA)是颁发证书的机构:它签署将证书中的公钥绑定到主题的断言。这样做时,它会将自己的名称作为颁发者名称放在它颁发的证书中。

如果您将证书与护照(它将您的照片和您的姓名绑定在一起)进行比较,CA将是您的护照当局:那些实际证明护照所说内容真实的人,以便其他人能够验证它。

信任CA使您可以信任它颁发的证书。您可以在您信任的CA和此CA颁发的证书之间建立信任链,这是您以前从未见过的。

随之而来的是一个“自举”问题:如何信任CA本身?

自签名证书是颁发者和主题相同的证书;它们使用与其包含的公钥匹配的私钥进行签名。他们处于信任链的顶端。它们往往是CA证书(除非为特定服务定制,如果没有外部验证,您将无法信任该证书)。

CA证书是可用于颁发/验证其他证书的证书。(如果它们位于根/自签名CA证书和要验证的证书之间,则它们可以是中间CA证书。)定义如何使用证书来验证其他证书的规则在PKIX specification (RFC 3280/5280)中定义。

浏览器和操作系统附带一个预装的CA证书列表,默认情况下您可以信任这些证书。这些大多是商业CA,它们检查证书中有关服务的信息,通常是收费的。相反,您可以信任他们颁发的证书的内容(大多数情况下,这并不是一个完美的系统)。这里涉及到一个“信念的飞跃”,因为您需要信任浏览器/OS只包含信誉良好的CA证书。

如果您使用openssl s_client并看到“链中有自签名证书”或“无法验证证书”之类的消息,这并不一定意味着出了什么问题,但openssl在默认情况下并不使用预定义的信任CA证书列表。它大多数命令都有像-CAfileCApath这样的选项,这些选项允许您指定您愿意信任的CA证书。

服务的自签名证书是一种特殊情况,服务通过该证书自行断言其内容。您通常无法验证此类证书的真实性,除非您有信任它的外部方法(例如,如果您自己在计算机上安装了它,并手动检查其内容,或者如果您信任的人将其提供给您)。

(您可能还对如何使用this question服务器证书感兴趣。)

票数 5
EN

Stack Overflow用户

发布于 2012-04-28 15:55:59

一般来说,证书的目的是建立一条信任链:“我信任这家第三方公司,他们也信任你,因此我可以信任你。”自签名证书意味着你自己生成了它,因此我真的不能信任你。(这些对于测试非常有用,但除此之外就没什么了。)另一种类型是受信任的证书,通过让信誉良好的公司向您出售证书(如Verisign)来获得。这是一个商品市场,所以它们的价格在公司之间是相当一致的。它确实取决于预期的用途和证书的范围。(例如,用于签署安卓应用程序的证书与用于验证https://www.example.com/的证书有很大的不同。)

"CA“或证书颁发机构是颁发证书的公司。在可信证书的情况下,它是该公司--例如Verisign。在自签名证书的情况下,CA是您--您颁发的证书。

票数 2
EN

Stack Overflow用户

发布于 2012-04-28 16:04:00

自签名证书将在大多数浏览器中引起某种“不受信任”的警告,询问您是否要继续并添加例外,等等。这并不意味着连接不安全--它仍然是通过SSL连接的。

一般来说,CA是收费的,但如果你搜索一下,周围有一些免费的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10361613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档