note 85870 added to function.openssl-sign

From: Date: Mon, 22 Sep 2008 11:40:23 +0000
Subject: note 85870 added to function.openssl-sign
Groups: php.notes 
Request: Send a blank email to php-notes+get-144602@lists.php.net to get a copy of this message
i create private key with $configargs = array( "digest_alg" => "sha1", "private_key_bits" => 1024, "private_key_type" => OPENSSL_KEYTYPE_DSA, "encrypt_key" => false ); But I can not get signature by openssl_sign($data, $signature, $key). Then I use openssl in shell #openssl dgst -dss1 -sign id_dsa foo.sha1 > sigfile.bin openssl create a signature file : sigfile.bin #openssl dgst -dss1 -verify id_dsa.pub -signature sigfile.bin foo.sha1 openssl print: "Verified OK" It looks something bug of PHP function openssl_sign() My PHP Version: 5.2.6 demo code: <?php $data = "sfsdfsdfs"; // First we need to have a string containing the private key in PEM format // this file comes with OpenSSL 0.9.6 $fp = fopen("/home/id_dsa", "r"); $pkey = fread($fp, 8192); fclose($fp); // get private key from the PEM format // $key is an encr key resource id if success, else false $key = openssl_get_privatekey($pkey); // calculate signature openssl_sign($data, $signature, $key); openssl_free_key($key); // recipient verifies signature // read certificate $fp = fopen("/home/id_dsa.pub", "r"); $cert = fread($fp, 8192); fclose($fp); // Get public key from the certificate $pubkey = openssl_get_publickey($cert); // state whether signature is okay or not echo openssl_verify($data, $signature, $pubkey) == 1 ? "ok\n" : "bad\n"; // free key openssl_free_key($pubkey); ?> ---- Server IP: 210.51.44.91 Probable Submitter: 60.176.215.152 ---- Manual Page -- http://www.php.net/manual/en/function.openssl-sign.php Edit -- https://master.php.net/note/edit/85870 Del: integrated -- https://master.php.net/note/delete/85870/integrated Del: useless -- https://master.php.net/note/delete/85870/useless Del: bad code -- https://master.php.net/note/delete/85870/bad+code Del: spam -- https://master.php.net/note/delete/85870/spam Del: non-english -- https://master.php.net/note/delete/85870/non-english Del: in docs -- https://master.php.net/note/delete/85870/in+docs Del: other reasons-- https://master.php.net/note/delete/85870 Reject -- https://master.php.net/note/reject/85870 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#144602) next »