briedis Posted December 2, 2009 Report Share Posted December 2, 2009 (edited) Parakstīt datus izdodas, bet nevaru pārbaudīt, vai saņemtie dati atbilst parakstam :( tātad, izpildot komandu: shell_exec('openssl dgst -sha1 -verify '.escapeshellarg(CERT_LOCATION).' -signature ' . escapeshellarg($filename2) . ' ' . escapeshellarg($filename1)); ..tiek atgriezta vērtība NULL Ieliekot pāris slešus (īsti nezinu kāda ir viņu nozīmē, laikam jaunu rindiņu apzīmē vai ko...)... $return = shell_exec('openssl dgst -sha1 \ -verify '.escapeshellarg(CERT_LOCATION).' \ -signature ' . escapeshellarg($filename2) . ' \ ' . escapeshellarg($filename1)); Tiek atgriezts: SHA1(cert.pem)= b1af7b3659fd8305ec35cd626ef65cd694dd6e8d SHA1(C:\Users\[..]\AppData\Local\Temp\ED81.tmp)= 0a82e3c5b8c94d961266779f6d023ca630f4dd61 SHA1(C:\Users\[..]\AppData\Local\Temp\ED80.tmp)= ee9756cc73115ebb84554b8dc74f4287f3467f1e ..bet ne smakas no "Verified OK" :( (visi faili atrodas vajadzīgajās vietās) Nesaprotu, kas par štellēm, komdanda itkā taču pareiza... Heeelp! Edited December 2, 2009 by briedis Quote Link to comment Share on other sites More sharing options...
briedis Posted December 3, 2009 Author Report Share Posted December 3, 2009 (edited) Nolamājos ar to shell_exec un atradu alternatīvu - openssl funkcijas... strādā kā smērēts: $pubkeyid = openssl_get_publickey(file_get_contents(CERT_LOCATION)); $return = openssl_verify($data, $signature, $pubkeyid); ..bet tāpat, kāds zin risinājumu pirmajai problēmai? Edited December 3, 2009 by briedis Quote Link to comment Share on other sites More sharing options...
Klez Posted December 3, 2009 Report Share Posted December 3, 2009 (edited) shell_exec('openssl dgst -sha1 -verify '.escapeshellarg(CERT_LOCATION).' -signature ' . escapeshellarg($filename2) . ' ' . escapeshellarg($filename1)); //aizvietojam ar $komanda = 'openssl dgst -sha1 -verify '.escapeshellarg(CERT_LOCATION).' -signature ' . escapeshellarg($filename2) . ' ' . escapeshellarg($filename1); //shell_exec($komanda); echo $komanda; un peec tam to ko izvada no $komanda, palaižam konsolē p.s a iebūvētās fcijas nedarbosies labāk kā shell_exec ? Edited December 3, 2009 by Klez Quote Link to comment Share on other sites More sharing options...
briedis Posted December 3, 2009 Author Report Share Posted December 3, 2009 (edited) Komandas saturs: openssl dgst -sha1 -verify "[relatīvs ceļš uz .pem]" -signature "C:\Users\[..]\AppData\Local\Temp\han829B.tmp" "C:\Users\[..]\AppData\Local\Temp\han829A.tmp" Atverot konsolē, un pielabojot relatīvu ceļu uz pilno izmet kļūdu: Error opening key file [ceļš uz .pem] 5680:error:02001003:system library:fopen:No such process:.\crypto\bio\bss_file.c :356:fopen('[ceļš uz .pem]','rb') 5680:error:20074002:BIO routines:FILE_CTRL:system lib:.\crypto\bio\bss_file.c:35 8: unable to load key file error in dgst ..bet es nezinu kā ir uz unix production servera (slinkus eksperimentēt, jo jau esmu strādājošo variantu palaidis), man ir win sistēma... bet nu whatever, nebūs jālieto bīstamā funkcija shell_exec... (uz production sisadmins nelabprāt man viņu pieslēdza, bet nu jau atkal var rubīt nost ;) ) Edited December 3, 2009 by briedis Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.