liamdennehy / http-signatures-php
此包已弃用且不再维护。未建议替代包。
使用 HMAC 和 RSA 密钥签名和验证 PSR-7 HTTP 消息
v11.0.0
2020-07-20 15:20 UTC
Requires
- php: >=5.6
- liamdennehy/phpseclib: ~3.0
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2
- guzzlehttp/psr7: ^1.2
- kriswallsmith/buzz: ^1.0
- nyholm/psr7: ^1.1
- nyholm/psr7-server: ^0.3.0
- phpunit/phpunit: ~5.6
- symfony/http-foundation: ~2.8|~3.0
- symfony/psr-http-message-bridge: ^1.0.2
- zendframework/zend-diactoros: ^1.1
- zendframework/zend-httphandlerrunner: ^1.1
- dev-master
- v11.0.0
- v11.0.0-beta2
- v11.0.0-beta1
- v11.0.0-alpha3
- v11.0.0-alpha2
- v11.0.0-alpha1
- 10.0.1
- 10.0.0
- 6.6.0
- 6.5.1
- 6.5.0
- 6.4.1
- 6.4.0
- 6.3.0
- 6.2.0
- 6.1.6
- 6.1.5
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.1
- 6.0.0
- 5.1.0
- 5.0.0
- 4.1.0
- 4.0.1
- 4.0.0
- 3.1.2
- 3.1.1
- 3.1
- 3.0
- 2.0.5
- 2.0.4
- dev-pr23
- dev-v11-signing
- dev-http-signatures-test-suite
- dev-doc
- dev-minimum-headers
- dev-empty-header-test
This package is auto-updated.
Last update: 2023-11-29 03:12:31 UTC
README
PHP 实现 签名 HTTP 消息 草案规范;允许对 PSR-7 消息 进行加密签名和验证。
特性
- 根据 签名 HTTP 消息草案 IETF RFC 版本 10 签名 HTTP 消息
- 使用 HMAC 签名和验证消息
- 使用非对称密钥签名和验证消息
- RSA, DSA, EC
- 添加
Digest
标头,或在一个操作中签名时自动添加标头 - 在验证签名时验证
Digest
标头
此库的完整文档可在 Read The Docs 找到
警告:此库的第 11 版集成了 phpseclib 在其 3.0 实现上的持续工作。如果遇到任何问题,请记录问题,但由于库尚未稳定或完全审查,建议谨慎行事,或保持在 v10 版本,直到 phpseclib 3.0 完成,并且此库的主要版本号提升。
简单用法
将 liamdennehy/http-signatures-php 添加到您的 composer.json
。
- 假设消息是一个与 PSR-7 兼容的请求或响应。
- 使用
Context
对象配置签名参数,并准备验证功能。 signWithDigest
函数将添加Digest
标头并在新的Signature
标头中数字签名消息。
在发送之前签名 PSR-7 请求 $message
use HttpSignatures\Context; $context = new HttpSignatures\Context([ 'keys' => ['mykey' => file_get_contents('/path/to/privatekeyfile')], 'algorithm' => 'rsa-sha256', 'headers' => ['(request-target)', 'Date'], ]); $context->signer()->signWithDigest($message);
此库的其他用例的完整文档可在 Read The Docs 找到
贡献
欢迎提交拉取请求,如果您遇到任何问题,也欢迎提交 问题报告。
注意:由于参考实现的 composer 依赖项,在 PHP 7.1 或通过使用命令(为可读性包装)手动删除不兼容的依赖项之前,本地开发仅适用于 PHP 7.1。
composer remove --dev \ nyholm/psr7 nyholm/psr7-server riswallsmith/buzz \ endframework/zend-httphandlerrunner
许可证
HTTP Signatures PHP 库在 MIT 许可证 (MIT) 下授权。
该库的文档许可协议为Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
详细信息请参阅LICENSE文件