gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:51 27 4
gpt4 key购买 nike

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

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

最佳答案

证书的目的是以您可以验证的方式声明一条信息。公钥证书,在此上下文中更具体地说是 X.509 证书,断言公钥、标识符(主题可分辨名称和/或主题备用名称)和各种其他属性之间的绑定(bind)。总之,对这些信息进行签名以形成证书。
X.509 证书同时具有颁发者和主题。主题是表示该证书标识谁或什么(以及谁或什么拥有与该证书中的公钥匹配的私钥)的标识符。颁发者代表使用其私钥签署此证书的个人或组织的标识符。
证书的使用可以大致分为两类:用于特定应用程序或服务的证书(例如,验证 SSL/TLS 服务器),以及用于证明其他证书有效性的证书。
对于后者,证书被用作公钥基础设施 (PKI) 的构建 block 。证书颁发机构 (CA) 是颁发证书的机构:它签署将证书中的公钥绑定(bind)到主题的断言。这样做时,它将自己的名称作为颁发者名称放入其颁发的证书中。
如果您将证书与护照(将您的照片和您的姓名绑定(bind)在一起)进行比较,那么 CA 将是您的护照授权机构:那些真正证明护照内容真实的人,以便其他人能够验证它。
信任 CA 允许您信任它颁发的证书。您可以在您信任的 CA 和您以前从未见过的 CA 颁发的证书之间建立信任链。
随之而来的是一个“引导”问题:您如何信任 CA 本身?
自签名证书是颁发者和主体相同的证书;它们使用与其包含的公钥匹配的私钥进行签名。他们处于信任链的顶端。它们往往是 CA 证书(除非为特定服务定制,如果没有外部验证,您将无法信任该证书)。
CA 证书是可用于颁发/验证其他证书的证书。 (如果它们位于根/自签名 CA 证书和您希望验证的证书之间的链中间,则它们可以是中间 CA 证书。)定义如何使用证书来验证其他证书的规则在PKIX specification (RFC 3280/5280) .
默认情况下,浏览器和操作系统附带一个预先安装的 CA 证书列表。这些主要是商业 CA,它们检查证书中有关服务的信息,通常是收费的。相反,您可以信任他们颁发的证书的内容(大多数时候,这不是一个完美的系统)。这里涉及到“信仰的飞跃”,因为您需要相信浏览器/操作系统只包含有信誉的 CA 证书。
如果您使用 openssl s_client并且您会看到诸如“链中的自签名证书”或“无法验证证书”之类的消息,这并不一定意味着有问题,而是 openssl默认情况下不使用预定义的受信任 CA 证书列表。它的大部分命令都有一个选项,如 -CAfileCApath允许您指定您愿意信任的 CA 证书。
服务的自签名证书是一种特殊情况,即服务自行声明其内容。您通常无法验证此类证书的真实性,除非您有外部信任它的方式(例如,如果您自己将其安装在机器上并手动更改检查其内容,或者您​​信任的人提供了它给你)。
(您可能还对 this question 感兴趣,了解如何使用 HTTPS 服务器证书。)

关于ssl - OpenSSL 中的自签名证书是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10361613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com