首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基本的自签名证书问题

基本的自签名证书问题
EN

Security用户
提问于 2013-10-23 17:29:04
回答 2查看 7.2K关注 0票数 11

关于自签名证书的几个基本问题

问题1

自签名证书必须有CA吗?我意识到,一个“真实”的证书必须是因为它可以被链式验证,但是自我签名呢?

问题2

如果一个自签名没有CA -它是否仍然在可信的CA存储中不引起链验证错误时使用它进行测试?

问题3

是否有一种方法可以查看自签名证书是否由CA签名--如果它有CA,是否会影响上述问题?那么,我是否必须让CA信任它,还是仍然可以将实际的证书放在CA存储中以创建一个安全的SSL通道?

EN

回答 2

Security用户

回答已采纳

发布于 2013-10-23 18:02:56

证书由颁发证书的CA签名。根据定义,自签名证书不是由CA颁发的(如果您想这样查看它,也不是它自己的CA )。

证书可能具有CA权限,即信任用于签署其他证书,这取决于证书是否包含Basic Constraints扩展,cA标志设置为TRUE (cf 标准)。

发生的情况如下:当某个应用程序想要验证证书(例如,希望对服务器执行SSL并刚刚获得服务器证书的Web浏览器)时,它将希望构建一个以“信任锚”(其“可信根”证书存储中的一个证书之一)开始并以要验证的证书(称为"EE“作为"end-entity")结束的证书链。链有效的确切规则是错综复杂,并包含详细信息;为了回答这个问题,让我们将自己限制在以下必要条件上:

  • 链必须从信任锚开始。
  • 每个证书由链中的前一个证书签名(即每个证书上的签名相对于存储在前一个证书中的公钥进行验证)。
  • 除了end实体之外,每个证书都有一个Basic Constraints扩展,其中cA标志设置为TRUE

因此,当用作信任锚时,自签名但非CA证书将被接受为有效的结束实体证书(即,在一个完全还原为该证书的链中),而不是其他证书。这是正常情况。当作为浏览器用户,您希望接受给定的自签名证书为有效时,您实际上告诉您的浏览器,自签名证书应该成为信任锚--但您肯定不希望信任该证书,因为它可以发出其他名称的证书!您希望只在验证特定站点时信任它。

和往常一样,细节可能会有所不同--并不是所有浏览器的反应都完全一样。但核心概念仍然是:

  • 自签名证书存在于CA世界之外:它不是由CA颁发的。
  • 客户端(浏览器)使用信任锚作为其信任的基础。
  • 通常,Web服务器的自签名证书应该仅对该服务器信任(如果有的话),即添加为信任锚,但不标记为“有利于颁发证书”。

当链简化为单个证书时,即结束实体也是信任锚点,那么这就是所谓的直接信任:一个特定的证书是通过已知的、准确的,而不是通过一个受信任的CA发出的而被信任的。

票数 23
EN

Security用户

发布于 2013-10-23 17:52:01

  1. 不是的。自签名证书不是由CA签名的,而是由自身签名的.但是,所有CA都发布用于对其他证书进行签名的自签名证书.“可信CA”是包含在操作系统或浏览器中的CA,或者是您明确选择信任的CA。
  2. 取决于自签证书。如果您使用它作为CA并在您的组织中签名其他证书,那么我可能会将它添加到我信任的CA存储中。如果它仅用于对特定服务器进行身份验证,而不是作为CA使用,我将将其包含在不同的存储区中,例如“受信任的发布者”。即使如此,我也会小心地确保证书的存储和处理--任何获得证书的人都可以对信任它的机器做任何他们想做的事情。我永远不会在我信任的CA存储中放置随机证书。
  3. 一份自我签名的证书在最后找到了一条信任链--上面写着“我是我自己的父母”。验证签署普通证书的证书链意味着验证每个签名者的签名,直到找到一个自签名证书为止。此时,自签名证书需要在可信CA存储区中。
票数 7
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/44340

复制
相关文章

相似问题

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