跳到主要内容

7.5. X.509 Certificate Parsing and Validation Complexity (X.509 证书解析与验证复杂性)

7.5 X.509 Certificate Parsing and Validation Complexity (X.509 证书解析与验证复杂性)

X.509 证书与证书链的解析与校验很复杂, 实现错误曾导致安全漏洞. 校验复杂性包括 (但不限于) [CX5P] [DCW] [RFC5280]:

  • 检查 basic constraints, basic 与 extended key usage 约束, 有效期与 critical extensions (关键扩展);

  • 处理 ASN.1 定长字符串中嵌入的 NUL 字节以及主题名中非规范或未规范化的字符串表示;

  • 处理主题名中的通配符模式;

  • 递归验证证书链并检查证书撤销.

因此, 实现者应该使用成熟且经充分测试的 X.509 库 (例如既有 TLS 库所用的库) 进行 X.509 证书链校验, 且不应该尝试自行编写 X.509 证书校验程序.