AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 774930
Accepted
Dai
Dai
Asked: 2016-05-05 19:10:55 +0800 CST2016-05-05 19:10:55 +0800 CST 2016-05-05 19:10:55 +0800 CST

信任不可信的 CA - 我可以限制系统信任它的方式吗?

  • 772

(发布到 ServerFault 而不是 StackOverflow,因为我觉得它比编程代码更关注操作系统配置)。

我目前负责维护一个连接到第三方网络服务的系统。此 Web 服务需要客户端身份验证证书,这很公平,但 Web 服务本身由自创建的根证书颁发机构证书创建的自签名证书保护 - 与创建客户端身份验证证书的根相同。

只需将当前服务证书添加到已知信任列表并忽略自创建的授权证书就足够了,不幸的是服务证书定期更改,因此必须信任授权证书以确保应用程序在服务证书已更新。

但是,根据我在运行 Web 服务的公司的经验,我(个人)不信任 CA 证书——如果它被泄露到网络上,我不会感到惊讶——而且令人担忧的是,CA 证书没有任何密钥使用限制它(虽然外部 MITM 攻击是可能的,虽然远程,但我更担心用于代码签名的泄露证书,例如)。

我是否可以告诉我的计算机(目前是服务器盒,但在未来的普通桌面客户端盒)信任 CA,但仅限于给定的一组密钥用法和一小组可能的主题名称(域名)?

该服务器目前是 Windows Server 2012 R2,但它可以在 Linux 机器上运行——尽管桌面机器都是 Windows 机器。

certificate-authority ssl-certificate x509
  • 1 1 个回答
  • 2079 Views

1 个回答

  • Voted
  1. Best Answer
    Crypt32
    2016-05-05T21:28:38+08:002016-05-05T21:28:38+08:00

    对的,这是可能的。对于 Windows,有一个称为交叉认证或合格从属的功能。

    这个想法是您在您的环境中签署第三方颁发的 CA 证书。结果,远程 SSL 证书链接到您自己的根 CA 证书。为了保护自己免受可能的恶意证书的侵害,您可以Name Constraints在其中指定可接受名称列表的证书扩展。如果第三方 CA 为任何其他名称颁发证书(未在名称约束扩展中明确指定),它将被您的 CryptoAPI 提供商自动拒绝。

    除了名称约束之外,您还可以通过Application Policies在交叉证书中定义证书扩展来描述增强密钥使用约束。因此,您的信任提供者将仅成功验证Application Policies扩展中指定的用法。

    详细信息:使用 Windows Server 2003 规划和实施交叉认证和合格从属

    ps 虽然这篇文章是针对 Windows Server 2003 编写的,但这篇文章仍然适用于最新的 Windows Server 版本。

    • 43

相关问题

  • Root CA 是否需要在线?

  • Windows 2003 域 - 证书颁发机构 - 新的自动证书请求

  • 从 AD 中删除证书服务器

  • svn 不会接受我的无效证书

  • CA XCOM 数据传输 - XCOMU0474E xcomd 已在运行。不支持多个实例

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve