Je coince sur la génération de lien, plus exactement sur la signature. Le résultat pour un lien déjà connu ne me donne pas la même signature… alors que le code pour vérifier la signature des liens existants marche bien maintenant.
Le code qui ne me retourne pas la bonne valeur :
function _l_gen($dat, $typ, $src, $dst, $met) { global $nebule_publ_entite, $nebule_priv_entite, $nebule_pass_entite; if ($nebule_publ_entite == '') return(false); if ($nebule_priv_entite == '') return(false); if ($nebule_pass_entite == '') return(false); if (! file_exists("o/$nebule_priv_entite")) return(false); if ($typ == '') return(false); if ($src == '') return(false); if ($dst == '') return(false); if ($met == '') return(false); if ($dat == '-') $dat = date(DATE_ATOM); $privcert=(nebReadObjText($nebule_priv_entite,10000)); $private_key=openssl_pkey_get_private($privcert, $nebule_pass_entite); if ($private_key === false) { return(false); } $data='_'.$nebule_publ_entite.'_'.$dat.'_'.$typ.'_'.$src.'_'.$dst.'_'.$met; $hexsign=''; $binary_signature=''; $hashdata=hash("sha256", $data); $binhash = pack("H*", $hashdata); $ok=openssl_private_encrypt($binhash, $binary_signature, $private_key, OPENSSL_PKCS1_PADDING); unset($private_key); unset($hashdata); unset($binhash); if ($ok === false) return(false); $hexsign = bin2hex($binary_signature); return("$hexsign.sha256$data"); }