我试图解密银行对HBP请求的响应,但直到现在还没有成功。
根据规范,它存在一个非对称加密的事务密钥。 OrderData,它是压缩,加密和base64编码的。
我可以使用以下代码解密orderdate,但之后我在压缩过程中遇到错误。
openssl_open(base64_decode($orderdata), $open, base64_decode($trxkey), $pkeyid) or die(openssl_error_string());
有人能给我一个提示吗?
由于
答案 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();