Sveiki,
esmu mazliet iestrēdzis ar Norvik bankas banklinku. Itkā vis ir sataisīts, bet brēc ka signature ir nepareiza.
Lūk bankas atsūtītais "manuālis":
Digital signature MAC is XML data hash value, encrypted with sender’s private key.
For hash value calculations SHA-1 algorithm is used, but for signature calculation RSA algorithm is used. Digital signature transforms to textual format using BASE64 encoding and is placed to MAC field.
Mans kods:
private function setPrivateKey ( $key_name ) {
$fp = fopen( $this -> getKeyLocation() . '/' . $key_name, "r" );
$priv_key = fread( $fp, 8192 );
fclose( $fp );
$this -> private_key = openssl_get_privatekey( $priv_key );
}
private function setSignature () {
$pre_mac = sha1( $this -> getXMLData() );
openssl_sign( $pre_mac, $signature, $this -> getPrivateKey() );
$this -> signature = $signature;
}
private function setMac () {
$this -> mac = base64_encode( $this -> getSignature() );
}
Vai es kautko ne tā taisu? Itkā jau viss pēc manuāļa, bet signature šamajiem nepatīk. Ar citām bankām šādu problēmu nav, vis strādā normāli.
Ja kāds ir taisījis Norvik bankai tieši, varētu padalīties ar pieredzi.
Paldies jau iepriekš.