Я хочу зашифровать полезную нагрузку, используя библиотеку pear / crypt_gpg, и когда я отправляю запрос с этой полезной нагрузкой, используя мою встроенную функцию и другую библиотеку, которая использует библиотеку pear, я получаю эти ошибки: «Не удалось найти homedir. Пожалуйста, укажитеhomedir для использования с опцией 'homedir' при создании экземпляра объекта Crypt_GPG. "Что мне нужно сделать, чтобы исправить эти ошибки.
Я очень плохо знаком с этой библиотекой gpg encryption / pear и не написал другую библиотеку, которую использую сам.
вот код из библиотеки, реализующей crypt gpg.
<?php
namespace Zaghadon\CoralpayPGPLaravel;
/**
* Created by osemeodigie on 14/03/2019
* Objective: building to scale
*
* Version 1.1.0
*/
//use Crypt_GPG;
require '../vendor/autoload.php';
use Crypt_GPG;
class CoralPayPGPEncryption extends Crypt_GPG
{
const VERSION = array(0, 3, 0);
/**
* Used to encrypt the response message from Cgate.
*
* @return $output - of the encryption
*/
public function encryptRequest($plainRequest, $keyId) {
// add the valid public key
$this->addEncryptKey($keyId);
$encryptedRequest = $this->encrypt($plainRequest, false); // encrypt the message here
// remove the message block labels (strip armored header and footer labels)
// $unArmoredEncryptedMessage = $this->strip_armor($encryptedRequest, 'PGP MESSAGE');
// convert the binary message to hex
$encryptedBinMessageToHex = bin2hex($encryptedRequest);
return $encryptedBinMessageToHex; // return the hex of the encrypted message
}
, а вот мой метод вызова библиотеки
use Psr\Http\Message\ResponseInterface;
use GuzzleHttp\Exception\RequestException;
use Zaghadon\CoralpayPGPLaravel\CoralPayPGPEncryption;
class POSController extends Controller
{
private $gpg;
public function requestEncrypt($data)
{
$options_array = array();
$this->gpg = new CoralPayPGPEncryption($options_array);
$keyId ='UHSUHDFGASHDHBASDJGHAHSGDHASXXXXXXXXXXXHHSDHFGSJJDFSFHHDFHBV
JDFSJKHFSHGKJDFHSGKJGHKDFJKGHSDJFG
DFSGHHHHHJKKHJDSF'
$encryptedData = $this->gpg->encryptRequest($data, $keyId);
return $encryptedData;
}
и мое использование метода requestEncrpt ()
$data = json_encode($array);
$payload = POSController::requestEncrypt($data);
dd($payload);
Я ожидаю, что вывод полезной нагрузки dd () будет шестнадцатеричным значением gpg encyrption моего объекта данных json, но он показывает: «Не удалось найти homedir. Укажите homedir для использования сопция 'homedir' при создании экземпляра объекта Crypt_GPG. "ошибки. Пожалуйста, помогите мне, я делаю что-то неправильно ??? как я могу решить эту проблему ???