# openssl_sign

(PHP 4 >= 4.0.4, PHP 5)

openssl_sign — Generate signature

### Description

bool openssl_sign ( string `$data` , string `&$signature` , mixed `$priv_key_id` [, int `$signature_alg` ] )

openssl_sign() computes a signature for the specified `data` by using SHA1 for hashing followed by encryption using the private key associated with `priv_key_id` . Note that the data itself is not encrypted.

### Parameters

`data`

`signature`

  If the call was successful the signature is returned in `signature` .

`priv_key_id`

`signature_alg`

  Defaults to `OPENSSL_ALGO_SHA1`. For more information see the list of Signature Algorithms.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### ChangeLog

Version | Description
--- | ---
5.0.0 | The `signature_alg` parameter was added.

### Examples

Example#1 openssl_sign() example

`<?php
// $data is assumed to contain the data to be signed
// fetch private key from file and ready it
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// compute signature
openssl_sign($data, $signature, $pkeyid);
// free the key from memory
openssl_free_key($pkeyid);
?>`

### See Also

- openssl_verify()