webplace/eusphpelib

eusphpe 库

2.0.1 2024-06-11 14:10 UTC

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

PHP-FPM (PHP v. 8.0) 简明手册

  1. 创建一个目录 - /usr/lib/php/8.0/eusphpe_extension
  2. 将下载的存档解压到 /usr/lib/php/8.0/eusphpe_extension 目录 | 仅选择所需文件 (archive/Modules/Linux/64/eusphpei.64.8.0.3.tar)
  3. /usr/lib/systemd/system/php8.0-fpm.service 添加以下代码行 \ export LD_LIBRARY_PATH=/usr/lib/php/8.0/eusphpe_extension
  4. 创建一个新文件 /etc/php/8.0/fpm/conf.d/eusphpe.ini,向此文件添加 \ extension=/usr/lib/php/8.0/eusphpe_extension/eusphpe.so
  5. 创建一个新的证书目录(例如 /var/certificates
  6. 打开 /usr/lib/php/8.0/eusphpe_extension/osplm.ini 并编辑 Path 参数(例如 /var/certificates (上一步骤中的目录))。
  7. 将您的证书上传到 /var/certificates
  8. 重启 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();

版本控制

遵循 语义版本控制指南 维护。

参考

⬆ 返回顶部