absolut-ticket/http-signatures-php

使用HMAC和RSA密钥对PSR-7 HTTP消息进行签名和验证

11.0.1 2020-04-30 09:10 UTC

README

Build Status Documentation Status

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文件