Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

openssl_sign(3) [php man page]

OPENSSL_SIGN(3) 							 1							   OPENSSL_SIGN(3)

openssl_sign - Generate signature

SYNOPSIS
bool openssl_sign (string $data, string &$signature, mixed $priv_key_id, [mixed $signature_alg = OPENSSL_ALGO_SHA1]) DESCRIPTION
openssl_sign(3) computes a signature for the specified $data by generating a cryptographic digital signature using the private key associ- ated with $priv_key_id. Note that the data itself is not encrypted. PARAMETERS
o $data - The string of data you wish to sign o $signature - If the call was successful the signature is returned in $signature. o $priv_key_id - resource - a key, returned by openssl_get_privatekey(3) string - a PEM formatted key o $signature_alg - int - one of these Signature Algorithms. string - a valid string returned by openssl_get_md_methods(3) example, "sha256WithRSAEncryption" or "sha384". RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 openssl_sign(3) example <?php // $data is assumed to contain the data to be signed // fetch private key from file and ready it $pkeyid = openssl_pkey_get_private("file://src/openssl-0.9.6/demos/sign/key.pem"); // compute signature openssl_sign($data, $signature, $pkeyid); // free the key from memory openssl_free_key($pkeyid); ?> Example #2 openssl_sign(3) example <?php //data you want to sign $data = 'my data'; //create new private and public key $new_key_pair = openssl_pkey_new(array( "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, )); openssl_pkey_export($new_key_pair, $private_key_pem); $details = openssl_pkey_get_details($new_key_pair); $public_key_pem = $details['key']; //create signature openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256); //save for later file_put_contents('private_key.pem', $private_key_pem); file_put_contents('public_key.pem', $public_key_pem); file_put_contents('signature.dat', $signature); //verify signature $r = openssl_verify($data, $signature, $public_key_pem, "sha256WithRSAEncryption"); var_dump($r); ?> SEE ALSO
openssl_verify(3). PHP Documentation Group OPENSSL_SIGN(3)

Check Out this Related Man Page

Tspi_Hash_VerifySignature(3)				     Library Functions Manual				      Tspi_Hash_VerifySignature(3)

						     TCG Software Stack Developer's Reference

NAME
Tspi_Hash_VerifySignature - verify the hash value with a given signature SYNOPSIS
#include <tss/platform.h> #include <tss/tcpa_defines.h> #include <tss/tcpa_typedef.h> #include <tss/tcpa_struct.h> #include <tss/tss_typedef.h> #include <tss/tss_structs.h> #include <tss/tspi.h> TSS_RESULT Tspi_Hash_VerifySignature(TSS_HHASH hHash, TSS_HKEY hKey, UINT32 ulSignatureLength, BYTE* rgbSignature); DESCRIPTION
Tspi_Hash_VerifySignature verifies the hash value of a given hash object with a given signature. In order to use this command, one must have a hash and a signature of the hash that one is trying to verify. The public key which corresponds to the private key used to sign the hash is also needed. PARAMETERS
hHash The handle to the hash object instance whose hash value should be signed. hKey Handle to the key object which should be used for the signature verification. ulSignatureLength The length of the signature data provided at the parameter rgbSignature. rgbSignature A pointer to the signature data. RETURN CODES
Tspi_Hash_VerifySignature returns TSS_SUCCESS on success, otherwise one of the following values is returned: TSS_E_INVALID_HANDLE hKey is not a valid handle. TSS_E_INTERNAL_ERROR An internal SW error has been detected. TSS_E_BAD_PARAMETER One or more parameters is bad. TSS_E_HASH_INVALID_LENGTH Hash length is inconsistent with hash algorithm. TSS_E_HASH_NO_DATA Hash object has no internal hash value. TSS_E_INVALID_SIGSCHEME Invalid signature scheme. CONFORMING TO
Tspi_Hash_VerifySignature conforms to the Trusted Computing Group Software Specification version 1.1 Golden SEE ALSO
Tspi_Hash_UpdateHash(3), Tspi_Hash_SetHashValue(3), Tspi_Hash_Sign(3), Tspi_Hash_GetHashValue(3). TSS 1.1 2004-05-25 Tspi_Hash_VerifySignature(3)
Man Page