Zdravím ve spolek.
Implementuji EET na starou verzi PHP a narazil jsem problém. Potřebuji použít PHP funkci openssl_sign se čtvrtým parametrem OPENSSL_ALGO_SHA256, což ale PHP ve verzi 5.2.17 nezná.
Existuje nějaký způsob jak to vyřešit?
Děkuji.
Zdravím ve spolek.
Implementuji EET na starou verzi PHP a narazil jsem problém. Potřebuji použít PHP funkci openssl_sign se čtvrtým parametrem OPENSSL_ALGO_SHA256, což ale PHP ve verzi 5.2.17 nezná.
Existuje nějaký způsob jak to vyřešit?
Děkuji.
http://stackoverflow.com/a/11117338
function my_openssl_sign($data, &$signature, $priv_key_id, $signature_alg = 'sha256WithRSAEncryption') {
$pinfo = openssl_pkey_get_details($priv_key_id);
$hash = hash('sha256', $data);
$t = '3031300d060960864801650304020105000420'; # sha256
$t .= $hash;
$pslen = $pinfo['bits']/8 - (strlen($t)/2 + 3);
$eb = '0001' . str_repeat('FF', $pslen) . '00' . $t;
$eb = pack('H*', $eb);
return openssl_private_encrypt($eb, $signature, $priv_key_id, OPENSSL_NO_PADDING);
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku