openssl_seal
openssl_verify
OpenSSL Functions
PHP Manual

# openssl_sign

Generate signature

### Description

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

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`

  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