You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OpenSSL的openssl.cnf中使用X.509v3名称约束扩展仅允许指定域名

如何在OpenSSL的openssl.cnf中使用X.509v3名称约束扩展仅允许指定域名

你提到的配置方向是完全正确的,咱们来把细节拆解清楚:

首先,你写的这条指令:

nameConstraints = critical, permitted;DNS:.example.com

确实能实现仅允许example.com及其所有子域名的效果——因为permitted类型的名称约束会定义唯一被允许的域名范围,所有未被列在permitted里的名称都会被自动排除,这和你提到的sshd中“只指定允许项就默认排他”的逻辑是一致的。

这里有几个关键细节需要留意:

  • 一定要加上critical标记:它会强制依赖该证书的应用程序必须检查这个名称约束,忽略不符合规则的域名,避免因应用不检查约束而导致限制失效。
  • DNS项的写法差异:.example.com会匹配example.com本身以及所有层级的子域(比如sub.example.com、test.sub.example.com);如果只想允许example.com本身而不包含子域,直接写DNS:example.com即可。
  • 如果需要允许多个独立的域名范围,比如同时允许.example.com和.test.org,可以这样配置:
nameConstraints = critical, permitted;DNS:.example.com, permitted;DNS:.test.org

额外补充:如果你的需求是排除特定域名、允许其余所有域名,那就要用excluded类型的约束,但这和你当前的需求正好相反,所以暂时不用考虑这种写法。

备注:内容来源于stack exchange,提问作者lmo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:13:10