webplace / eusphpelib
2.0.1
2024-06-11 14:10 UTC
Requires
- php: ^7.4|^8.0
This package is not auto-updated.
Last update: 2024-10-01 12:39:38 UTC
README
该库为乌克兰 EDS 提供解密、签名方法。
安装
composer require webplace/eusphpelib
要求
您需要下载并安装 PHP 扩展 EUSPHPE。安装手册位于
- 根目录
- EUSPHPE
- EUSignPHPDescription.doc
- EUSPHPE
PHP-FPM (PHP v. 8.0) 简明手册
- 创建一个目录 - /usr/lib/php/8.0/eusphpe_extension
- 将下载的存档解压到 /usr/lib/php/8.0/eusphpe_extension 目录 | 仅选择所需文件 (archive/Modules/Linux/64/eusphpei.64.8.0.3.tar)
- 向 /usr/lib/systemd/system/php8.0-fpm.service 添加以下代码行 \
export LD_LIBRARY_PATH=/usr/lib/php/8.0/eusphpe_extension - 创建一个新文件 /etc/php/8.0/fpm/conf.d/eusphpe.ini,向此文件添加 \
extension=/usr/lib/php/8.0/eusphpe_extension/eusphpe.so - 创建一个新的证书目录(例如 /var/certificates)
- 打开
/usr/lib/php/8.0/eusphpe_extension/osplm.ini并编辑 Path 参数(例如 /var/certificates (上一步骤中的目录))。 - 将您的证书上传到 /var/certificates
- 重启 FPM
service php8.0-fpm restart
用法
<?php
use Webplace\EusphpeLib\MessageDecrypting;
use Webplace\EusphpeLib\AsicSigning;
$messageDecrypting = new MessageDecrypting('Key-6.dat', 'Password');
return $messageDecrypting->decryptToString('EncryptedData', 'Cert');
return $messageDecrypting->decrypt('EncryptedData', 'Cert')->toString();
return $messageDecrypting->decrypt('EncryptedData', 'Cert')
->withVerify()
->verify()
->toString();
$asicSigning = new AsicSigning('Key-6.dat', 'Password');
return $asicSigning->signToString('Data to sign', 'SignedData.txt');
return $asicSigning->sign('Data to sign', 'SignedData.txt')->toString();
echo $asicSigning->sign('Data to sign', 'SignedData.txt')
->withVerify()
->verify()
->toString();
return $asicSigning->getDriver()->toString();
版本控制
遵循 语义版本控制指南 维护。
参考
- 密钥证书授权用户。签名库 https://iit.com.ua
- 示例 https://github.com/andrew-svirin/eusphpe-php