EBICS响应HPB:使用PHP解密

时间:2017-01-15 17:14:12

标签: php encryption php-openssl

我试图解密银行对HBP请求的响应,但直到现在还没有成功。

根据规范,它存在一个非对称加密的事务密钥。 OrderData,它是压缩,加密和base64编码的。

我可以使用以下代码解密orderdate,但之后我在压缩过程中遇到错误。

openssl_open(base64_decode($orderdata), $open, base64_decode($trxkey), $pkeyid) or die(openssl_error_string());

有人能给我一个提示吗?

由于

1 个答案:

答案 0 :(得分:0)

我使用这个库 https://github.com/andrew-svirin/ebics-client-php 来获取 HPB 数据 附代码:

use AndrewSvirin\Ebics\Services\KeyRingManager;
use AndrewSvirin\Ebics\Models\Bank;
use AndrewSvirin\Ebics\Models\User;
use AndrewSvirin\Ebics\EbicsClient;

// Prepare `workspace` dir in the __PATH_TO_WORKSPACES_DIR__ manually.
$keyRingRealPath = __PATH_TO_WORKSPACES_DIR__ . '/workspace/keyring.json';
// Use __IS_CERTIFIED__ true for French banks, otherwise use false.
$keyRingManager = new KeyRingManager($keyRingRealPath, __PASSWORD__);
$keyRing = $keyRingManager->loadKeyRing();
$bank = new Bank(__HOST_ID__, __HOST_URL__);
$bank->setIsCertified(__IS_CERTIFIED__);
$user = new User(__PARTNER_ID__, __USER_ID__);
$client = new EbicsClient($bank, $user, $keyRing)
$hpb = $client->HPB();