rollerworks/x509-validator-symfony

Symfony 的 X509Validator 约束

v0.1.1 2024-02-04 10:43 UTC

This package is auto-updated.

Last update: 2024-09-04 11:49:28 UTC


README

本包提供了 X509 TLS 证书/私钥验证器的 Symfony validator/bundle 集成,验证器位于 https://github.com/rollerworks/X509Validator

X509 TLS 证书/私钥验证器验证以下内容:

  • CA 链完整性
  • 私钥位长度
  • 签名算法
  • OCSP 撤销状态(需要互联网访问)
  • 证书用途
  • 证书通用有效性(私钥兼容性,未过期,可读)
  • 证书主机名模式支持,以及防止公共后缀长度违规的全局通配符保护

安装

要安装此包,请在您的 composer.json 中添加 rollerworks/x509-validator-symfony

php composer.phar require rollerworks/x509-validator-symfony

现在,Composer 将自动下载所有必需的文件,并为您安装它们。

Symfony Flex(带 contrib)假定启用 Bundle 并添加所需配置。 https://symfony.ac.cn/doc/current/bundles.html

否则启用以下 Bundle

  • Rollerworks\Component\PdbSfBridge\Bundle\RollerworksPdbBundle
  • Rollerworks\Component\X509Validator\Symfony\Bundle\RollerworksX509ValidatorBundle

并添加以下配置

# config/packages/rollerworks_pdb.yaml

rollerworks_pdb:
    cache_pool: 'rollerworks.cache.public_prefix_db'
    #manager: http # either: 'http' (default), 'static' (requires manual updates) or 'mock'

framework:
    cache:
        pools:
            # This name can be changed by setting `rollerworks_pdb.cache_pool` (**Don't reuse an existing cache pool!**)
            rollerworks.cache.public_prefix_db:
                adapter: cache.adapter.array # use a persistent adapter that can be easily invalidated like cache.adapter.memcached or cache.adapter.pdo
                default_lifetime: 604800 # one week, the cache should be automatically refreshed, unless manager=static is used

要求

您至少需要 PHP 8.2,如果您想验证证书的 OCSP 状态或自动更新 PublicSuffixList,则需要互联网访问。

公共后缀和顶级域名需要定期手动更新。当互联网访问可用时,PdbManager(由 rollerworks/pdb-symfony-bridge 提供)将自动下载列表并将其存储在缓存中。

如果没有互联网访问,则需要手动刷新本地缓存。有关说明,请参阅 https://github.com/rollerworks/PdbSfBridge#offline-usage

基本用法

版本控制

为了透明度和对发布周期的洞察,并努力保持向后兼容性,尽可能在本包中按照语义版本控制指南进行维护。

发布将按照以下格式编号

<主要>.<次要>.<补丁>

并按照以下指南构建

  • 破坏向后兼容性会导致主要版本号增加(并重置次要版本和补丁号)
  • 没有破坏向后兼容性的新功能会增加次要版本号(并重置补丁号)
  • 错误修复和其他更改会增加补丁号

有关 SemVer 的更多信息,请访问 http://semver.org/

许可

本库在 MIT 许可证 下发布。

贡献

这是一个开源项目。如果您想做出贡献,请阅读 贡献指南。如果您正在提交拉取请求,请遵循 提交补丁 部分中的指南。