# 有效期（Validity Period）是什么？

> 有效期是证书中 notBefore 与 notAfter 两个时间之间的区间，只有在此区间内客户端才会接受这张证书。

Source: https://ssl.sh/zh/glossary/validity-period/
Last updated: 2026-11-10

每张 [X.509](https://ssl.sh/zh/glossary/x509/) 证书都用 notBefore 和 notAfter 两个时间戳声明有效期，超出这个区间客户端就会拒绝。对公网 TLS 证书，CA/浏览器论坛按签发日期限制最长有效期。根据 SC-081v3 投票：2026-03-15 之前签发的最长 398 天，2026-03-15 起为 200 天，2027-03-15 起为 100 天，2029-03-15 起为 47 天。所以截至 2026 年 11 月，上限是 200 天。

## 为什么重要
缩短有效期可以减少错误签发的证书或泄露的私钥被利用的时间（吊销检查本身并不可靠），也倒逼运维自动化。上限一直在下降：2012-07-01 之后签发的为 60 个月，2015-04-01 之后为 39 个月，2018-03-01 起为 825 天，2020-09-01 起为 398 天。Let's Encrypt 走得更远：tlsserver 配置文件自 2026-05-13 起签发 45 天证书，shortlived 配置文件签发六天证书，默认的 classic 配置文件将于 2027-02-10 改为 64 天。如果还在宝塔面板或云厂商控制台手动续期，应尽早改用 [ACME](https://ssl.sh/zh/glossary/acme/) 自动 [续期](https://ssl.sh/zh/glossary/certificate-renewal/)。

## 例子
```bash
openssl x509 -in cert.pem -noout -dates
openssl x509 -in cert.pem -noout -checkend 2592000 && echo "valid for at least 30 more days"
```

`-checkend` 以秒为单位，证书将在该时间内过期时返回非零退出码。

## 常见误区
- **买了多年期证书就只需安装一次。** 多年期只是订阅，每张证书仍受当前最长有效期限制，到期要重新签发并重新部署。
- **有效期短的证书更不安全。** 有效期与加密强度无关，短有效期反而能缩小私钥泄露造成的影响。
- **设备时间不准无所谓。** 客户端时钟错误会把正常证书判定为已过期或尚未生效。

## 相关术语

- [证书续期](https://ssl.sh/zh/glossary/certificate-renewal/): 证书续期是在证书到期前申请一张新证书来替换它，最好全自动完成并同时更换密钥对。
- [短期证书](https://ssl.sh/zh/glossary/short-lived-certificate/): 短期证书是有效期只有几天的 TLS 证书，靠快速过期而不是吊销来限制被盗证书可被滥用的时间。
- [证书生命周期管理](https://ssl.sh/zh/glossary/certificate-lifecycle-management/): 证书生命周期管理（CLM）是对证书从发现、申请、部署、续期到吊销全过程进行跟踪和自动化的做法与工具。
- [Baseline Requirements](https://ssl.sh/zh/glossary/baseline-requirements/): Baseline Requirements 是 CA/B 论坛制定的基线要求，规定公开信任的 CA 在验证、签发和吊销 TLS 服务器证书时必须遵守的规则。
- [ACME](https://ssl.sh/zh/glossary/acme/): ACME 是 IETF 标准协议（RFC 8555），让软件自动向 CA 证明域名控制权，并自动申请、续期和吊销证书。
- [ARI](https://ssl.sh/zh/glossary/ari/): ARI 是 ACME 的扩展标准（RFC 9773），由 CA 告诉客户端某张证书应该在哪个时间窗口内续期。
