Sveiki,
Mēģinu pievienot savai lapai swedbank banklink apmakas veidu un līdz šim esmu ticis galā ar sertifikātiem un paraksta ģenerēšanu.
Pašlaik var veikt maksājumus, bet nevaru nekādīgi verificēt saņemto parakstu no bankas.
Pašreiz izmantoju šādu kodu paraksta verifikācijai:
$fp = fopen($public_keyfile, "r");
$cert = fread($fp, 8192);
fclose($fp);
$ok = openssl_verify($data, base64_decode($VK_MAC), $cert);
if(!empty(openssl_error_string())){
while ($msg = openssl_error_string()){
echo $msg . "<br />";
}
}
if ($ok == 1) {
echo "good";
} elseif ($ok == 0) {
echo "bad";
} else {
echo "ugly, error checking signature";
}
openssl_free_key($cert);
Izmantojot šo snipetu openssl ģenerē 2 kļūdas:
error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
error:04067072:rsa routines:RSA_EAY_PUBLIC_DECRYPT:padding check failed
Vai kāds varētu padalīties ar pieredzi verificējot bankas parakstu?
Iespējams kāds zina kas tie par erroriem. Mēģināju errorus ie-google't, bet konkrētu informāciju nevarēju atrast.
Bankas palīdzības dienests saka, kad esot iespējama problēma ar kodējumu, bet es jau izmēģināju visādus trikus lai UTF-8 uzliktu un errori tie paši.