rollerworks / x509-validator-symfony
Symfony 的 X509Validator 约束
Requires
- php: ^8.2
- rollerworks/x509-validator: ^0.2.1 || ^0.3
- symfony/config: ^6.4 || ^7.0
- symfony/translation: ^6.4 || ^7.0
- symfony/validator: ^6.4 || ^7.0
Requires (Dev)
- nyholm/symfony-bundle-test: ^2.0
- paragonie/hidden-string: ^2.0
- phpspec/prophecy-phpunit: ^2.1
- phpunit/phpunit: ^10.4.2
- rollerscapes/standards: ^1.0
- symfony/framework-bundle: ^7.0
- symfony/http-client: ^6.4 || ^7.0
- symfony/phpunit-bridge: ^6.4 || ^7.0
Conflicts
- paragonie/hidden-string: <2.0
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 许可证 下发布。