absolut-ticket / http-signatures-php
使用HMAC和RSA密钥对PSR-7 HTTP消息进行签名和验证
11.0.1
2020-04-30 09:10 UTC
Requires
- php: >=7.1
- ext-openssl: >=1.1.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.7
- 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
- 11.0.1
- 11.0.0
- 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-remove-openssl
- dev-v11-signing
- dev-http-signatures-test-suite
- dev-doc
- dev-minimum-headers
- dev-empty-header-test
This package is auto-updated.
Last update: 2024-09-29 05:36:15 UTC
README
PHP实现签名HTTP消息草案规范;允许对PSR-7消息进行加密签名和验证。
功能
- 根据签名HTTP消息草案IETF RFC第10版对HTTP消息进行签名
- 使用HMAC对消息进行签名和验证
- 使用RSA私钥/公钥对消息进行签名和验证
- 添加
Digest
头部,或者在签名时自动添加头部 - 在验证签名时验证
Digest
头部
本库的完整文档可在Read The Docs找到
简单用法
将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);
贡献
欢迎提交拉取请求,如果遇到任何问题,也欢迎提交问题报告。
注意:由于参考实现的对composer依赖,在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国际(CC BY-SA 4.0)许可。
详细信息请参阅LICENSE文件