ccue2003 Posted November 9, 2013 at 06:06 AM Report #532617 Posted November 9, 2013 at 06:06 AM Bom dia Embora já existe um forum com duvidas sobre o saft, a ideia deste forum é resumos, ou seja, apresentar já o codigo final que funcione: Assim o meu contributo: » Para quem pode executar no servidor linhas de comando # criacao do ficheiro formato - sha1 $comando="openssl dgst -sha1 -sign " . $hash_privada . " -out " . $ficheiro_assinado . " " . $ficheiro_temp; exec($comando); # criacao do ficheiro formato - base 64 $comando="openssl enc -base64 -in " . $ficheiro_assinado . " -out " . $ficheiro_encriptado . " -A"; exec($comando); Cumprimentos
ccue2003 Posted November 12, 2013 at 12:52 PM Author Report #532920 Posted November 12, 2013 at 12:52 PM Boa tarde E já que finalmente consegui » Para quem não pode executar no servidor linhas de comando # PHP - Script $fp=fopen($hash_privada,"r"); $priv_key=fread($fp,filesize($hash_privada)); fclose($fp); $pkeyid = openssl_get_privatekey($priv_key); openssl_sign($assinar,$signature,$pkeyid,"sha1"); return base64_encode($signature); Agradeço a especial atenção que o colega Pepe71 teve e que ajudou, ás vezes temos que ir novamente ao inicio para avançar. Cumprimentos
Ricardo Augusto Posted December 2, 2013 at 03:56 PM Report #536034 Posted December 2, 2013 at 03:56 PM E obtens o mesmo resultado que na shell? Isto é, o problema que estou a ter é que o hash (com as mesmas keys e os mesmos dados claro) feita pela shell com o openssl directo obtenho uma coisa, quando o faço pelo php: function set_signature($keycert,$data) { $privkey = file_get_contents($keycert); openssl_sign($data, $crypted, $privkey,OPENSSL_ALGO_SHA1); return base64_encode($crypted); } obtenho outra...
Ricardo Augusto Posted December 2, 2013 at 04:09 PM Report #536040 Posted December 2, 2013 at 04:09 PM Erro meu, o ficheiro de teste tinha um \n\r que nao estava a ser replicado no PHP! Está tudo ok.
resmunga Posted December 10, 2013 at 07:58 PM Report #537223 Posted December 10, 2013 at 07:58 PM atenção que não é suposto assinar uma string que termine em \n\r
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now